我正在运行 20.04,并注意到 MAC 地址在 2 个接口(指定为 eth0 和 eth1)之间切换。其中 eth0 配置为 DHCP,而 eth1 分配了静态 IP 地址。重新启动机器时,MAC 地址切换导致 eth0 不再能够接收 IP 地址。有没有人见过 MAC 地址在接口之间切换的问题?我将不胜感激任何帮助。谢谢。
接口当前配置如下图所示:
网关:~$ cat /etc/network/interfaces.d/eth0 auto eth0 iface eth0 inet dhcp MACADDR=84:8b:cd:40:3c:c2 ONBOOT=yes NM_CONTROLLED=no 网关:~$ cat /etc/network/interfaces.d/eth1 auto eth1 iface eth1 inet 静态地址 10.0.2.1 网络掩码 255.255.255.0 MACADDR=84:8b:cd:4c:da:48 ONBOOT=yes NM_CONTROLLED=no 网关:~$
答案1
我认为您可以通过在 /etc/udev/rules.d 中制定一条 udev 规则来解决这个问题,该规则将设备名称与 mac 地址绑定在一起。
我以前做过类似的事情,效果很好。查看以下链接获取一些说明:
http://fewstreet.com/2015/06/09/ubuntu-udev-naming-rules.html
或者
http://weng-blog.com/2017/05/udev-rule/
或者
https://villasyslog.net/udev-rules-for-network-interfaces/
文件“/etc/udev/rules.d/70-persistent-net.rules”中的如下规则
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b6:5d:09:9e:f0:dc", ATTR{type}=="1", NAME="eth0"
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="c2:77:a2:d8:fd:c8" ATTR{type}=="1", NAME="eth1"
制定规则后重新启动或发出命令“udevadm control --reload-rules”或类似命令