如何刪除 /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(生成)。

相關內容