Azure VM (47) Azure 虚拟机网卡名称设计
《Windows Azure Platform 系列文章目录》
之前遇到1个问题,记录一下。
1.客户报告,他们创建的Rocky Linux 9.8的虚拟机,加速网卡不是eth1,变成了enP30832s1
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 7c:1e:52:da:a1:ed brd ff:ff:ff:ff:ff:ff inet 10.83.4.47/24 brd 10.83.4.255 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet6 fe80::7e1e:52ff:feda:a1ed/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: enP30832s1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master eth0 state UP group default qlen 1000 link/ether 7c:1e:52:da:a1:ed brd ff:ff:ff:ff:ff:ff altname enP30832p0s0 inet 10.83.4.47/24 brd 10.83.4.255 scope global noprefixroute enP30832s1 valid_lft forever preferred_lft forever
2.经过检查,是客户修改了启动参数,目前客户的启动参数是:
cat /proc/cmdline BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.14.0-687.17.1.el9_8.x86_64 root=UUID=a64f502a-0189-4630-89b9-11432fcb69c8 ro resume=UUID=a83815b8-d9e2-47b8-9289-7635a0034eb0 console=ttyS0,115200 console=tty1 console=ttyS0 earlyprintk=ttyS0 crashkernel=1G-2G:192M,2G-64G:256M,64G-:512M
3.上面的启动参数里,缺少:
net.ifnames=0
这个是 Linux 内核启动参数,用来关闭“可预测网卡命名”。
作用:
- 关闭后,网卡名更倾向传统命名:
eth0、eth1。 - 不加这个参数时,系统通常用可预测命名:
enp0s3、ens5、enP30832s1这类。
为什么有人会用它:
- 老脚本/监控只认
eth0。 - 希望不同机器命名风格一致,减少运维改造。
4.在客户的启动参数里,运行下面的脚本:
sudo grubby --update-kernel=ALL --args="net.ifnames=0"
5.重启后生效
6.重启后执行:
cat /proc/cmdline
看到输出里包含 net.ifnames=0,就成功了。

浙公网安备 33010602011771号