J'ai rencontré des articles conseillant ce qui suit:
iptables -A INPUT -p tcp 1000:2000 -j ACCEPT
Et d'autres indiquant que ce qui précède ne fonctionnera pas et iptables ne prend en charge que plusieurs déclarations de port avec le --multiport
option.
Existe-t-il un moyen correct d'ouvrir de nombreux ports avec iptables?
C'est la bonne façon:
iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT
Par exemple. Source ici .
Ce qu'on vous a dit est vrai, bien que vous l'ayez mal écrit (vous avez oublié --dport
).
iptables -A INPUT -p tcp --dport 1000:2000
ouvrira le trafic entrant vers TCP ports 1000 à 2000 inclus.
-m multiport --dports
n'est nécessaire que si la plage que vous souhaitez ouvrir n'est pas continue, par exemple -m multiport --dports 80,443
, qui ouvrira HTTP et HTTPS seulement - pas ceux entre les deux.
Notez que l'ordre des règles est important et (comme Iain le mentionne dans son commentaire ailleurs), c'est votre travail de vous assurer que toute règle que vous ajoutez est à un endroit où elle sera efficace.
TL; DR mais ...
Gamme de ports purs sans module multiport: iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
Exemple multiport équivalent: iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT
... et variation sur plusieurs ports avec plusieurs plages (oui, c'est aussi possible): iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT
... et exemple multi-port multi-plage équivalent avec négation: iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT
Ayez phun.
Selon man iptables-extensions, vous pouvez définir une plage de ports en utilisant simplement le commutateur --dport.
tcp
Ces extensions peuvent être utilisées si `--protocol tcp 'est spécifié. Il propose les options suivantes:
[!] --destination-port, - dport port [: port]
Port de destination ou port ( spécification de plage . L'indicateur --dport est un alias pratique pour cette option.
Donc, cela spécifie également une plage de ports:iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT