Udev:私のネットワークインターフェースの名前を変更する

Udev:私のネットワークインターフェースの名前を変更する

ただインストールしました。RHEL 6.3Dell 1950サーバーで。サーバーには2つのGBitポート(Gb0とGb1)があります。

不明な理由でudev名前が選択されました。ギガビット eth1そして国家規格1 eth0。これは確かに私にとって良い発見ではなく、単に混乱を引き起こすだけです。

だから設定を修正しました/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このように切り替えられますか?この問題のない別の同様のサーバーがあります。

答え1

私の場合、各インターフェイスのMACアドレスが3つのファイルに設定されているという事実で問題が発生しました。

/etc/udev/rules.d/70-persistent-net.rules
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1

一貫性を保つには、ifcfgファイルとnet.rulesのmacアドレスが必要です。

答え2

遅くなりましたが、削除して問題を解決しました。

KERNEL="eth*",

ファイル内のルールの一部です/etc/udev/rules.d/70-persistent-net.rules。これは、UDEVがデバイス名を「rename *」に変更すると、この部分がルールの一致を停止するために機能します。したがって、それを削除すると、UDEVが同時に何を呼び出すかに関係なく、正しいデバイスに正しい名前が割り当てられます。

答え3

/etc/udev/rules.d/70-persistent-net.rules問題を解決するために、ちょうど削除して再起動しました。

答え4

空白を作ってみました/etc/udev/rules.d/80-net-name-slot.rulesか?

Udev v197以降、udevは予測可能なネットワークインタフェース名を実装しました。そのパスに空のファイルを作成して再起動したら、インターフェイス名を元の名前に戻す必要があります。

私は同様の質問に次のように答えました。Creating eth0 with consistent network device naming

関連情報