产生此问题的原因我就不多说了,比如:换主板(集成网卡)、换网卡、虚拟机COPY等都会发生网卡序号漂移现象。而我们批量处理的脚本一般是针对固定网卡序号(如:eth0/eth1)的,如果它变成了eth2/eth3显然会对批量操作造成不便。
1.识别现有网卡
可使用ifconfig -a | grep HWaddr来查看所有网卡的MAC(记录好需要修改序号的的网卡对应的MAC)。如果要唯一确定具体哪一块物理网卡,可用拔插网线的方法配合sudo ethtool ethX来确定(在输出结果中:Linked detected:yes,说明是接好网线的;Linked detected:no,说明没有连接网线)。
2.修改配置文件
Ubuntu保存MAC地址的配置文件为"/etc/udev/rules.d/70-persistent-net.rules",该文件内容如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="8c:89:a5:61:99:c3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x10c9 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="8c:89:a5:61:99:c2", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x10c9 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:62:6d:b3:bb:32", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x8086:0x10c9 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:62:6d:b3:bb:33", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
天火的BLOG:http://blog.sina.com.cn/s/blog_4152a9f50100wrxf.html
用vi编辑这个文件,根据目前的MAC地址将以前的eth0/eth1配置删除,然后修改eth2的NAME="erh2"为NAME="eth0",eth3的NAME="erh3"为NAME="eth1",修改后的内容如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:62:6d:b3:bb:32", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x10c9 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:62:6d:b3:bb:33", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
保存退出,重启系统,Ubuntu就会使用新的配置文件来设置网卡了。
注意:重启系统之前,请修改/etc/network/interfaces中的网卡序号(目前为eth2和eth3)为变更后的新序号(变更后为eth0和eth1),否则,系统重启后由于变更了网卡序号,网卡无法启动,从远程会无法访问,切记!
若不重启则可重启加载udev规则并重启udev
/sbin/udevadm control --reload-rules
/sbin/start_udev
service network restart
转载于:https://blog.51cto.com/tianshili/1638482