2013-05-12 10 views
12

ich habe 2 Regeln von iptablesiptables bewegen Regel in einer Liste

iptables -A INPUT -s 5.5.5.5 -j DROP 
iptables -A INPUT -s 6.5.5.5 -j ACCEPT 

gibt es eine Funktion oder ein Befehl, der die Regeln tauschen wird so sein:

iptables -A INPUT -s 6.5.5.5 -j ACCEPT 
iptables -A INPUT -s 5.5.5.5 -j DROP 

Antwort

1

Es gibt keine solche Befehl, um zwei Iptables-Regeln zu tauschen.

Sie können sie einfach löschen und in die richtige Position einfügen.

21

zuerst die Zeilennummer überprüfen:

iptables -nL --line-numbers 

basierend auf Zeile löschen:

iptables -D INPUT {line} 

einfügen, wo Sie es möchten sein:

iptables -I INPUT {line} -i lo -p tcp --dport {port} -j ACCEPT -m comment --comment "This rule is here for this reason" 

bei diesen Quellen gefunden:

Delete Rule

Insert Rule

1

Es gibt ein Programm namens iptables-persistent die iptable Regeln persistent als os Service. Dieser Dienst enthält eine Konfigurationsdatei als iptables-save Export.

So können Sie die Zeilen in der Konfigurationsdatei neu anordnen und den Dienst neu starten.

sudo service iptables-persistent restart 

So einfach !!!!!

0

Statt -A Verwendung -D zu löschen und fügen Sie dann wieder

iptables -D INPUT 5.5.5.5 es -j DROP

iptables -D INPUT 6.5.5.5 es

-j ACCEPT

Jetzt mit swaped Wert

iptables -A INPUT hinzufügen 5.5.5.5 es

iptables -j ACCEPT -A INPUT 6.5.5.5 es -j DROP

0

Lassen Sie uns assuem Ihre INPUT-Kette nur diese beiden Regeln hat, so dass ihre ID-Nummer würde für -A INPUT -s 5.5.5.5 -j DROP und -A INPUT -s 6.5.5.5 -j ACCEPT

Jetzt 1 und 2 jeweils sein, lassen Sie uns ihnen hin- und herschalten: iptables -R INPUT 2 -s 5.5.5.5 -j DROP iptables -R INPUT 1 -s 6.5.5.5 -j ACCEPT

iptables -R ist ein Befehl zum Ersetzen Eine Regel existierte bereits in iptables mit einer anderen.

Seine Verwendung ist: iptables -R [chain name] [line number] [new rule]