新加了块pci网卡,发现原来的eth0变eth1了,恢复方法从archwiki上转载过来:
多个同类型设备(网卡,声卡)每次启动的都不同
因为udev同时加载所有模块,所以一些设备可能初始化顺序不同。例如同时有两个网卡时,它们总是在eth0
和eth1
之间变来变去。
常用的解决办法是在您的rc.conf
文件中通过修改MODULES
队列来指明顺序。这个队列里的模块将在udev自动加载之前由系统加载,因此您可以控制模块在启动时加载顺序。
# 在e100之前加载8139too MODULES=(8139too e100)
另一个解决网卡的方法是使用udev-sanctified方法为每个网卡静态命名。创建文件/etc/udev/rules.d/10-network.rules
然后将不同的网卡通过MAC地址绑定到不同的名字上:
SUBSYSTEM=="net", SYSFS{address}=="aa:bb:cc:dd:ee:ff", NAME="lan0" SUBSYSTEM=="net", SYSFS{address}=="ff:ee:dd:cc:bb:aa", NAME="wlan0"
同时,您需要注意以下内容:
- 您可以通过下面的命令获得网卡的MAC地址::
udevinfo -a -p /sys/class/net/<你的网卡>
- 注意在udev规则文件中使用小写的16进制MAC地址,因为udev无法识别大写的MAC地址。
- 一些用户在使用旧的命名方式时出现问题,例如: eth0, eth1, 等等. 如果出现这个问题,试试使用 "lan"或者"wlan"之类的名字. 确实如此,我用了net0和net1才可以
注意不要忘记修改您的/dec/rc.conf和其它使用ethX命名的配置文件。