UbuntuでethXとMACを静的に対応付ける

3つNICのあるUbuntuサーバを再起動したら、eth1とeth2が入れ替わってしまった。

1ヶ月半ほど前にも同じことがあって、そのときは、その場しのぎでIPの付け替えをしただけだったのですが、再発するとさすがに面倒なので、今回はちゃんとMACアドレスと各インタフェイスの対応を設定しました。

普段はCentOSを使っているので、たまに社内にあるUbuntu(もしくはDebian)を触ると、設定ファイルがどこにあるのかとか、設定ファイルの書き方が微妙に違ったりとで、悩ましいです。社内のサーバは全部CentOSにしてくれないかなぁと思ってしまうことが多々ありますね。RedHat系ならいいから、Fedoraでもいいんですけど。

さて、本題のインターフェイスMACアドレスの対応を設定する方法ですが、/etc/network/interfacesというファイルに以下のように記述します。例はeth0とeth1の設定例です。

auto eth0
iface eth0 inet static
	address 192.168.X.Y *1
	netmask 255.255.255.0 *2
	network 192.168.X.0 *3
	broadcast 192.168.X.255 *4
	gateway 192.168.X.1 *5
	hwaddress ether 00:AA:BB:CC:DD:EE *6

iface eth1 inet static
	address 192.168.A.B
	netmask 255.255.255.0
	network 192.168.A.0
	broadcast 192.168.A.255
	gateway 192.168.A.1
	hwaddress ether 00:AA:BB:CC:DD:FF

すぐに確認するには、

/etc/init.d/networking restart

でネットワークを再起動します。

今までは、hwaddressの指定がなかったので、起動のたびにeth1とeth2入れ替わってしまっていました。たしか前回も原因は分かっていたけど、調べるのが面倒で場当たり的なことをしてしまったという記憶があります。

やっぱり、分からなくてもちゃんと調べて設定しておくべきですね。反省、反省。

Ubuntuは、社内のある一派が良く使うので、最低限の設定方法は覚えておかないといけないな。。。

*1:設定したいIPアドレス

*2:サブネットマスク

*3:ネットワーク開始アドレス

*4:ブロードキャストアドレス

*5:ゲートウェイ

*6:そのIPを設定したいインタフェイスのMACアドレス