我们都知道,若机器上有多个网卡,则会根据/etc/modprobe.conf或/etc/modules.conf文件中的加载顺序决定网络设备号,例如:
引用
# cat /etc/modprobe.conf|grep eth
alias eth0 bnx2
alias eth1 bnx2
alias eth2 tg3
alias eth0 bnx2
alias eth1 bnx2
alias eth2 tg3
但后来我发现,在Asianux 3.0上似乎并不是这样的。可能是由于驱动原因(都是BCM的网卡),或其他原因吧,机器每次启动后连接网线的设备号都会不同。如果您只在一个网卡上接了网线,那可能这次用eth2可以连接,但下次重启后就变成需要用eth1了。没有什么固定的规律。这对服务的稳定性带来很大的影响。
要解决该问题也不难,只要通过网卡的MAC地址,在激活网卡的时候一同绑定就可以了。通过修改配置文件:
引用
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:D0:F8:38:24:2A
inet addr:192.168.228.155 Bcast:192.168.228.255 Mask:255.255.255.0
inet6 addr: fe80::2d0:f8ff:fe38:242a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:36460394 errors:0 dropped:0 overruns:0 frame:0
TX packets:30629434 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2936034100 (2.7 GiB) TX bytes:1956782604 (1.8 GiB)
Interrupt:193 Base address:0x4000
eth0 Link encap:Ethernet HWaddr 00:D0:F8:38:24:2A
inet addr:192.168.228.155 Bcast:192.168.228.255 Mask:255.255.255.0
inet6 addr: fe80::2d0:f8ff:fe38:242a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:36460394 errors:0 dropped:0 overruns:0 frame:0
TX packets:30629434 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2936034100 (2.7 GiB) TX bytes:1956782604 (1.8 GiB)
Interrupt:193 Base address:0x4000
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.228.255
HWADDR=00:D0:F8:38:24:2A
IPADDR=192.168.228.155
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.228.0
ONBOOT=yes
就是在对应的网络设备,例如 ifcfg-eth0上增加上述红色标记的HWADDR设定即可。
关于配置文件中,HWADDR和MACADDR的不同之处,请见这里:修改Linux的MAC地址
Asianux 4.0 中KVM 使用桥接
解决Asianux 4.0 修改MAC地址后网卡不能启动的错误
补充udev 绑定网卡的方法
备份ifcfg-eth*文件带来的网络故障问题
多网卡服务器在Asianux 3.0上设定网络绑定的方法
解决Asianux 4.0 修改MAC地址后网卡不能启动的错误
补充udev 绑定网卡的方法
备份ifcfg-eth*文件带来的网络故障问题
多网卡服务器在Asianux 3.0上设定网络绑定的方法
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/111314.html