Ubuntu NIC2枚刺し - eiichiromomma/CVMLAB GitHub Wiki

(Ubuntu) NICを2枚刺し

NICが2枚刺さっていて両者にIPを指定、あるいは自動取得する場合の設定

default gwが2つ

正直に両方のNICを自動設定してくれるのは良いが、gatewayも丁寧に2つ指定してしまう。 GUIのネットワークの設定ツールを使うと1つになるが、再起動の度にやらねばならない。

問題

Linuxの場合、/etc/network/interfacesで制御する。 ちょっと変わった例だが

auto eth0
iface eth0 inet static
address 固定IP
netmask マスク
gateway GW1のIP

auto eth1
iface eth1 inet dhcp

となっている場合、eth0がupするとGW1がdefault gatewayに指定されるのだが、続いてeth1がDHCPでupされ192.168.1.1がルーターだったとすると、自動的に192.168.1.1もdefault gatewayに指定されてしまう。 結果としてrouteコマンドで経路を確認するとdefaultが2つ並ぶ事態となる。

対策

interfacesファイルではup時のみ(あるいはdown時のみ)に実行するコマンドも指定できる。 本来はup時にgatewayを追加するために使われる事が多い機能なのだが、逆に自動指定されたgatewayを消してしまえば良い。auto eth1の所を次のようにする。

auto eth1
iface eth1 inet dhcp
up route del default gw 192.168.1.1

と、upから始まる1行を足すのみ。 192.168.1.1はルータが与えるgatewayを指定する。

これで再起動してもdefault gatewayは1つしか出てこない。