サーバーのソフトウェアをUbuntu 12.04からUbuntu 14.04にアップグレードしたところ、サーバーがインターネットにアクセスできなくなりました。
LAN上のデバイス(モデムを含む)をpingできます。インターネット上のサイト(たとえば、8.8.8.8)にpingを実行しようとすると、100%のパケット損失が発生します。これは私が読んでいるものからのDNSの問題かもしれないと思う。 /etc/network/interfaces
に次の行を追加しました。
dns-nameservers 8.8.8.8 8.8.4.4
成功しませんでした。
ifconfig
の関連する結果:
eth0 Link encap:Ethernet HWaddr 64:31:50:1f:88:72
inet addr:192.168.0.222 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::6631:50ff:fe1f:8872/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:575229 errors:0 dropped:55 overruns:0 frame:0
TX packets:10313 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:35490659 (35.4 MB) TX bytes:898607 (898.6 KB)
route -n
の出力:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
/etc/network/interfaces
ファイルの内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.222
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4
tracepath 8.8.8.8
の出力:
1?: [LOCALHOST] pmtu 1500
1: 192.168.0.1 0.446ms
1: 192.168.0.1 0.444ms
2: no reply`
3: no reply`
//continues with no reply until interrupted
これは珍しいもののように見えます...
まず、DNSが関与していることを心から疑いますが、DNSに8.8.8.8などを使用している場合、それらのサーバーに到達できないためDNSは失敗します。
まず、ローカルゲートウェイをpingできるため、LAN構成にできません。そのため、ローカルゲートウェイとの間のトラフィックは機能します。
最大のヒントは、トレース内のゲートウェイの二重リストです。ゲートウェイは一度だけ表示されるはずです。これは、ゲートウェイでのループを示唆しています。しかし、他のすべてのシステムは正常に機能し、記述内容に応じて、変更されたのはローカルシステムのみです。
私がリモートで考えることができるのは、おおよそ次のようなiptablesルールがある場合だけです。
iptables -t nat -D POSTROUTING ! -d 192.168.0.0/24 -j SNAT --to-source 1.2.3.4
1.2.3.4
は、一部の偽のIPアドレス、または以前は有効だったIPアドレスが機能しなくなった場合です。
これにより、ローカルトラフィックは機能しますが、返信が間違った場所に送られるため、ローカルネットワークを越えて出て行くものはすべて壊れます。ゲートウェイは本質的に「なりすまし」トラフィックであるため、そのようなトラフィックをブロックする場合があります。
可能であれば、ゲートウェイでのトラフィック検査に関する問題のヒントが得られると思います。
それができない場合-非常に理解しやすい-あなたのネットワーク上に別のLinuxボックスを設定し、この障害のあるシステムのデフォルトゲートウェイにして、それが生成しているトラフィックを検査することができます。これは、アップグレードされたシステムに障害があることを前提としています。 2番目のLinuxボックスをip_forward
に設定し、それを192.168.0.1デバイスのゲートウェイにした場合、原因を突き止めるのに役立つより有用な情報が表示されることもあります。
最終的にソートされたときにそれが何であったかを見るのは興味深いでしょう。
「/etc/resolv.conf」に移動して、#で始まる行の下にこれらの行を追加します。「nameserver 8.8.8.8」「nameserver 8.8.4.4」これを実行した後に接続できるかどうかを確認します。ファイルを変更した後は再起動せず、保存して接続をテストしてください。これが機能する場合、それはDNSの問題でした。ファイルに加えられた変更は、再起動後に元に戻されます。