现在的位置: 首页 > 综合 > 正文

archlinux 网卡顺序指定

2013年10月31日 ⁄ 综合 ⁄ 共 726字 ⁄ 字号 评论关闭

新加了块pci网卡,发现原来的eth0变eth1了,恢复方法从archwiki上转载过来:

多个同类型设备(网卡,声卡)每次启动的都不同

因为udev同时加载所有模块,所以一些设备可能初始化顺序不同。例如同时有两个网卡时,它们总是在eth0eth1之间变来变去。

常用的解决办法是在您的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命名的配置文件。

抱歉!评论已关闭.