禁用systemd网卡命名规则

Posted a746742897

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁用systemd网卡命名规则相关的知识,希望对你有一定的参考价值。

禁用systemd网卡命名规则

参考链接:https://blog.csdn.net/sinat_20184565/article/details/80999886

Systemd-udev 修改网络接口名

https://blog.csdn.net/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。
 

以上是关于禁用systemd网卡命名规则的主要内容,如果未能解决你的问题,请参考以下文章

RHEL7.x版本,修改网卡命名规则

centos网卡命名规则以及更名方法

Linux 网卡命名规则学习(以USB无线网卡为例)

Centos7中的网卡一致性命名规则网卡重命名方法

redhat 万兆和千兆的网卡命名问题

centos 修改网卡名为eth0