VineLinuxパフォーマンスアッププロジェクト:0108
■NIC名(LANポート)の認識順序を指定する方法■
自作の有線ブロードバンドルータの場合、あらかじめオンボードになっているLANポート以外にPCIバスなどにLANポートを増設している場合が多いと思います。LANポート(NIC)は1台のパソコンに何枚も設置すればする程ネットワークの設定がややこしくなってくるんですよね。
そこで今回は複数NICがある場合によく起こるNIC名(eth0,eth1など)の逆転認識を防ぐ方法を紹介します。
※2006/12/ 9追記
VineLinux4.0よりデフォルトで下記のようにifcfg-eth*ファイル内にMACアドレスを記述されるようになりました。従って以下の記述は追加する必要はありません。
また、VineLinux3.2以前のバージョンでは下記のようにifcfg-eth*ファイル内にMACアドレスを記述するとネットワーク設定を読み込む際に大変時間がかかります。この原因とその解決法についてご存じの方がいらっしゃましたら掲示板まで連絡よろしくお願いいたします。
Linuxの場合、NIC名(eth0,eth1など)はNICの数に応じて増えていきます。通常オンボードされているNICがeth0となるのですが、複数NICがある場合によく起こるのがハードウェアなどの影響でNIC名が逆転して認識されてしまうという現象(オンボードされているNICがeth1になってしまうなど)です。
この現象は簡単に防ぐことができます。rootユーザ権限でNICの設定ファイルである/etc/sysconfig/network-scripts/ifcfg-ethX(←XはNICの数に応じて番号が増えます)をテキストエディタなどで開き、そこにNICのMACアドレス(ハードウェアアドレス)を記入するだけです。ハードウェアアドレスについては/sbin/ifconfigコマンドで確認することができます。
/etc/sysconfig/network-scripts/ifcfg-ethXを開くと大体以下のようになっていると思います。
DEVICE=ethX ←NIC名
BOOTPROTO=dhcp ←起動方法(dhcp接続やstatic【固定設定】など)
ONBOOT=yes ←システム起動時に自動起動させるかどうか設定
USERCTL=no ←一般ユーザがコントロールできるかどうかの設定
NAME="**************************" ←文字化けしたNICの名前(とりあえず無視で結構です。)
PEERDNS=yes ←DNS自動書き換え設定
ここに/sbin/ifconfigコマンドで確認したハードウェアアドレスを以下のように追加してください。
HWADDR=XX:XX:XX:XX:XX:XX(←XXにハードウェアアドレスを記入)
記入し終えたら上書き保存してネットワーク設定を再読み込みさせます。
/etc/rc.d/init.d/network reload
これで完了です。以降Linuxを起動した時からきちんとこの設定でNICが認識されるはずですよ。