iptablesを設定したら、ブラウザでconnection timed out; no servers could be reachedになって困った時の解決法。【ファイアウォール】【遅くなった】【centOS】


(参考:ここにたどり着くまでの道のりは、こちらのページへ。

1.iptablesを設定する
2. IPv6を無効化する

 

ファイアウォールを設置しようとiptablesを設定した途端におこった現象。

それは、

ブラウザでアクセスすると、connection timed out; no servers could be reachedと表示されて見れなくなる。

 

なにがなんやら、なにが原因だかさっぱりわからなくて、とにかくネットワークへイチから接続確認。

名付けて、シラミつぶし作戦!

 

 

まずはiptablesをオフにして確認する。

 

これはもちろん、すべて通る。
(逆に通らなかったらマズい。これ以前の問題。)

まずはiptablesをオフにする。
/etc/init.d/iptables stop
ネットワーク再起動。
/etc/init.d/network restart

●ローカルIP
ping xxx.xxx.xxx.xxx
(わからなければ『ifconfig』で調べる)

●グローバルIP
ping xxx.xxx.xxx.xxx
(わからなければ『nslookup URL』で調べる。
2個目のAddressのIPがグローバルIP。)

●GATEWAY
ping xxx.xxx.xxx.xxx
(わからなければ『route』で調べる)

●DNS(nameserver) 
ping xxx.xxx.xxx.xxx
(わからなければ『nslookup URL』で調べる。
1個目のAddressのIPがDNSIP。)

●ドメイン (デフォルト)
ping xxx.sakura.ne.jp

●ドメイン (買ったやつ)
ping monte-verita.biz

 

次にiptablesをオンにして確認する。

 

まずはiptablesをオンにする。
/etc/init.d/iptables start
ネットワーク再起動。
/etc/init.d/network restart

●ローカルIP
ping xxx.xxx.xxx.xxx

●グローバルIP
ping xxx.xxx.xxx.xxx

●GATEWAY
ping xxx.xxx.xxx.xxx

●DNS(nameserver) 
ping xxx.xxx.xxx.xxx

●ドメイン (デフォルト)
ping xxx.sakura.ne.jp

●ドメイン (買ったやつ)
ping monte-verita.biz

 

結果、、、あれ・・・全部通ってる。

なのにブラウザで見るとサイトに繋がらない。(???)

 

 

digで確認する。

 

●ローカルIP
dig xxx.xxx.xxx.xxx
↑↑↑ここで既に返ってこない!!以下のコマンドを打つも、すべて返ってこない。

●グローバルIP
dig xxx.xxx.xxx.xxx

●GATEWAY
dig xxx.xxx.xxx.xxx

●DNS(nameserver) 
dig xxx.xxx.xxx.xxx

●ドメイン (デフォルト)
dig xxx.sakura.ne.jp

●ドメイン (買ったやつ)
dig monte-verita.biz

 

解決策。

 

iptablesを有効にすると「yum」や「dig」が利用できなくなる。

原因は、DNS 問い合わせの帰りのパケットが拒否設定になってる。

UDPのPort53を許可すればよい。

 

/etc/sysconfig/iptablesに下記を追加する。

-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT

 

そんでもって、

まずはiptablesを再起動する。
/etc/init.d/iptables restart
ネットワーク再起動。
/etc/init.d/network restart

 

あとはdigコマンドをもう一度打つと、あら不思議。返ってくるようになりました。

 

わたしは念のため、OSを再起動し、それでもブラウザで表示されなかったので、PC自体も再起動したらきちんと表示されるようになった。

ブラウザにDNSのキャッシュやらなんやらがきっと残ってたんだと思う。

 

一件落着。

 

【シリーズ】
・iptablesを設定する
・IPv6を無効化する
・iptablesを設定したら、ブラウザでconnection timed out; no servers could be reachedになって困った時の解決法。