我知道在旧版本的 linux 中我可以重命名网络接口/etc/udev/rules.d/70-persistent-net.rules
,但是 Ubuntu 16.04 中缺少该文件。
答案1
创建/etc/udev/rules.d/70-persistent-net.rules
文件如下:
sudo nano /etc/udev/rules.d/70-persistent-net.rules
添加以下行:
# PCI device 0x10ec:0x8xxxx (ethernet_module_here)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3x:17:ef:6f:s2:2h", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x168c:0xyyy (wifi_module_here)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="74:e5:ii:uu:de:nn", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
运行sudo ifconfig
以获取 mac 地址并在此处将其更改为您的:ATTR{address}=="74:e5:ii:uu:de:nn"
CtrlO然后按 Enter退出键 CtrlX
禁用 可预测的网络接口名称和:
ln -sf /dev/null /lib/udev/rules.d/80-net-setup-link.rules
这将覆盖现有文件,因此,可以选择在执行命令之前对其进行备份。
打开你的界面:
ip link set eth0 up
ip link set eth0 down
替代方法:
编辑 grub 配置文件:
sudo nano /etc/default/grub
添加net.ifnames=0 biosdevname=0
到GRUB_CMDLINE_LINUX=""
这样的:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
更新grub.cfg
:sudo grub-mkconfig -o /boot/grub/grub.cfg
编辑您的/etc/network/interfaces
以更改接口名称,然后重新启动。
答案2
对我来说,它可以修改/etc/udev/rules.d/70-persistent-net.rules。但是我必须从该行删除内核。
例如:
# PCI device 0x10ec:0x8xxxx (ethernet_module_here)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3x:17:ef:6f:s2:2h", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
# PCI device 0x168c:0xyyy (wifi_module_here)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="74:e5:ii:uu:de:nn", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="wlan0"
我使用的是 Ubuntu 16.04
答案3
对于刚接触这个或正在努力解决这个问题的人来说,GAD3R 的答案是正确的,但是如果您遵循第一种方法,则值得注意以下两点:
/etc/udev/rules.d/70-persistent-net.rules实际上可能不存在(在这种情况下您需要创建它)。
如果/lib/udev/rules.d/80-net-setup-link.rules确实存在,当尝试使用“ln -s”命令时,您将收到一条错误消息,并且需要在设置到 /dev/null 的符号链接之前重命名它(对于完全的初学者:“这是一个比删除”)。