先说说我遇到的情况:手头有一台搭载N2800处理器的小型设备,网卡芯片为Intel 82574L。在用EEUPDATE烧录MAC地址时,因操作不慎重复执行了好几次,导致在Fedora系统中网络接口名称变成了“eth0、eth1、eth2”这样依次递增,显得十分混乱。那么,如何将网卡名称固定下来呢?下面介绍两种实用的解决方法,帮助你在Fedora中稳定管理网络接口命名。
配置文件
udev的配置文件通常存放在两个位置:/etc/udev/和/lib/udev/(以#开头的是注释行)。主配置文件是/etc/udev/udev.conf,其中包含一些变量,用于调整udev的默认行为。需要重点关注的两个变量如下:
udev_root——设备目录,默认值为/dev;
udev_log——日志等级,与syslog一致,可设置为err、info或debug。
规则文件
udev的规则文件默认位于/lib/udev/rules.d/,同时也可以放置在/etc/udev/rules.d/目录下。此外,还有一个临时存放规则文件的目录/dev/.udev/rules.d/。
规则文件按照字母顺序依次处理,无论它们位于哪个目录。如果两个目录中存在同名文件,则/etc/udev/rules.d中的优先级更高。需要特别注意的是,规则文件必须以.rules作为扩展名,否则将不会被识别。
方法1:手动编辑udev规则
直接编辑或创建规则文件,例如:
# vi /etc/udev/rules.d/70-persistent-net.rules
然后添加类似下面的行,根据MAC地址来固定网卡名称:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:43:48:00:01", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
查询网卡MAC地址的方法也很简单,任选一种即可:
$ cat /sys/class/net/eth1/address
$ ifconfig eth1
$ ip a show eth1
方法2:使用ifrename工具更改网卡名称
首先安装所需工具:
# yum install wireless-tools
接着编辑/etc/iftab配置文件,将MAC地址与希望使用的名称对应起来:
ethX mac 11:22:33:44:55:66
ethY mac 11:22:33:44:55:66
然后停用网卡,使用ifrename重命名,再重新启用:
# ifconfig eth1 down
# ifrename -i eth1 -n ethX
# ifconfig ethX up
如果想改成/etc/iftab中设定的其他名称,操作类似:
# ifconfig ethX down
# ifrename -i ethX -n ethY
# ifconfig ethY up
要改回原来的名称也是同样的步骤:
# ifconfig ethY down
# ifrename -i ethY -n eth1
# ifconfig eth1 up
这两种方法都能将混乱的网卡名称理顺,选择一种顺手的方式即可。关键是要确保MAC地址准确无误,否则又需要重新操作一遍。
