Ubuntuだけ外から接続できない(routeとNameServerの設定)

サーバーを移行したときにUbuntuとCentOSがある中で、なぜかUbuntuだけ外から接続できなくて調査したときのメモ。

結局ルータの設定で192.168経路で外に出れなくなっているみたい。どういった経路で外にでるかは

# route -n

とか

# traceroute -n -w 2 -q 2 -m 30 8.8.8.8

で分かる。tracerouteはGoogle public DNSに接続する経路を調査するときのコマンド例。

routeの情報は、ネットワークの設定でデフォルトゲートウェイ(DefaultGateway)を設定後にネットワークを再起動すると自動で設定されるみたい。

ちなみにネットワークの設定はCentOSの場合はsystem-config-networkコマンドでできる(前の記事)。Ubuntuの場合は/etc/network/interfacesを編集する(前の記事)。

ただUbuntuはネットワークを再起動してもルーティング情報が残ったままだったので、

# route del -net 0.0.0.0

のコマンドで削除。削除したあとネットワークを再起動したら思ったようなルーティングになった。

さらにルータをnameserverに指定しても名前解決してくれなかったので、GoogleのPublic DNSを使うように設定。/etc/resolve.confに次のように記述。

nameserver 8.8.8.8
nameserver 8.8.4.4

詳しくはGoogleのページに書いてある。ちゃんと8.8.8.8にたどり着くことができるかどうかは

# traceroute -n -w 2 -q 2 -m 30 8.8.8.8

で分かる。これもGoogleのページに書いてあるけど。

ルータをちゃんと設定すれば、こんなことで悩まないんだけどね。