Ubuntu 16.04复杂的接口名称

我试图弄清楚如何在Ubuntu 16.04中恢复简单的接口名称。 即enp3s0重命名为eth0

  • 我试图修改GRUB配置。 我尝试过编辑/etc/udev/rules.d/10-network.rules ,但这两种方法对我都没有任何作用。 非常感谢帮助。

    /etc/udev/rules.d/10-network.rules :(我隐藏了mac地址名称。)

     SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="XX:XX:XX:XX:XX:XX″,KERNEL=="enp0s0″, NAME="eth0″ SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="XX:XX:XX:XX:XX:XX″,KERNEL=="wlx02c5c1866772″, NAME="wlan0″ 
  • 我在GRUB配置中更改了这一行( /etc/default/grub )……

     GRUB_CMDLINE_LINUX="" 

    看起来像这样:

     GRUB_CMDLINE_LINUX="net.ifnames=1" 

使用Ubuntu 16.04, enp0s3eth0在VBox上测试

选项1:

  1. 覆盖udev规则

     sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules 
  2. 更新RAMDisk

     sudo update-initramfs -u 

选项2:

  1. 创建systemd链接文件

     sudo vim /etc/systemd/network/10-eth.link 
  2. 让我们定义与MAC相关的名称:(有很多选项,请参阅链接参考)

     [Match] MACAddress=08:00:27:de:dd:4c [Link] Name=eth0 

选项3:

  1. net.ifnames=0添加到引导参数

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash net.ifnames=0" 
  2. 更新grub

     sudo update-grub 

参考: systemd:可预测的网络接口名称 ,谢谢@mikewhatever。