8つのインターフェースを備えたRHEL 5.5ボックスがあります。そしてeth
インターフェイス名も非常にランダムです。時にはeth0
7番目の物理ポートに表示されることがあり、時には別の物理ポートに表示されることもあります。
私たちはPCIバスの順序で名前を付けたいと思います。私は調査をし、調べた。
cat /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:07\:07.0/net\:eth0/address\
この場所にはデバイスのMACアドレスがありますeth
。したがって、対応するPCIバス位置の順序で「アドレス」を取得し、PCIバス位置の順序で配置すると、命名が安定しifconfig-eth0
ます。ifconfig-eth7
eth
私は試した:
find /sys/devices/ -name "address"
しかし、それは何も起こりません。なぜかは分からないが…。
助けが必要ですか?
答え1
さまざまなイーサネットデバイスの異なるifcfg-ethXファイルにMACアドレスを含めましたか? udevファイルを使用すると、どのデバイスがどのethXハンドルを取得するかを制御できます60-net.rules
。
例えば
# /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"
引用する
答え2
私が知る限り、比較的新しいバージョンが必要です。レッドハット6〜らしいこれをサポートしてください(ネットワークデバイスの一貫した命名)実際に必要ですが、特に有効ほとんどのシステムで。Fedora 15+これもこれを行い、Fedora 17ではデフォルトモードのようです。
この変更がいつ完全に採用されたかはわかりません。さらに重要なのは、この変更をRHEL 5シリーズにバックポートする方法があるかどうかです。少なくともこれは始まりです。
答え3
次のようにハードウェアアドレスを取得する必要があります。
ifconfig -a | grep HWaddr
おそらく:
tail -v /sys/devices/*/*/net/eth*/address
# or
tail -v /sys/devices/*/*/*/net/eth*/address
find
すでに一致している必要があります。
また確認して下さい:
cat /etc/udev/rules.d/70-persistent-net.rules
以下のコメント。