如何删除 /etc/udev/rules.d/70-persistent-net.rules CentOS

如何删除 /etc/udev/rules.d/70-persistent-net.rules CentOS

我有一台服务器,我们正在使用 VMware Recover Point 测试延伸网络故障转移。当服务器移动到备用站点时,MAC 地址会发生变化,导致我的网络接口 (eth0) 发生变化,eth1因为文件重新生成70-persistent-net.rules,使用新的 MAC 地址创建了新的 eth0。

我想在启动时编写一个脚本来删除此文件,以便udev创建新文件,但我很难知道将其放置在哪里。我尝试过/etc/rc1.d/S25_70,它位于 之上/etc/rc1.d/S26_udev-post,但它不起作用。

感谢您的任何帮助!

答案1

eth0最简单的解决方案是在文件中定义两条规则70-persistent-net.rules,每条规则对应每台服务器中的相关 MAC 地址。此版本的文件应该与两个都服务器。

当在 server1 上启动时,server1 的 MAC 地址为 eth0。

当在 server2 上启动时,server2 的 MAC 地址为 eth0。

例如

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:11:11:11:11:11", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="22:22:22:22:22:22", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

更改"11:11:11:11:11:11""22:22:22:22:22:22"匹配服务器中的硬件。


顺便说一句,如果使用systemd,则 /etc/systemd/network 中有两个文件,每个文件对应一个匹配的 MAC 地址。例如

/etc/systemd/network/10-eth0-1.link:

[Match]
MACAddress=11:11:11:11:11:11

[Link]
Name=eth0

/etc/systemd/network/10-eth0-2.link:

[Match]
MACAddress=22:22:22:22:22:22

[Link]
Name=eth0

man 5 systemd.network

[匹配] 部分选项

网络文件包含一个[Match]部分,该部分确定给定的网络文件是否可以应用于给定的设备;以及[Network]指定如何配置设备的部分。

应用与给定设备匹配的第一个(按词汇顺序)网络文件,所有后面的文件都将被忽略,即使它们也匹配。

答案2

您可以尝试修改启动脚本以在执行其他操作之前udev删除该文件。70-persistent-net.rules

或者将自定义挂钩/脚本添加到您的 initramfs(生成)中。

相关内容