Linux
Udev:重命名我的網路介面
我剛剛在戴爾 1950 伺服器上安裝了*RHEL 6.3 。*此伺服器作為兩個 GBit 埠,Gb0 和 Gb1。
出於某種晦澀的原因,
udev
選擇命名Gb0eth1
和Gb1eth0
。這對我來說絕對不是一個好發現,只會讓人感到困惑。所以我修改了配置
/etc/udev/rules.d/70-persistent-net.rules
:# PCI device 0x14e4:0x164c (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \ ATTR{address}=="00:20:19:52:d3:c0", \ ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x14e4:0x164c (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \ ATTR{address}=="00:20:19:52:d3:be", \ ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
我只是更改了文件上的“NAME”欄位以反映我想要的內容。我重新啟動了伺服器,但它沒有工作。
在
dmesg
日誌中,我可以閱讀以下內容:udev: renamed network interface eth1 to rename5 udev: renamed network interface eth0 to eth1 udev: renamed network interface rename5 to eth0
知道這裡有什麼問題嗎?為什麼會
udev
這樣切換?我有另一個類似的伺服器,我沒有這個問題。
就我而言,問題在於每個介面的 MAC 地址都設置在三個文件中:
/etc/udev/rules.d/70-persistent-net.rules /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
我們需要 ifcfg 文件和 mac 地址的 net.rules 之間的一致性。
雖然這已經很晚了,但我通過刪除
KERNEL="eth*",
/etc/udev/rules.d/70-persistent-net.rules
文件中規則的一部分。這是因為,一旦 UDEV 將設備重命名為“rename*”,這部分將停止規則匹配。因此,刪除它允許將正確的名稱分配給正確的設備,而不管 UDEV 在此期間對其進行了怎樣的呼叫。