web-dev-qa-db-ja.com

Ubuntuサーバーでeth0とeth1を切り替える

簡単な問題があります。 2 NICを備えたUbuntuサーバー8.04 LTSを実行しているコンピューターがあります。マザーボード上の1つはインターネットに接続し、1つのPCIカードは内部ネットワークに接続します。インストール中に、マザーボード上のNICをeth1として、PCIカードをeth0として検出しました。逆にしてほしい。特に、PCI NICはホストサーバーで使用されないため、ホストサーバーで実行される一部の仮想マシンに対してのみ使用されます。

したがって、現在マシンが起動するとeth1(マザーボードNIC)がアクティブになり、eth0(PCI NIC)をそのままにしてdhcpでIPを取得します。これは、eth0とeth1を切り替える以外は、まさに私が欲しいものです。

ありがとう。

8
lanrat

Tzafrir.netで詳しく説明されていないように、Ubuntuを含むDebianベースのシステムでは、/etc/udev/rules.d/70-persistent-net.rulesファイルを確認する必要があります。次のような行が見つかります。

# PCI device 0x14e4:0x170c (b44)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:6d:b1:9e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

1つはNAME = "eth0"で、もう1つは"NAME = eth1"で明らかに表示されますが、それぞれに対応するMACアドレスがあります。 NAMEの値を入れ替えてコンピュータを再起動するだけで、システムがそれらの名前を変更します。 wanlanのように異なる名前を付けることもできます。ルートと他の構成が同じ名前を使用している限り、問題はありません。

FedoraやCentOSを含むRedHatベースのシステムでは、これは適切な/etc/sysconfig/network-scripts/ifcfg-ethXファイルにあるHWADDR行を変更することで実現されます。

重要な点は、再起動時に同じNICを維持することです。これは、カーネルが、NIC注文。

15
Jeremy Bouse

/etc/udev/rules.d/70-persistent-net.rulesで2つのデバイスの名前を簡単に変更できます

6
Tzafrir