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のページに書いてあるけど。
ルータをちゃんと設定すれば、こんなことで悩まないんだけどね。