q1208c 回复于:2004-12-31 14:08:44 |
vi /etc/sysconfig/network-scripts/ifcfg-eth1 改 BOOTPROTO=dhcp 为 static |
一起走过的日子 回复于:2004-12-31 14:16:21 |
现在第二块网卡没接网线,第一块网卡有接网线 [code:1:f0ce62fb19][root@mywife root]# ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmp_seq=1 ttl=128 time=0.722 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=128 time=0.464 ms 64 bytes from 192.168.0.1: icmp_seq=3 ttl=128 time=0.440 ms 64 bytes from 192.168.0.1: icmp_seq=4 ttl=128 time=0.490 ms 64 bytes from 192.168.0.1: icmp_seq=5 ttl=128 time=0.463 ms --- 192.168.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4033ms rtt min/avg/max/mdev = 0.440/0.515/0.722/0.108 ms [root@mywife root]# ping 218.104.224.106 PING 218.104.224.106 (218.104.224.106) 56(84) bytes of data. From 192.168.14.90 icmp_seq=2 Destination Host Unreachable From 192.168.14.90 icmp_seq=5 Destination Host Unreachable --- 218.104.224.106 ping statistics --- 5 packets transmitted, 0 received, +2 errors, 100% packet loss, time 4057ms [/code:1:f0ce62fb19] |
一起走过的日子 回复于:2004-12-31 14:19:11 |
[quote:c26f45ca56="q1208c"]vi /etc/sysconfig/network-scripts/ifcfg-eth1 改 BOOTPROTO=dhcp 为 static[/quote:c26f45ca56] vi ifcfg-eth1 将ONBOOT=yes改为no后正常 |
q1208c 回复于:2004-12-31 14:21:02 |
[quote:e737505f6c="一起走过的日子"] vi ifcfg-eth1 将ONBOOT=yes改为no后正常[/quote:e737505f6c] 你这样是改成启动时不启动 这个网卡. 和用不用DHCP没关系 :em03: |
一起走过的日子 回复于:2004-12-31 14:24:22 |
[quote:74d6ab0c83="q1208c"]vi /etc/sysconfig/network-scripts/ifcfg-eth1 改 BOOTPROTO=dhcp 为 static[/quote:74d6ab0c83] 我在192.168.0.159上ping 218.104.224.106 为何From 192.168.14.90 icmp_seq=2 Destination Host Unreachable |
一起走过的日子 回复于:2004-12-31 14:26:05 |
[quote:fac0594fd0="q1208c"] 你这样是改成启动时不启动 这个网卡. 和用不用DHCP没关系 :em03:[/quote:fac0594fd0] 嗯 题目有出入 但如果不启动该网卡就正常了 启动它后ping外网就不通了~~~ |
q1208c 回复于:2004-12-31 14:26:29 |
因为你只有一个 default gateway , 如果 routing table 里没有的东东, 就送到 default gateway, 如果那也没有, 就回给你那个了. |
一起走过的日子 回复于:2004-12-31 14:38:20 |
[quote:ec85326e07="q1208c"]因为你只有一个 default gateway , 如果 routing table 里没有的东东, 就送到 default gateway, 如果那也没有, 就回给你那个了.[/quote:ec85326e07] 但是192.168.0.1就是网关啊 它就可以连到外网的啊~~~ 这样如何会回到那块网卡呢? |
q1208c 回复于:2004-12-31 14:42:21 |
把第二块卡的 gateway 去掉试试. |
wingger 回复于:2004-12-31 14:48:30 |
ifconfig看看网卡的设置 ping 218.104.224.106 这个是福建网通的IP,我记得是不让PING的 |
一起走过的日子 回复于:2004-12-31 14:50:04 |
[quote:3c933fc8ed="q1208c"]把第二块卡的 gateway 去掉试试.[/quote:3c933fc8ed] [code:1:3c933fc8ed][root@mywife root]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.50.0 * 255.255.255.0 U 0 0 0 eth3 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 192.168.14.0 * 255.255.255.0 U 0 0 0 eth2 169.254.0.0 * 255.255.0.0 U 0 0 0 eth3 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 192.168.14.1 0.0.0.0 UG 0 0 0 eth2 [root@mywife root]# [root@mywife root]# ping 218.104.224.106 PING 218.104.224.106 (218.104.224.106) 56(84) bytes of data. From 192.168.14.90 icmp_seq=1 Destination Host Unreachable From 192.168.14.90 icmp_seq=2 Destination Host Unreachable From 192.168.14.90 icmp_seq=3 Destination Host Unreachable --- 218.104.224.106 ping statistics --- 6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5028ms , pipe 3 [root@mywife root]#[/code:1:3c933fc8ed] |
一起走过的日子 回复于:2004-12-31 14:51:57 |
[quote:281d83eb37="wingger"]ifconfig看看网卡的设置 ping 218.104.224.106 这个是福建网通的IP,我记得是不让PING的[/quote:281d83eb37] 我天天ping :em11: |
q1208c 回复于:2004-12-31 14:55:28 |
[quote:d3f7aefc5f="一起走过的日子"][/quote:d3f7aefc5f] 你的 gateway 指向了 那个 14 的, 当然是出不去了吧. 改成 0 网段就行了吧? |
一起走过的日子 回复于:2004-12-31 15:03:36 |
[quote:6b3ae97c27="q1208c"]把第二块卡的 gateway 去掉试试.[/quote:6b3ae97c27] 但我也设了第一块网卡的gateway啊~~~ |
wingger 回复于:2004-12-31 15:03:51 |
default 192.168.14.1 0.0.0.0 UG 0 0 0 eth2 网关不对啊 |
一起走过的日子 回复于:2004-12-31 15:06:11 |
[quote:957d755fc2="q1208c"] 你的 gateway 指向了 那个 14 的, 当然是出不去了吧. 改成 0 网段就行了吧?[/quote:957d755fc2] 嗯~~~加了网关才好了~~~ [code:1:957d755fc2][root@mywife root]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.50.0 * 255.255.255.0 U 0 0 0 eth3 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth3 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 default 192.168.14.1 0.0.0.0 UG 0 0 0 eth2 [root@mywife root]#[/code:1:957d755fc2] 问题是: default 192.168.14.1 0.0.0.0 UG 0 0 0 eth2 为何总是出现它~~~ |
一起走过的日子 回复于:2004-12-31 15:11:09 |
[code:1:859d5dabac][root@mywife root]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.50.0 * 255.255.255.0 U 0 0 0 eth3 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth3 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 default 192.168.14.1 0.0.0.0 UG 0 0 0 eth2 [root@mywife root]# route del default gw 192.168.14.1 [root@mywife root]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.50.0 * 255.255.255.0 U 0 0 0 eth3 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth3 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 [root@mywife root]#[/code:1:859d5dabac] 现在成功了~~~ |
一起走过的日子 回复于:2004-12-31 15:13:40 |
谢谢各位先 ^_^ |
一起走过的日子 回复于:2004-12-31 16:35:42 |
第一块网卡:192.168.0.159,网线连结 第二块网卡:192.168.14.159,无网线连结 但是第二块网卡的默认网关(192.168.14.1,不能连到外网)总比第一块网卡(192.168.0.1,可以连到外网)的默认网关优先 导致PING不到外网~~~ 是硬件问题吗 :em14: |
一起走过的日子 回复于:2004-12-31 16:58:28 |
有什么方法设置不同网卡的优先级吗? |
一起走过的日子 回复于:2005-01-04 13:49:12 |
会不会与网卡的MAC有关吗? 因为那后面几个网卡的MAC地址数值都比第一块网卡小 :em14: |
q1208c 回复于:2005-01-04 13:54:42 |
gateway, 如果不是指定顺序, 好象是后加上的先用. 因为 dhcp 的那块卡的 gateway 是比 static 那块晚得到的, 所以它可能会何优先的. 楼主可以试试把两块网卡的 IP 换一下, 就知道会不会是 MAC 的原因了. |
foole 回复于:2005-01-04 16:20:34 |
vi /etc/sysconfig/network 将这里的gateway设成192.168.0.1 再重起就不会有问题了 不信可以service network restart看 这是因为你是用工具设置网卡的 先设第一块网卡 ip、掩码、网关 这时/etc/sysconfig/network里的网关是第一块网卡的网关 但你再设第二块网卡的ip、炎码、网关 设完后/etc/sysconfig/network里的网关就成了第二快网卡的网关了 其实这很简单 /etc/sysconfig/network里存的有确省网关 而ifcfg-eth0和ifcfg-eth1中的gateway其实并没有什么用 结论 少用工具 直接改配置文件 你如真要针对网络借口设定网关 redhat 9下可以在目录 /etc/sysconfig/networking/devices/ 生成类似于eth0.route、eth1.route的文件分别 格式是这样的: ADDRESS0=192.168.0.0 NETMASK0=255.255.0.0 GATEWAY0=192.168.0.1 |
gaiyastone 回复于:2005-01-05 11:53:30 |
我在slarias下遇到过这样的问题,在/etc/defaultrouter下加上第二块网卡的路由就可以拉,不知道这个会不会给你点帮助 |
一起走过的日子 回复于:2005-01-07 09:48:36 |
[quote:048eda7bae="q1208c"]gateway, 如果不是指定顺序, 好象是后加上的先用. 因为 dhcp 的那块卡的 gateway 是比 static 那块晚得到的, 所以它可能会何优先的. 楼主可以试试把两块网卡的 IP 换一下, 就知道会不会是 MAC 的原因了.[/quote:048eda7bae] 现在我把两块网卡都设为静态IP,并互换,问题依旧~~ 因网卡是固定的 所以无法更换网卡 :( |
一起走过的日子 回复于:2005-01-07 09:51:44 |
[quote:clearcase/" target="_blank" >cce78016c6="foole"]vi /etc/sysconfig/network 将这里的gateway设成192.168.0.1 再重起就不会有问题了 不信可以service network restart看 这是因为你是用工具设置网卡的 先设第一块网卡 ip、掩码、网关 这时/etc/sysconfig/net..........[/quote:cce78016c6] 哥们这些早就试过了 谢谢先 同理,如果是最后设置者优先,那我最后再回头重设第一块网卡的IP,问题依旧~~ |
一起走过的日子 回复于:2005-01-07 09:56:57 |
[quote:515e94e442="gaiyastone"]我在slarias下遇到过这样的问题,在/etc/defaultrouter下加上第二块网卡的路由就可以拉,不知道这个会不会给你点帮助[/quote:515e94e442] 据某位牛人说linux 9.0默认从最后那块网卡往前面那块网卡选择默认网关的? 真有此事 :em14: |
北非蚯蚓 回复于:2005-01-07 10:40:16 |
在/etc/sysconfig/network中 GATEWAY=x.x.x.x GATEWAYDEV=ethx |
網中人 回复于:2005-01-07 12:29:26 |
唉... 大家別亂猜了.... 若對 shell script 有認識的話, 來追一下如下這些 script: /etc/init.d/network /etc/sysconfig/network-script/ifup 然後你就就發現 script 是先跑完 ifcfg-eth0 的設定, 然後再跑 ifcfg-eth1 若裡面有 GATEWAY 這個變量值, 則會設定 route table 增加 gateway 項目. 問題在於, 在普通的 linux routing 之下, 只有一筆 default gateway 會被參考. 這點不妨參考: http://www.study-area.org/tips/iproute.htm 除非你有使用進階路由(iproute2), 否則, 設定多個 default gateway 是沒啥意義的. (部份實作可參考: http://www.study-area.org/tips/multipath.htm ) 然而, 前面提到的 script, 由於 ifcfg-eth1 是最後才跑的, 因此, 這筆 default gateway 會被置於前一筆 entry 之上, 也就是樓主為何每次都看到這個 gateway 的原因所在了. 要解決之, 可試如下: 1) 確定 ifcfg-* 這些文件裡只有一筆 GATEWAY 設定, 其餘全刪掉. 或: 2) 確定 ifcfg-* 這些文件裡全部 GATEWAY 設定都刪掉, 改設在 /etc/sysconfig/network 裡. * 注意: 若你用工具幫忙設的話, 其文件路逕不一定在 /etc/sysconfig/network-scripts/ 裡面, 有可能放在 /etc/sysconfig/networking 底下的各子目錄中, 若你不想將自己的腦袋搞得七上八下的, 建議如下: 1) 別在用那些工具來設了吧, 敲幾下鍵盤花的時間比碰到問題再來 troubleshoot 省得多! 2) 將 /etc/sysconfig/networking 各層子目錄的 ifcfg-* 文件全刪掉, 只保留 /etc/sysconfig/network-sciprts 底下的. 最後: 在每一個文件增設: GOODLUCK=true |
零二年的夏天 回复于:2005-01-07 18:38:56 |
不错! 很好的经验分享!:D |
q1208c 回复于:2005-01-07 19:02:04 |
[quote:15081c1846="一起走过的日子"] 现在我把两块网卡都设为静态IP,并互换,问题依旧~~ 因网卡是固定的 所以无法更换网卡 :([/quote:15081c1846] 这次是哪个 gateway 成为默认了呀? 如果是与MAC有关, 那gateway 就应该换过来了. 当然, 有 ethX 中的 X 也是有关的. 如果 gateway 没换回来, 那就有得研究了. |
abc3w 回复于:2005-01-07 22:55:52 |
eth1优先,搞不清原因 |
網中人 回复于:2005-01-08 14:03:06 |
看來還是有人搞不清楚, 好吧, 那我就抓一些 shell script code 來分析一下好了. 在 /etc/init.d/network 的 script 裡, 可找到如下幾行: [code:1:4885219545]cd /etc/sysconfig/network-scripts . network-functions # find all the interfaces besides loopback. # ignore aliases, alternative configurations, and editor backup files interfaces=`ls ifcfg* | LANG=C egrep -v '(ifcfg-lo|:|rpmsave|rpmorig|rpmnew)' | \ LANG=C egrep -v '(~|\.bak)$' | \ LANG=C egrep&nbs'''ifcfg-[A-Za-z0-9\._-]''' | \ sed&nb;'''s/^ifcfg-g'''` [/code:1:4885219545] 由此, 所有在 /etc/sysconfig/network-scripts/ifcfg- 開頭的文件名會全部抓到(排除掉 lo 及其它一些名稱). 且將 ifcfg- 去掉後就是所有界面名稱, 並存進 interfaces 這個變量中. 請註意 eth0 與 eth1 的順序, 肯定是 eth1 在後面. 然後再往下看: [code:1:4885219545] for i in $interfaces; do eval $(LANG=C fgrep "DEVICE=" ifcfg-$i) if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then cipeinterfaces="$cipeinterfaces $DEVICE" continue fi if LANG=C egrep -L "^ONBOOT='''\"]?[Nn][Oo]'''\"]?" ifcfg-$i > /dev/null ; then # this loads the module, to preserve ordering is_available $i continue fi # If e'''re in confirmation mode, get user confirmation [ -n "$CONFIRM" ] && { confirm $i case $? in 0) : ;; 2) CONFIRM= ;; *) continue ;; esac } action $"Bringing up interface $i: " ./ifup $i boot done [/code:1:4885219545] 這是一個 for loop, 將剛定義的 $interface 變量中的介面依次處理. 別忘了剛提到的順序: eth0 在前, eth1 在後. 在 loop 中, 若前面的測試通過後, 最後交给 ifup script 來執行這個界面. 那麼, 讓我們再轉查&nbnbsp;/etc/sysconfig/network-scripts/ifup 看看吧: [code:1:4885219545]cd /etc/sysconfig/network-scripts . network-functions [ -f ../network ] && . ../network [ -f ../networking/network ] && . ../networking/network [/code:1:4885219545] 可得知: 會用 source 執行 network-functions 這 script (其內有個 need_config 函數待會會用到) 還會再 source 進 /etc/sysconfig/network 及另一個 network 若在那邊有定義 GATEWAY= 的話, 此時已被賦值了(請留意這點!) 再下來: [code:1:4885219545]CONFIG=${1} need_config ${CONFIG} [/code:1:4885219545] 然後將剛才 /etc/init.d/network 所傳進的參數1(也就是界面)定義為 CONFIG 變數. 再調用 need_config 函數處理這個界面. 如下為 need_config 的內容: [code:1:4885219545]need_config () { CURRENT_PROFILE=${CURRENT_PROFILE:-default} CURRENT_PROFILE=${CURRENT_PROFILE##*/} CONFIG=../networking/profiles/$CURRENT_PROFILE/ifcfg-${1} [ -f "${CONFIG}" ] && return || CONFIG=../networking/profiles/$CURRENT_PROFILE/${1} [ -f "${CONFIG}" ] && return || CONFIG=../networking/default/ifcfg-${1} [ -f "${CONFIG}" ] && return || CONFIG=../networking/default/${1} [ -f "${CONFIG}" ] && return || CONFIG="ifcfg-${1}" [ -f "${CONG}" ] && return || CONFIG="${1}" } [/code:1:4885219545] 若沒其它設定的話, 則 CONFIG 不變, 否則改為別的設定文件. 再往下看 ifup 到最後: [code:1:4885219545]exec /etc/sysconfig/network-scripts/ifup-post ${CONFIG} ${2}[/code:1:4885219545] 看來, 我們還得再去追一下 ifup-post 這 script 了: [code:1:4885219545]cd /etc/sysconfig/network-scripts . network-functions [ -f ../network ] && . ../network [ -f ../networking/network ] && . ../networking/network CONFIG=$1 source_config [/code:1:4885219545] 哦, 看來還要看一看 network-functions 裡的 source_config 函數了: [code:1:4885219545]source_config () { DEVNAME=`basename $CONFIG | sed&nb;'''s/^ifcfg-g'''` if basename $CONFIG | grep -q&nb;'''[^g -''' ; then PARENTCONFIG=`echo $CONFIG | sed&nb;'''s/-[^-]*$g'''` PARENTDEVNAME=`basename $PARENTCONFIG | sed&nb;'''s/^ifcfg-g'''` [ -f $PARENTCONFIG ] || { echo $"Missing config file $PARENTCONFIG." >&2 exit 1 } . $PARENTCONFIG fi . $CONFIG } [/code:1:4885219545] 呵... 自此, 透過 source $CONFIG, 文件裡的所有變數都取得了. 若裡面有 GATEWAY= 的話, 也會被重新定義. 還記得前面提醒過 /etc/sysconfig/network 裡也會定義嗎? 不過, 這裡會蓋掉舊的, 改用新值. 再看 ipup-post : [code:1:4885219545] /etc/sysconfig/network-scripts/ifup-routes ${DEVICE} ${NAME}[/code:1:4885219545] 嗯... 快了, 應是快看到設定 routing 的部份了! 轉到 ifup-routes 再慢慢看吧! 我就不解說了... 到這裡, /etc/init.d/network 那個 loop 才完成第一次, 接下來再跑下一個界面. 不難看出, 若有 GATEWAY= 變數的話, 還會再加一次的. 這就是為何我前面說: [quote:4885219545]然而, 前面提到的 script, 由於 ifcfg-eth1 是最後才跑的, 因此, 這筆 default gateway 會被置於前一筆 entry 之上, 也就是樓主為何每次都看到這個 gateway 的原因所在了. [/quote:4885219545] 明白了嗎? 然後再重看我回的第一貼吧.... (好累哦~~~) |
eagerlinuxer 回复于:2005-01-08 15:20:49 |
[quote:c33825406d="網中人"] 明白了嗎? 然後再重看我回的第一貼吧.... (好累哦~~~)[/quote:c33825406d] 分析得真是很好,佩服、佩服。 |
一起走过的日子 回复于:2005-01-10 09:37:38 |
[quote:9f70e57b55="q1208c"] 这次是哪个 gateway 成为默认了呀? 如果是与MAC有关, 那gateway 就应该换过来了. 当然, 有 ethX 中的 X 也是有关的. 如果 gateway 没换回来, 那就有得研究了.[/quote:9f70e57b55] 不管你如何设置或修改 如果后面网卡有设置默认网关 则路由表中的gateway一定是最后那块网卡。。。 谢谢网中人的精辟讲解 :em02: |
一起走过的日子 回复于:2005-01-10 10:22:06 |
[code:1:a528255895][root@mywife root]# cd /etc/sysconfig/networking/ [root@mywife networking]# ls devices ifcfg-lo profiles [root@mywife networking]# cat ifcfg-lo DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 # If u'''re having problems with gated making 127.0.0.0/8 a martian, # you can change this to something else (255.255.255.255, for example) BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback [root@mywife networking]# [/code:1:a528255895] [code:1:a528255895][root@mywife sysconfig]# cat network NETWORKING=yes HOSTNAME=mywife GATEWAY=192.168.0.1 [/code:1:a528255895] [code:1:a528255895][root@mywife network-scripts]# cat ifcfg-eth3 DEVICE=eth3 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.14.23 NETMASK=255.255.255.0 [/code:1:a528255895] [code:1:a528255895][root@mywife root]# ping 218.104.224.106 PING 218.104.224.106 (218.104.224.106) 56(84) bytes of data. 64 bytes from 218.104.224.106: icmp_seq=1 ttl=239 time=53.5 ms 64 bytes from 218.104.224.106: icmp_seq=2 ttl=239 time=30.1 ms 64 bytes from 218.104.224.106: icmp_seq=3 ttl=239 time=31.0 ms 64 bytes from 218.104.224.106: icmp_seq=4 ttl=239 time=30.4 ms 64 bytes from 218.104.224.106: icmp_seq=5 ttl=239 time=41.3 ms 64 bytes from 218.104.224.106: icmp_seq=6 ttl=239 time=73.3 ms 64 bytes from 218.104.224.106: icmp_seq=7 ttl=239 time=45.5 ms --- 218.104.224.106 ping statistics --- 7 packets transmitted, 7 received, 0% packet loss, time 6059ms rtt min/avg/max/mdev = 30.147/43.641/73.364/14.676 ms [root@mywife root]# [/code:1:a528255895] 只要不设置后面网卡的网关就可以正常使用~~~ |