我正在尝试为接口设置名称,“ethLan”而不是eth0.这样做还可以确保if的名称在每次重新启动和内核时都保持一致.
我确实在这个主题中找到了一些文章,但它们都是几年前的:
http://www.debian-administration.org/articles/463
http://www.linuxfromscratch.org/hints/downloads/files/nameif.txt
我按照他们的说法做了,并将ethLan mac添加到/ etc / mactabs /.
此时我有两个问题:
1)if […]&&我放在/etc/network/if-pre-up.d/的/ sbin / nameif脚本无法运行.我通过将它添加到/etc/init.d/networking来解决这个问题,但为什么if-pre-up.d不起作用?
2)除非我手动执行ifconfig ethLan,否则接口将不会加载,尽管将其添加到/ etc / network / interfaces.我究竟做错了什么?
解决方法:
你找到的文章有点过时了.现在有一种简单的方法可以通过Udev为网络接口分配名称.
在Debian和衍生品(包括Ubuntu)上,请注意名为/etc/udev/rules.d/70-persistent-net.rules的文件.该文件由/lib/udev/rules.d/75-persistent-net-generator.rules在脚本/ lib / udev / write_net_rules的帮助下创建.每次udev看到一个新的网络设备时,它都会为其分配一个新号码,并将该号码附加到/etc/udev/rules.d/70-persistent-net.rules.这样,接口号在重新启动时会保持不变,如果还原/ etc,它将在重新安装后保留.
(如果您的发行版未提供这些文件,请在Debian package中查找.)
如果你想给一个接口一个有意义的名字,你有/etc/udev/rules.d/70-persistent-net.rules,你需要做的就是编辑该文件并将“eth0”改为“ethLan” .在编辑文件后运行udevadm trigger –sysname eth0重命名现有设备(我认为这需要关闭接口).如果您没有该文件,您可以自己编写单行匹配(Debian添加的复杂脚本只是为了自动执行此操作):
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", NAME="ethLan"