CentOS 6 / RedHat で新しいネットワーク カードを自動的に検出するにはどうすればよいですか?

CentOS 6 / RedHat で新しいネットワーク カードを自動的に検出するにはどうすればよいですか?

私は仮想環境で CentOS 6 を使用しています。CentOS の仮想バージョンをクローンすると、古い eth アダプタが「削除」され、新しいアダプタとネット MAC アドレスに置き換えられます。ただし、ifcfg-ethn ファイルはまだ存在します。インストール時と同じように、CentOS でネットワーク アダプタ/eth ファイルを自動的に再スキャンして再作成する方法を考えています。

そうでなければ、ここで説明するような面倒なプロセスが残されます。http://www.centos.org/docs/5/html/インストールガイド-en-US/s1-s390info-addnetdevice.html

GUI でこれを行う簡単な方法があることは知っていますが、サーバーを使用しているため、この場合は GUI は適用されません。助けてください。

編集: @OldWolf は Kudzu を提案しましたが、Kudzu は Centos 5 で削除されているため、私はそれを避けたいと思います。Linux が初期インストール時に実行する手順があります。手動でトリガーできるように、それが何であるかを理解するのを手伝ってくれる人はいますか?

答え1

CentOS 6 では、すべてが udev によって処理されるようになりました。 ファイルに移動し/etc/udev/rules.dて削除し、再起動します。 事前に開くと、元の NIC MAC が としてリストされ、新しい NIC MAC が として70-persistent-net.rulesリストされているはずです。eth0eth1

/etc/sysconfig/network-scripts/ifcfg-eth0ここで、新しい NIC カードの MAC を編集して手動で更新する必要があります。

ファイルを削除すると、クローン作成プロセスから残った荷物、つまり古い NIC MAC アドレスなしで、起動時に検出プロセスが再度実行されます。

VMware ESXi 4.1 上の CentOS 6 クローンでは、常にこれを実行する必要があります。これは面倒ですが、kudzu は以前のバージョンでこれを処理していました。

答え2

永続ルール ファイルを削除します。

rm /etc/udev/rules.d/70-persistent-net.rules

ifcfg-eth0を編集します:

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

行を完全に削除しますHWADDR(または、新しい NIC の MAC アドレスと一致するように変更します)。

システムを再起動します。

reboot

NIC を再度変更する場合は、手順 1 と 3 を繰り返します。

答え3

このツールも使用できます(これはGUIツールではなく、TUIツール、テキストベースのユーザーインターフェイスです)

[root@localhost ~]# システム構成ネットワークtui

上記のコマンドを入力してEnterキーを押します

するとこの画面が表示されます

ここに画像の説明を入力してください

デバイス構成を選択し、Enterキーを押します

するとこの画面が表示されます

ここに画像の説明を入力してください

ここでeth0は/etc/sysconfig/network-scripts/ifcfg-eth0

そこに行われた編集はファイルeth0に影響しますifcfg-eth0

答え4

私は CentOS 6 仮想マシンを多数作成および削除したため、VirtualBox でクローンを作成するときに eth0 を修正するための Bashfu をいくつか作成しました。

   [root@jp-xm-base ~]# cat fixeth0.sh
if grep -q eth1 /etc/udev/rules.d/70-persistent-net.rules; then
   sed -i '/eth0/d' /etc/udev/rules.d/70-persistent-net.rules;
   sed -i 's/eth1/eth0/g' /etc/udev/rules.d/70-persistent-net.rules;
   ETHERNET=`grep eth0 /etc/udev/rules.d/70-persistent-net.rules | awk -F"," '{print $4}' | awk -F"\"" '{print $2}'`;
   echo Ethernet Addr: $ETHERNET;
   sed -i 's/HWADDR=".*"/HWADDR="'$ETHERNET'"/' /etc/sysconfig/network-scripts/ifcfg-eth0;
   /sbin/start_udev
   /sbin/service network restart;
fi

関連情報