我刚刚在 VMware 工作站 9 上安装了 Fedora 19。默认网络设备是“ens33”,而不是 RHEL 上的“eth0”。
我必须使用“eth0”的原因是我们的产品之一的许可证组件必须与“eth0”链接。
有一些帖子讨论类似的问题,其中大多数是针对旧操作系统的。我还没有找到一个完全符合我的情况。
答案1
恢复旧方法 Kernel/modules/udev 重命名以太网接口的最简单方法是将这些内核参数提供给软呢帽 19:
- 网络.ifnames=0
- biosdevname=0
为此,请按照以下步骤操作:
- 编辑/etc/默认/grub
- 在......的最后GRUB_CMDLINE_LINUX行追加“net.ifnames=0 biosdevname=0”
- 保存文件
- 类型 ”grub2-mkconfig -o /boot/grub2/grub.cfg”
- 类型 ”重启”
如果您在安装过程中没有提供这些参数,您可能需要调整和/或重命名接口文件/etc/sysconfig/network-scripts/ifcfg-*。
取决于软呢帽 18, 只是biosdevname=0就足够了。
举个例子,在某台机器上,经过详尽的研究,我得到了:
-无参数:网卡标识为“enp5s2”。-
参数biosdevname=0:网卡标识为“enp5s2”。-
参数net.ifnames=0:网卡标识为“EM1”。-
参数 net.ifnames=0 AND biosdevname=0: NIC 标识为“以太网0”。
答案2
您可以使用 udev 规则来执行此操作,如下所示:
cat > /etc/udev/rules.d/99-rename-to-eth0.rules << EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$(cat /sys/class/net/ens33/address)", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
EOF
答案3
在 Fedora 20 中,情况似乎发生了进一步的变化。
1) grub 内核参数
是的,“net.ifnames=0”和“biodevame=0”似乎都是必要的。
2) /etc/sysconfig/network-scripts/ifcfg-ethX
是的,这些也是必要的。
3) /etc/udev/rules.d/60-net.rules
如果您有多个接口并希望控制每个设备的命名而不是让内核按照自己的方式行事,则 /etc/udev/rules.d/60 -net.rules 似乎有必要覆盖 /usr/lib/udev/rules.d/60-net.rules ,如下所示。
# PCI device 0x1011:0x0019 (tulip) {SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:f0:4c:f5:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:a4:4c:b5:26:48", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
4)yum remove biosdevname
似乎没有必要。
答案4
Fedora 19 中的这一点与之前的版本有所不同。有两件事需要解决:
- 如果已安装,请将其删除。 (
yum remove biosdevname
,或放入-biosdevname
您的 kickstart 中。 - 禁用 udev 规则:
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
更多信息可以在以下位置找到:http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames