ubuntu at u-aizu

ネットワークの認識

マザーボードの変更、使っているネットワークカードの変更などで、ボードが変わってしまった場合、Ubuntuで認識できなくなることがある。
そんな場合、従来であれば例えばモジュールを変更するなどという手があるが、Ubuntu (8.04以降)の場合、システムハードウェアの管理はHALに移行しているため、HAL側の設定を変更しなければならない。

1. まず、モジュールがロードできていることを確かめる。

lsmod | more

2. モジュールがロードされていて、ネットワーク関連の他のモジュールなどでも正常に関連づけられているようであれば、ifconfigを実行し、ネットワークの状況について確認する。

ifconfig -a

この時点で、例えば本来であればeth0と認識されるべきでバイスが、eth1として認識されているケースがある。
この場合、従来であれば、例えば/etc/sysconfig/の下にあるファイルを変更するが、現在ではHALの設定ファイルを変更することが必要である。従って、以下のようにする。

/etc/udev/rules.d/70-persistent-net.rulesというファイルを編集する。例えば、機器を取り替えた直後、再起動するとこのような状態になっている可能性がある(注釈部分を省略)。

# PCI device 0x33e4:0x267a (tg3) SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:12:23:34:45:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="ab:cd:ef:12:34:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
ここには2行のエントリーがあるが、最後のNAME=に注目する。本来1つのネットワークインタフェースしかないはずなのにもかかわらず、このようなエントリーになっているということは、どちらかが例えば過去のネットワークインタフェースのものか、間違えて認識されている可能性がある。
このため、どちらが正しい(現在接続されている)インタフェースなのかを見分ける必要があるが、その手がかりが、addressとして記載されているMACアドレスである。
このために、改めてifconfigを実行すると、「ハードウェアアドレス」としてMACアドレスが表示されるので、現在接続されている側のMACアドレスが記載されている行だけを残し、残りの行を削除する。
その上で、インタフェース名を eth0 など適切なものに変更し、再起動すれば、正しくネットワーク関連の再設定が行われる。


トップへ戻る