更改网络接口的名称,debian wheezy

更改网络接口的名称,debian wheezy

我正在尝试为接口设置一个名称“ethLan”而不是 eth0。这样做还可以确保 if 的名称在每次重新引导和内核时保持一致。

我确实找到了一些该主题的文章,但它们都是几年前的:
http://www.debian-administration.org/articles/463
http://www.linuxfromscratch.org/hints/downloads/files/nameif.txt

我按照他们说的做了并添加了乙兰麦克/etc/mactabs/。此时我有两个问题:
1)if [...] && /sbin/nameif我放置的脚本/etc/network/if-pre-up.d/不运行。我通过将其添加到解决了这个问题/etc/init.d/网络,但为什么不if-pre-up.d工作?
2)除非我手动加载,否则界面不会加载ifconfig ethLan 启动,尽管将其添加到/etc/网络/接口。我究竟做错了什么?

答案1

您找到的文章有些过时了。现在有一种简单的方法可以为网络接口分配名称,通过乌德夫

在 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 软件包.)

如果您想为接口指定一个有意义的名称并且您已经有了/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"

答案2

对于像我这样通过搜索引擎看到这篇文章的人:

在 Debian Stretch 和更新版本中,您可以使用 systemd .link 文件让 udev 重命名设备。看https://manpages.debian.org/stretch/udev/systemd.link.5.en.html的联机帮助页。

一个例子:

cat /etc/systemd/network/10-uplink0.link 
[Match]
MACAddress=00:0d:b9:49:8a:18

[Link]
Name=uplink0

不要忘记update-initramfs -u随后运行将这些更新的配置文件嵌入到您的 initramfs 中,它们将在其中应用。

答案3

有一种稍微简单的方法可以使用名为 的包来做到这一点ifrename。它有一个单独的(来自udev)配置文件,您可以使用 MAC 地址来识别接口。

然而却与之相冲突wireless-tools

相关内容