Ich benötige die Iptables-Regel, um den gesamten eingehenden Datenverkehr zu akzeptieren

34

Für meine Testumgebung möchte ich den gesamten eingehenden Datenverkehr akzeptieren. Kann mir jemand bitte die Iptable-Regel geben, die hinzugefügt werden soll?

Meine aktuelle iptables -L -n Ausgabe sieht wie folgt aus

Chain INPUT (Policy ACCEPT) Zielprotokoll Opt. Quelle
Ziel ACCEPT all - 0.0.0.0/0 0.0.0.0/0
Status RELATED, ESTABLISHED ACCEPT icmp - 0.0.0.0/0
0.0.0.0/0 ACCEPT all - 0.0.0.0 / 0 0.0.0.0/0 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt: 22 REJECT all - 0.0.0.0/0 0.0.0.0/0
reject-with icmp-host-disabled ACCEPT tcp - 0.0.0.0/0
0.0.0.0/0 tcp dpt: 8443 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 8080 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 9443 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 2124

Chain FORWARD (Policy ACCEPT) Zielprotokoll Opt Source
Ziel REJECT all - 0.0.0.0/0 0.0.0.0/0
reject-with icmp-host-disabled

Chain OUTPUT (policy ACCEPT) Ziel prot opt Quelle
Ziel

Vielen Dank


quelle

Antworten:

53

Führen Sie Folgendes aus. Es fügt die Regel oben in Ihre iptables ein und lässt den gesamten Datenverkehr zu, sofern er nicht später von einer anderen Regel behandelt wird.

iptables -I INPUT -j ACCEPT

Sie können Ihr gesamtes iptables-Setup auch folgendermaßen leeren:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Wenn Sie es spülen, möchten Sie möglicherweise Folgendes ausführen:

iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Allow all loopback traffic"
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT -m comment --comment "Drop all traffic to 127 that doesn't use lo"
iptables -A OUTPUT -j ACCEPT -m comment --comment "Accept all outgoing"
iptables -A INPUT -j ACCEPT -m comment --comment "Accept all incoming"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow all incoming on established connections"
iptables -A INPUT -j REJECT -m comment --comment "Reject all incoming"
iptables -A FORWARD -j REJECT -m comment --comment "Reject all forwarded"

Wenn Sie etwas sicherer mit Ihrem Datenverkehr sein möchten, verwenden Sie nicht die Regel "Alle eingehenden akzeptieren" oder entfernen Sie sie mit "iptables -D INPUT -j ACCEPT -m comment --comment" Alle eingehenden akzeptieren "" und fügen Sie weitere hinzu spezifische Regeln wie:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Allow HTTP"
iptables -I INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Allow HTTPS"
iptables -I INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT -m comment --comment "Allow SSH"
iptables -I INPUT -p tcp --dport 8071:8079 -j ACCEPT -m comment --comment "Allow torrents"

HINWEIS: Sie müssen oben über den beiden Ablehnungsregeln liegen. Verwenden Sie also I, um sie oben einzufügen. Oder wenn Sie wie ich anal sind, verwenden Sie "iptables -nL --line-numbers", um die Zeilennummern abzurufen, und verwenden Sie dann "iptables -I INPUT ...", um eine Regel an einer bestimmten Zeilennummer einzufügen.

Speichern Sie Ihre Arbeit abschließend mit:

iptables-save > /etc/network/iptables.rules #Or wherever your iptables.rules file is
Alex Atkinson
quelle
1
Diese Antwort beendete endlich meinen Schmerz. In dieser Antwort wird die Frage beantwortet, wie ich # @ $ #% iptables dazu bringe, das zu tun, was ich möchte und nur das, was ich möchte. Die einzige Verbesserung, die ich empfehlen würde, ist das Hinzufügen eines Beispiels für die Weiterleitung eines Ports. (dh von 80 bis 8080 und von 443 bis 8443) Ich denke, 99% der Fragen zu iptables würden in einem einzelnen Beitrag beantwortet.
Eric Hartford
Ich komme etwas spät darauf zurück, aber hier ist es. Datenverkehr von einem Port zu einem anderen umleiten: "iptables -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080". Es ist einfach genug, es anzupassen, um zu tun, was Sie wollen. Die einzige Voraussetzung ist, dass beide Ports geöffnet sind (über Einträge oberhalb dieser Anweisung). Viel Spaß!
Alex Atkinson
16

Um den gesamten eingehenden Datenverkehr zu akzeptieren, den Sie mit dem folgenden Befehl verwenden können, muss -P die Standardrichtlinie als "accept" festlegen

iptables -P INPUT ACCEPT  

Wenn Sie Ihre vorherigen Regeln nicht benötigen, löschen / entfernen Sie sie einfach und verwenden Sie dann den obigen Befehl.
um alle Regeln zu löschen, benutze

iptables -F    
Gangadhar
quelle