IPブロックが私のサーバーのポート22にアクセスするのを防ぐためにiptablesにルールを書くPythonスクリプトがあります。
これらのルールを作成した後、ブロックの1つのホスト名は「localhost / 22」です。 iptablesはこれを127.0.0.1として扱いますか、それともまだIPアドレスを認識しますか?このため、私のサーバーがロックされたくありません。
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- *****/14 anywhere
DROP all -- localhost/22 anywhere
DROP all -- ****/20 anywhere
また、簡単な質問:iptablesが各ルールのポートを表示しないのはなぜですか? dportとして22を指定しました。
ベストアンサー1
iptables
Netfilter を構成するツールです。 Netfilter はホスト名を処理しません。
ルールを変更するとiptables
ホスト名がIPとして解決され、ルールを一覧表示するとiptables
IPリバースルックアップが実行されます(この-n
オプションを使用しない場合)。
localhost が 127.0.0.1 以降の別の項目で確認された場合、または他の項目の逆照会結果である場合、非常に奇妙な設定を持つことになり驚くことがあります。