すでにファイアウォールが設定されているシステムを使用しています。ファイアウォールは1000以上のiptablesルールで構成されています。これらのルールの1つは、ドロップしたくないパケットをドロップすることです。 (私がしたので私はこれを知っていますiptables-save
に続く iptables -F
とアプリケーションが動作し始めました。)手動で並べ替えるにはルールが多すぎます。パケットをドロップしているルールを示すために何かを行うことができますか?
チェーンの早い段階でTRACEルールを追加して、パケットが通過するすべてのルールをログに記録することができます。
ルールを検索するためにiptables -L -v -n | less
を使用することを検討します。私はポートを見るでしょう。住所;そして、適用されるインターフェース規則。非常に多くのルールがある場合、ほとんど閉じたファイアウォールを実行している可能性が高く、トラフィックの許可ルールがありません。
ファイアウォールはどのように構築されていますか?ビルドされたルールよりもビルダールールを見る方が簡単な場合があります。
iptables -L -v -n
には、次のことができるカウンターがあります。
iptables -L -v -n > Sample1
#Cause the packet that you suspect is being dropped by iptables
iptables -L -v -n > Sample2
diff Sample1 Sample2
この方法では、増分したルールのみが表示されます。
iptables -L -v -n
を実行して、すべてのテーブルとすべてのルールのパケットとバイトのカウンターを確認します。
私の会社ではwatch -n 2 -d iptables -nvL
、リクエスト間の変更を示します
watch -n1 -d "iptables -vnxL | grep -v -e pkts -e Chain | sort -nk1 | tac | column -t"
これは、テーブルfilterの内容のみを表示することに注意してください。
追加 -t nat
(またはフィルター以外に使用するテーブル)をiptables呼び出しに追加し、そこでルールを確認します。