![如何刪除 /etc/udev/rules.d/70-persistent-net.rules CentOS](https://rvso.com/image/89159/%E5%A6%82%E4%BD%95%E5%88%AA%E9%99%A4%20%2Fetc%2Fudev%2Frules.d%2F70-persistent-net.rules%20CentOS.png)
我有一台伺服器,我們正在使用 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(生成)。