私は以下についてアドバイスする記事に出くわしました:
iptables -A INPUT -p tcp 1000:2000 -j ACCEPT
また、上記は機能せず、iptablesは--multiport
オプションを使用した複数のポート宣言のみをサポートすると述べています。
Iptablesで多くのポートを開く正しい方法はありますか?
間違ったことを書いたとしても、あなたが言ったことは正しいです(あなたは_--dport
_を忘れました)。
_iptables -A INPUT -p tcp --dport 1000:2000
_は、インバウンドトラフィックをTCP 1000から2000までのポートに開放します。
_-m multiport --dports
_は、開きたい範囲が連続的でない場合にのみ必要です。たとえば、_-m multiport --dports 80,443
_は、HTTPおよびHTTPSを開きますonly-間にあるものではありません。
ルールの順序は重要であり、(Iainが他の場所で彼のコメントで言及しているように)追加するすべてのルールが有効になる場所にあることを確認するのはあなたの仕事です。
TL; DRしかし...
マルチポートモジュールなしの純粋なポート範囲: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
フンがあります。
Man iptables-extensionsによると、-dportスイッチを使用するだけでポート範囲を定義できます。
tcp
これらの拡張子は、 `--protocol tcp 'が指定されている場合に使用できます。次のオプションがあります。
[!] --destination-port、-dport port [:port]
宛先ポートまたはポート範囲指定。フラグ--dportは、このオプションの便利なエイリアスです。
したがって、これもポート範囲を指定しています:iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT