web-dev-qa-db-ja.com

ncを使用してホストへのルートはありませんが、pingを実行できます

ある仮想マシンから別の仮想マシンにnetcatを使用してポート25に接続しようとしていますが、no route to Host pingはできますが。ファイアウォールのデフォルトポリシーをドロップするように設定していますが、その特定のサブネットのポート25のトラフィックを受け入れる例外があります。 VM 3 TO VM 2 on port 25 on ncで接続できますが、VM 2 TO 3。

これがVM2のファイアウォールルールのプレビューです

screenshot

これは、VM 3のファイアウォールルールのプレビューです。

screenshot

リスニングサービスを表示すると、*:25は、すべてのipv4 IPアドレスと:::25(IPv6アドレスの場合)。エラーがどこにあり、なぜ機能していないのか理解できません。両方のファイアウォールルールがポート25でトラフィックを受け入れるため、接続しているはずです。両方の違いを比較して、なぜvm3からvm2に接続できるのかを確認してみましたが、構成はすべて同じです。何が問題になる可能性があるかについての提案はありますか?

アップデートでiptableサービスを停止すると問題は解決しますが、これらのルールが存在する必要があります。

21
Katz

マシンがping可能であるときのno route to Hostは、ファイアウォールのサインであり、ポライトアクセスを拒否します(つまり、DROP pingではなくICMPメッセージを使用します)。

REJECT行を確認しますか?それらは説明と一致します(ICMP xxxでREJECT)。問題は、一見(#)のキャッチオールREJECT行がルールの途中にあるため、次のルールがまったく実行されないことです。 (#)これらが実際のキャッチオールラインであるかどうかを判断するのは難しいため、iptables -nvLの出力が望ましいでしょう。

これらのREJECTルールを最後に置くと、すべてが期待どおりに機能するはずです。

23
xhienne