回答:
-I
より安全です-A
。
-A INPUT -j REJECT --reject-with icmp-host-prohibited
INPUTやその他のテーブルの最後など、デフォルトですべてをドロップするルールがあります。を使用-A
すると、最後のルールの後にテーブルの最後にルールが追加されるため、netfilterが最初の一致の勝ちに基づいて動作すると見なされることはありません。を使用する-I
と、テーブルansの先頭にルールが挿入されるため、常に考慮されます。
-I
は必ずしも安全ではないことを指摘する価値があります。
あなたがそれを間違って書いた(あなたは忘れてしまった--dport
)けれども、あなたが言われたことは正しい。
iptables -A INPUT -p tcp --dport 1000:2000
TCPポート1000から2000までの受信トラフィックを開きます。
-m multiport --dports
開きたい範囲が連続していない場合にのみ必要です。例えば-m multiport --dports 80,443
、HTTPとHTTPS のみを開きます-間にあるものは開きません。
ルールの順序は重要であり、Iainが他の場所のコメントで言及しているように、追加するルールが有効になる場所にあることを確認するのはあなたの仕事です。
TL; DR but ...
マルチポートモジュールなしの純粋なポート範囲:
iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
同等のマルチポートの例:
iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT
...および複数の範囲を持つマルチポートに関するバリエーション(はい、これも可能です):
iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT
...そして、否定を伴う同等のマルチポートマルチレンジの例:
iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT
どうぞ。