Ich bin auf Artikel gestoßen, die Folgendes empfehlen:
iptables -A INPUT -p tcp 1000:2000 -j ACCEPT
Und andere geben an, dass das oben genannte nicht funktioniert und iptables mehrere Portdeklarationen nur mit dieser --multiport
Option unterstützt.
Gibt es eine korrekte Möglichkeit, mit iptables viele Ports zu öffnen?
Antwort1
So geht's richtig:
iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT
Als Beispiel. QuelleHier.
Antwort2
Was man Ihnen gesagt hat, ist richtig, auch wenn Sie es falsch geschrieben haben (Sie haben es vergessen --dport
).
iptables -A INPUT -p tcp --dport 1000:2000
öffnet eingehenden Datenverkehr für die TCP-Ports 1000 bis einschließlich 2000.
-m multiport --dports
wird nur benötigt, wenn der Bereich, den Sie öffnen möchten, nicht kontinuierlich ist, z. B. -m multiport --dports 80,443
, wodurch HTTP und HTTPS geöffnet werdennur- nicht die dazwischen.
Beachten Sie, dass die Reihenfolge der Regeln wichtig ist und dass es (wie Iain in seinem Kommentar an anderer Stelle andeutet) Ihre Aufgabe ist, sicherzustellen, dass jede von Ihnen hinzugefügte Regel an der Stelle steht, an der sie wirksam ist.
Antwort3
TL;DR, aber ...
Reiner Portumfang ohne Multiportmodul:
iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
Entsprechendes Multiport-Beispiel:
iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT
... und Variante zum Thema Multiport mit mehreren Bereichen (ja, das ist auch möglich):
iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT
... und entsprechendes Multi-Port-Multi-Range-Beispiel mit Negation:
iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT
Viel Spaß.
Antwort4
Es gibt eine andere Möglichkeit, den Eintrag direkt zur Iptables-Datei hinzuzufügen. Standort/etc/sysconfig/iptables
-A INPUT -p tcp -m multiport --dports 1024:3000 -m state --state NEW -j ACCEPT
danach starten Sie den iptable-Dienst neu