如何在 debian 9stretch 中显示旧的 eth0 名称并重命名网络接口?

如何在 debian 9stretch 中显示旧的 eth0 名称并重命名网络接口?

我想做两件事:

1) 将接口恢复为旧的经典名称:eth0 而不是 ens33。

2)按照我想要的方式重命名接口,例如我可以将接口 eth0 称为 wan0 或分配 eth1、eth2 等我想要的 mac 地址。

答案1

假设您刚刚安装了 Debian 9 Stretch。

1) 要恢复接口的旧名称,请执行以下操作:

nano /etc/default/grub

将该行编辑GRUB_CMDLINE_LINUX=""GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

然后启动一个grub-mkconfig用于应用引导加载程序内的更改

grub-mkconfig -o /boot/grub/grub.cfg

你需要一个重启在那之后。


2)要重命名接口,请使用:

  • 对于临时修改,请查看@xhienne 答案。

  • 对于永久修改:

首先创建/编辑/etc/udev/rules.d/70-persistent-net.rules文件。

nano /etc/udev/rules.d/70-persistent-net.rules

并插入内部行,例如:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# interface with MAC address "00:0c:30:50:48:ab" will be assigned "eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:ab", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

如果您想将 wan0 等名称分配给 eth0,您可以使用我的示例:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"

下一个之后重启或使用服务网络重启您应该会看到已应用的更改。


额外的:请记住,完成所有这些修改后,您必须编辑您的/etc/网络/接口文件用新接口名称替换旧接口名称!


额外的:如果你想知道你的接口有什么MAC地址,只需执行

ip addr show

并查看下面的关联/部分。

答案2

对于问题 1) 参见用户3450548的回答。对于问题 2),您可以为接口指定任何名称iproute2

ip link set ens33 down           # Else you will get "Device or resource busy"
ip link set ens33 name eth0

答案3

我发现了一个非常简单的方法,只需更改/etc/network/interfaces

rename enp3s0=wan0

然后

service networking restart

重新启动网络服务。

答案4

这些日子systemd.link - 网络设备配置提供了一种舒适的方法来持久地重命名接口。

相关内容