May 222006
 

NIC2枚挿しのLinuxマシンで、ethデバイスの認識順を制御したいのですがうまくいきません。

Gentooを動かしているAlphaマシンにはtulipと3comの2つが搭載されているのですが、オンボードのtulipよりも増設してある3comが先に認識されてeth0になります。
なんとなくオンボードのtulipにeth0を振りたくなったので/etc/modules.confにalias指定すれば制御できると思ってたのですが、考えが甘かったようでできませんでした(↓こんな風)。

alias eth0 tulip
alias eth1 3c59x

この設定でリブートすると、最初はきちんと意図どおりになるのですが、その次にリブートすると元の順序に戻ったりと固定化されません。

この方法ではダメなのか?、といろいろウェブを漁ってみますと、どうやらudevのルール記述でできそうということがわかりましたので再チャレンジ。
udevルールの書き方に従い/etc/udev/rules.d/10-local.rulesを用意して以下のように設定してみます。

KERNEL="eth*", SYSFS{address}="08:00:2b:86:75:**", NAME="eth0"
KERNEL="eth*", SYSFS{address}="00:10:4b:35:30:**", NAME="eth1"

これでブートすると、初回は意図どおりになりますが、alias設定時のように元に戻ってしまいます…。

他にifrenameを使う、などといった情報も見つかるのですが、きちんとできる方法ってあるんでしょうか 😕
tulipをstatic組み込み、3comをmoduleでloadする格好にしてみようかな。って、それで制御できるのかもわかってませんが。

 Posted by at 3:40 pm  Tagged with:

Sorry, the comment form is closed at this time.