禁用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网卡命名规则的主要内容,如果未能解决你的问题,请参考以下文章