禁用systemd网卡命名规则

本文介绍了如何禁用Ubuntu的systemd网卡命名规则,改回使用内核默认的ethx命名方式。通过修改/lib/systemd/network/99-default.link文件设置NamePolicy为kernel,并在GRUB_CMDLINE_LINUX中添加参数net.ifnames=0 biosdevname=0,重启后即可生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

禁用systemd网卡命名规则

参考链接:https://blog.youkuaiyun.com/sinat_20184565/article/details/80999886

Systemd-udev 修改网络接口名

https://blog.youkuaiyun.com/changqing1990/article/details/107044879

systemd.link.5

https://manpages.debian.org/buster/udev/systemd.link.5.en.html


当前网卡的命名方式可以通过proc文件查看,比如网卡ens160,命名方式为4,即对应内核中的NET_NAME_RENAMED,表示网卡名是被用户空间程序修改的:

# cat /sys/class/net/ens160/name_assign_type
4

#define NET_NAME_ENUM       1   /* enumerated by kernel */
#define NET_NAME_PREDICTABLE    2   /* predictably named by the kernel */
#define NET_NAME_USER       3   /* provided by user-space */
#define NET_NAME_RENAMED    4   /* renamed by user-space */


在用户空间,默认情况下ubuntu会根据systemd目录下的link文件命名网卡,NamePolicy变量指定了5中命名策略:kernel database onboard slot path,优先级由高到低排列。

# cat /lib/systemd/network/99-default.link
[Link]
NamePolicy=kernel database onboard slot path
MACAddressPolicy=persistent


使用udevadm命令可查看当前生效的命名策略,如下为slot策略(ID_NET_NAME_SLOT)。

$ udevadm info -e | grep ens160
P: /devices/pci0000:00/0000:00:15.0/0000:03:00.0/net/ens160
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/0000:03:00.0/net/ens160
E: ID_NET_NAME_SLOT=ens160

以下修改ubuntu的命名策略,使用内核kernel默认的命名规则。修改/lib/systemd/network/99-default.link文件,NamePolicy仅保留kernel一项。

# cat /lib/systemd/network/99-default.link
[Link]
NamePolicy=kernel
MACAddressPolicy=persistent


修改/etc/default/grub文件,在(GRUB_CMDLINE_LINUX=)一行增加参数:(net.ifnames=0 biosdevname=0)。之后允许update-grub命令更新grub启动配置文件。重新启动系统,网卡的命名恢复成ethx格式。

另外在文件/etc/network/interfaces中配置的网卡名称需要手动修改,把ens160相关的修改为ethx。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值