可预测的网络接口名称为:
- 重启后稳定
- 固定/一致,即使添加或移除硬件也是如此
- 即使更换了有缺陷/损坏的硬件,也已修复/保持一致
- 无状态,不需要任何显式配置文件
为了系统安全性和易用性,可预测的网络接口名称非常重要。因此,主要的Linux发行版使用“systemd”和“udev”为计算机的网络接口分配可预测的名称。
目前,有一些网络接口命名策略可以在Ubuntu、Debian、RHEL、CentOS、Fedora、Rocky Linux和其他流行的基于Debian/Ubuntu或基于RPM的Linux发行版上使用。在本文中,我们将讨论Linux可用的网络接口命名策略,并向您展示如何切换到您想要的那个。
内容主题:
- 可用的网络接口删除策略
- 当前使用的网络接口删除策略
- 更改网络接口删除策略
- 检查是否正在使用新的网络接口删除策略
- 配置网络接口的自定义名称
- 结论
可用的网络接口删除策略
目前,可用的网络接口命名策略为:
- 内核-在此策略中,内核不重命名可预测的网络设备,即lo(环回接口)
- 数据库-在此策略中,udev硬件数据库“hwdb”用于分配网络设备名称。
- 板载—在此策略中,您的计算机BIOS/固件提供的索引号用于命名板载网络设备,即eno1、eno2。
- slot—在此策略中,计算机BIOS/固件提供的PCIE热插拔插槽索引号用于命名网络设备,即ens1、ens2。
- 路径-在此策略中,使用硬件的物理位置来命名网络设备,即enp1s0、enp1s2、enp1s0f0、enp1s0f1。
- mac—在此策略中,网络设备的mac地址被附加到网络接口名称,即enx000c294cd7e8。
当前使用的网络接口删除策略
大多数流行的Linux发行版上的默认网络接口命名策略配置文件位于“/usr/lib/systemd/network/99-default.link”路径中。
您可以使用nano文本编辑器打开默认的网络接口命名策略配置文件"/usr/lib/systemd/network/99—default.link",如下所示:
$sudo nano/usr/lib/systemd/network/www.example.com
要使用的网络接口命名策略的顺序列在“NamePolicy”部分[1]中。
在这里,“保持”具有最高的优先级。"keep"所做的是如果一个名称已经分配给网络接口,systemd/udev将一次又一次地使用相同的名称。
然后,它将尝试设置内核名称。如果内核命名策略失败,则分别使用数据库、板载、插槽和路径。
您还可以使用“AlternativeNamesPolicy”选项以相同的方式为网络接口设置替代名称[2]。不用于实际网络接口命名的命名策略被用作替代命名策略,具体取决于“AlternativeNamesPolicy”中设置的顺序。
如您所见,默认情况下,插槽网络接口命名策略用于命名实际的网络接口,路径网络接口命名策略用于为Ubuntu 22.04 LTS上的网络接口提供替代名称。默认情况下,其他Linux发行版可能会使用不同的命名策略和替代命名策略。
$IP a
更改网络接口删除策略
要更改网络接口命名策略,请使用nano文本编辑器打开"/usr/lib/systemd/network/99—default.link"配置文件,如下所示:
$sudo nano/usr/lib/systemd/network/www.example.com
在"NamePolicy"部分中键入所需的网络接口命名策略,在"AlternativeNamePolicy"部分中键入替代网络接口命名策略。
完成后,按+X,然后按“Y”,保存“99—default.link”文件。
要使更改生效,请按以下步骤重新启动计算机:
$sudo reboot
检查是否正在使用新的网络接口删除策略
计算机启动后,运行“ip”命令以验证网络接口名称是否相应更改。如您所见,Mac网络接口命名策略用于设置网络接口的真实名称,PATH网络接口命名策略用于设置网络接口的替代名称。
$IP a
在本例中,我们分别使用路径命名策略用于真实名称,而mac命名策略用于网络接口的替代名称。
配置网络接口的自定义名称
除了使用预定义的网络接口命名策略外,您还可以为计算机的网络接口设置自定义名称。要了解如何设置网络接口的自定义名称,请阅读本文。
结论
在本文中,我们讨论了现代Linux发行版可用的网络接口命名策略。我们还向您展示了如何在Ubuntu/Debian、RHEL/Rocky Linux/CentOS/Fedora以及其他基于Ubuntu/Debian或基于RPM的现代Linux发行版上使用不同的网络接口命名策略。