Frage Was ist der richtige Weg, um eine Reihe von Ports in iptables zu öffnen


Ich bin auf Artikel gestoßen, die Folgendes empfehlen:

iptables -A INPUT -p tcp 1000:2000 -j ACCEPT

Und andere sagen, dass das obige nicht funktioniert und iptables unterstützt nur mehrere Port - Deklarationen mit dem --multiport Möglichkeit.

Gibt es eine korrekte Möglichkeit, viele Ports mit iptables zu öffnen?


45
2018-05-13 16:54


Ursprung


Verwandte Frage: iptables und mehrere Ports - Cristian Ciupitu


Antworten:


Das ist der richtige Weg:

iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT

Als Beispiel. Quelle Hier.


50
2018-05-13 16:57



Wenn Sie den Status des Regelsatzes nicht kennen -I ist etwas sicherer als -A. - Iain
@Iain, können Sie bitte die Gründe dafür erklären? - jayhendren
@jayhendren viele Regelsätze haben eine Standard-Drop-alles-Regel z. -A INPUT -j REJECT --reject-with icmp-host-prohibited am Ende der INPUT und anderen Tabellen. Verwenden -A Fügt die Regel am Ende der Tabelle nach der letzten Regel hinzu, so dass sie nie berücksichtigt wird, da netfilter auf einer ersten Match-Wins-Basis arbeitet. Verwenden -I fügt die Regel am Anfang der Tabelle ein und wird als solche immer berücksichtigt. - Iain
@Iain jedoch haben einige Regelsätze am Anfang Regeln, die Filter- oder Ratenbegrenzungspakete enthalten, daher lohnt es sich, darauf hinzuweisen -I ist nicht immer sicherer, wenn Sie den Regelsatz nicht kennen. - jayhendren
@jayhendren Ich denke, du hast es gerade getan und notiere auch, dass ich etwas nicht gesagt habe immer. - Iain


Was dir gesagt wurde, ist richtig, obwohl du es falsch geschrieben hast (du hast es vergessen) --dport).

iptables -A INPUT -p tcp --dport 1000:2000 öffnet eingehenden Datenverkehr zu den 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 -m multiport --dports 80,443, wodurch HTTP und HTTPS geöffnet werden nur - nicht die dazwischen.

Beachten Sie, dass die Reihenfolge der Regeln wichtig ist und (wie Iain in seinem Kommentar an anderer Stelle darauf anspielt), dass es Ihre Aufgabe ist, sicherzustellen, dass jede Regel, die Sie hinzufügen, sich an einem Ort befindet, an dem sie wirksam ist.


48
2018-05-13 17:15



Ich könnte hier auch anspielen, wenn du willst;) - Iain
Hee hee hee! Weiter so, die Nachricht ist es wert, wiederholt zu werden! - MadHatter
Dies ist die richtige Antwort; es ist gründlicher. - Andrew Kozak


TL, DR aber ...

Reine Port-Reichweite ohne Multiport-Modul: iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT

Äquivalentes Multiport-Beispiel: iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT

... und Variation über 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 äquivalentes Multiport-Beispiel mit Negation: iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT

Phun haben.


10
2018-04-08 19:13