Linux

RHEL:為網路介面創建穩定的名稱

  • May 11, 2013

我們有一個帶有 8 個介面的 RHEL 5.5 盒子。並且eth介面命名是翻轉的。有時eth0出現在物理埠 7 上,有時出現在另一個物理埠上。

我們希望按照 PCI BUS 的順序命名。我做了研究,發現

cat /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:07\:07.0/net\:eth0/address\

此位置具有eth設備的 MAC 地址。因此,如果我從這個 pci 匯流排位置按順序獲取“地址”並將它們ifconfig-eth0ifconfig-eth7PCI 匯流排位置的順序放入,我的eth命名將是穩定的。

我試過:

find /sys/devices/ -name "address"

但它不會帶來任何結果。我不知道為什麼……

這裡有什麼幫助嗎?

您是否嘗試在各種乙太網設備的不同 ifcfg-ethX 文件中包含 MAC 地址?60-net.rules此外,您可以通過 udev 的文件控制哪個設備獲取哪個 ethX 處理。

例如

# /etc/sysconfig/network-scripts/ifcfg-eth0

# Intel Corporation 82573E Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:30:48:56:A6:2E
IPADDR=10.10.10.15
NETMASK=255.255.255.192
ONBOOT=yes

然後在文件中/etc/udev/rules.d/60-net.rules

KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0"

我相信此資訊用於保持設備從引導到引導的配置一致。

配置多個 ethX 設備

要處理更多設備,只需設置每個設備對應/etc/sysconfig/network-scripts/ifcfg-ethX的文件,然後在文件中添加另一行60-net.rules

KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2F", NAME="eth1"

以上是您在 CentOS 5.X 中的操作方式。CentOS 6.x 中的文件更改為70-persistent-net.rules,格式也略有不同:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

參考

引用自:https://unix.stackexchange.com/questions/75427