telnetでno route to hostとなり接続できない時のファイアウォール設定の落とし穴
|
先日Linuxマシンに新たにtelnetを導入しようとした際、
pingによる導通確認はできるにもかかわらず、telnetで接続しようとすると
「no route to host」と表示され接続できない事象が発生したので、
備忘録としてこちらに残します。
※本記事の内容に対して一切の責任を持ちません。検証等は自己責任でお願いします。
状況
・PC1からPC2へtelnetで接続したい
・PC1からPC2はpingにより導通確認が取れている
・PC2ではファイアウォール(iptables)が動作している(PC1の状況は忘れた)
上記のような状態で、PC1にてtelnetをするとno route to hostと表示され、PC2に
接続できませんでした。検索してみるとファイアウォールの設定が悪いという情報は
たくさん見つかりましたが、PC1にて
#iptables -L
を実行すると、anywhereからanywhereに対してACCEPTとなっていた
(INPUT、OUTPUT共に)ので、ファイアウォールが原因ではないと考えました。
実はこれが問題で、わたしの利用していたiptablesでは#iptables -Lを
実行したときにインターフェースが表示されていませんでした。
つまりどういうことかというと、iptables -Lを実行すると通過するように見えていた
パケットが、実際にはloopbackインターフェース(lo)でのみ許可されており、
今回接続したかったtelnetのパケットが出入りするインターフェースでは、
許可されていなかったということです。よく考えれば、気付きそうなものですが、
思い込みが激しくなかなか気付けませんでした。
なお、iptables -Lでインターフェース名も表示させたいときには-vオプションをつければ
よいそうです(iptables -L -v)。今度からiptables -Lをするときは-vオプションもつける癖を
つけよう。
|
「日記」書庫の記事一覧
-
2013/9/23(月) 午後 11:30
-
2013/8/24(土) 午後 11:19
-
2013/7/21(日) 午後 11:57
-
2013/6/15(土) 午後 11:03
-
2013/5/19(日) 午後 10:06
-
2013/5/3(金) 午前 8:24
-
2013/4/6(土) 午後 10:40
コメント(0)
※投稿されたコメントはブログ開設者の承認後に公開されます。
トラックバック
トラックバック先の記事
- トラックバック先の記事がありません。