Answers:
恢复内核/模块/ udev重命名以太网接口的旧方法的最简单方法是将这些内核参数提供给Fedora 19:
为此,请按照以下步骤操作:
如果在安装过程中未提供这些参数,则可能需要在/ etc / sysconfig / network-scripts / ifcfg- *处调整和/或重命名接口文件。
直到Fedora 18 为止,只要biosdevname = 0就足够了。
例如,在一台机器上,经过详尽的研究,我得到:
-无参数:NIC标识为“ enp5s2 ”。
-参数biosdevname = 0:NIC被标识为“ enp5s2 ”。
-参数net.ifnames = 0:NIC被标识为“ em1 ”。
-参数net.ifnames = 0和biosdevname = 0:NIC被标识为“ eth0 ”。
您可以使用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
/sys/class/net/ens33
根据BIOS返回的值以及在输出中找到的值,可能会有所不同lspci -vv | grep -A25 Ethernet
。同样,如果要eth0
用作名称,则仅指定内核启动标志以禁用设备的“可预测”命名可能更合适。
在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
似乎没有必要。
在Fedora 19中,这与以前的版本不同。有两件事要解决:
yum remove biosdevname
或-biosdevname
输入您的启动时间。ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
可以在http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames中找到更多信息。
虽然接受的答案确实提供了可行的解决方案,但并未说明为什么ens33
使用该解决方案。以下链接提供了有关为什么为网络设备命名的名称eth0
以及为什么在RHEL 7变体中如何命名的背景:
还要注意的是,出现的“ 33”之类的值ens33
来自BIOS返回的PCI适配器插槽值。使用此命令来查看系统为“物理插槽”列出的值:
lspci -vv | grep -A20 Ethernet
可在udev源代码中找到有关名称的“ ens”部分的其他信息。
对于Fedora-24:
编辑 /etc/default/grub
在结束GRUB_CMDLINE_LINUX
行追加net.ifnames=0 biosdevname=0
保存文件
类型
grub2-mkconfig -o /boot/grub2/grub.cfg"
或输入
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
类型 reboot
ifconfig
仅返回lo
和virbr0
,但最初enp4s0
不再存在。
ethN
命名的网络脚本,以使用该约定。我只剩下enp4s0
一个剧本。