3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(Linux)ゲートウェイの設定に注意

Linuxで複数のNICを搭載していました。

一つはインターネットに出ないネットワーク(192.168.1.0/24)、一つはインターネットにでるネットワーク(192.168.0.0/24)です。

で、/etc/sysconfig/network-scripts/ifcfg-デバイス名 でIPアドレス等のネットワーク設定を行ったわけですが、それからインターネットにつながらなくなりました。

原因はNICの設定ファイル内で、それぞれのNICゲートウェイを設定していたためのようです。

設定はこんな感じです。

-------------------------

ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.0.2

NETMASK=255.255.255.0

NETWORK=192.168.0.0

GATEWAY=192.168.0.1

-------------------------

ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.1.2

NETMASK=255.255.255.0

NETWORK=192.168.1.0

GATEWAY=192.168.1.1

-------------------------

routeコマンドで確認すると次のようになっていました。

# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.0.0 * 255.255.255.0 U 0 0 0 eth1

192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1

デフォルトゲートウェイがインターネットに出ないネットワーク側のインターフェイス(eth1)に行くようになってます。

eth1 側のネットワーク設定ファイルで、ゲートウェイの設定を外すことでちゃんとインターネット側にアクセスできるようになりました。

Linuxのネットワーク設定の詳しい挙動はまだよくわからないのですが、複数のNICゲートウェイを設定すると、デフォルトゲートウェイはどれかランダムになってしまうのですかね。

多分 route コマンドで設定しなおせば、指定したNICにできるのかもしれません。