如何在15.10中重命名网络接口?

我决定彻底安装15.10,因此需要重新安装MATLAB。 MATLAB许可证与eth0硬件地址绑定。

我的以太网卡列为enp1s0,我需要将其重命名为eth0。 只有lo列在/etc/network/interfaces ,并且/etc/udev/rules.d/70-persistent-net.rules不存在,所以我不确定从哪里开始。

我的解决方案是使用以下内容创建文件/etc/udev/rules.d/10-rename-network.rules

 SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0" 

我有同样的问题,并将文件添加到/etc/udev/rules.d/没有帮助。 问题似乎在于使用此处描述的可预测网络接口名称。 要创建自己的手动命名方案,即为MATLAB命名设备“eth0”,可以在/etc/systemd/network/创建自己的.link文件,如此处所述。

具体来说,我用内容创建了一个文件/etc/systemd/network/10-eth.link

 [Match] MACAddress=ff:ff:ff:ff:ff:ff [Link] Name=eth0 

用我想要改变的设备的MAC地址替换ff:ff:ff:ff:ff:ff 。 重启后,名称符合要求。

如果出于任何原因@zab建议的答案对你不起作用,你也可以像这里一样禁用这个命名方案。 但@zab提出的方法可能更安全

我刚刚没有将biosdevname = 0包含到命令行参数中,它似乎默认关闭。

按照以下步骤进行:

 $ sudo nano /etc/default/grub 

在GRUB_CMDLINE_LINUX行添加net.ifnames = 0

 GRUB_CMDLINE_LINUX="[previous parameters] net.ifnames=0" 

然后生成新的grub文件:

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

在最后重启系统。

这对我在16.04服务器上工作,因为当我执行ifconfig -a时eno1显示。 我不得不把ifconfig eno1 up接口然后我做了以下事情:

 vi /etc/udev/rules.d/10-network.rules SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0" 

我有这个问题在树莓派3上运行16.04服务器(最小)并且所有发布的答案都没有帮助。 解决问题的方法是禁用可预测的网络接口名称,如下所述: https ://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

通过运行此命令:

 ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules