iptablesはホスト名をどのように処理しますか?

iptablesはホスト名をどのように処理しますか?

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

iptablesNetfilter を構成するツールです。 Netfilter はホスト名を処理しません。

ルールを変更するとiptablesホスト名がIPとして解決され、ルールを一覧表示するとiptablesIPリバースルックアップが実行されます(この-nオプションを使用しない場合)。

localhost が 127.0.0.1 以降の別の項目で確認された場合、または他の項目の逆照会結果である場合、非常に奇妙な設定を持つことになり驚くことがあります。

おすすめ記事