Ubuntu18永久修改网络接口名称
下文主要记录Ubuntu18.04中修改默认的网络接口名称,例如Ubuntu中的默认网络接口以ens32
命名,这里将其修改为internet
等。
- 通过修改
/etc/default/grub
禁用Linux自动生成的可预测命名规则。 - 通过
/etc/udev/rules.d/70-persistent-net.rules
手动绑定MAC和名称。
修改grub配置
修改/etc/default/grub
的配置如下:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
随后执行sudo update-grub
使其生效并重启,此时系统回退到传统的eth0
、eth1
等简单命名方式,避免因命名规则变化导致配置冲突。
接下来需同步修改原有网卡配置文件(如/etc/netplan/*.yaml
)。
参数作用
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
是Linux系统启动时传递给内核的关键参数组合,主要用于强制使用传统的网卡命名规则(如eth0
、eth1
),替代现代Linux发行版默认的“一致性网络设备命名规则”(如ens33
、enp0s3
)。
net.ifnames=0
:关闭systemd和udev的“可预测命名规则”(Predictable Network Interface Names),该规则基于网卡的物理位置(如 PCI 槽位、MAC 地址)生成名称(如 enp0s3)。biosdevname=0
:禁用Dell开发的biosdevname工具,该工具尝试根据BIOS信息(如板载网卡顺序)命名网卡(如 em1、p3p4)。
工作原理
- 内核启动阶段生效:这两个参数在 Linux 内核初始化时被解析,通知
udev
和systemd
跳过现代命名逻辑,直接使用内核原始分配的网卡名(即ethX
)。 - 依赖GRUB传递:通过修改
GRUB
配置文件(/etc/default/grub
)并更新引导加载程序(update-grub
),确保参数在每次启动时生效。
修改udev配置
/etc/udev/rules.d/70-persistent-net.rules
是Linux系统中由udev 设备管理器生成并维护的配置文件,主要用于持久化绑定网卡设备的物理地址(MAC)与逻辑名称(如 eth0)的映射关系。
当系统检测到新网卡时,udev会根据此文件中的规则,将网卡的MAC地址与指定的名称(如eth0
)绑定,确保每次重启后同一网卡的名称不变。
在多网卡或硬件变动(如更换PCI插槽)的场景中,避免网卡名称随机变化(如从eth0
变为eth1
),导致网络配置失效。
若通过内核参数net.ifnames=0 biosdevname=0
禁用现代命名规则(如enp0s3
),此文件是手动指定ethX
名称的必要配置。
工作原理
- 自动生成规则:系统首次启动时,udev自动扫描网卡信息(MAC 地址、PCI 位置等),生成此文件。规则格式示例如下:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:xx:xx:xx", NAME="eth0"
其中ATTR{address}
为MAC
地址,NAME
为自定义名称。 - 文件位于
/etc/udev/rules.d/
,文件名前缀数字(如 70-)决定规则加载顺序,数字越小优先级越高。 - 规则生效需重启系统或触发udev重载:
sudo udevadm control --reload-rules
。
示例
在/etc/udev/rules.d/70-persistent-net.rules
(如果不存在则新建或通过sudo /lib/udev/write_net_rules
强制生成)中增加配置如下:
root@ubuntu:/etc/udev/rules.d# cat 70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:44:79:60", NAME="internet"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:44:79:6a", NAME="wan"
参考文档
- 原文作者:生如夏花
- 原文链接:https://DBL2017.github.io/post/%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/ubuntu18%E6%B0%B8%E4%B9%85%E4%BF%AE%E6%94%B9%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E5%90%8D%E7%A7%B0/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。