RHEL:ネットワークインタフェースの信頼できる名前を作成する

RHEL:ネットワークインタフェースの信頼できる名前を作成する

8つのインターフェースを備えたRHEL 5.5ボックスがあります。そしてethインターフェイス名も非常にランダムです。時にはeth07番目の物理ポートに表示されることがあり、時には別の物理ポートに表示されることもあります。

私たちはPCIバスの順序で名前を付けたいと思います。私は調査をし、調べた。

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

この場所にはデバイスのMACアドレスがありますeth。したがって、対応するPCIバス位置の順序で「アドレス」を取得し、PCIバス位置の順序で配置すると、命名が安定しifconfig-eth0ます。ifconfig-eth7eth

私は試した:

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

以下のコメント

関連情報