iptables déplace la règle dans une liste
j'ai 2 règles d'iptables
iptables -A INPUT -s 5.5.5.5 -j DROP
iptables -A INPUT -s 6.5.5.5 -j ACCEPT
est-il une fonction ou une commande qui échange les règles pour être comme ceci:
iptables -A INPUT -s 6.5.5.5 -j ACCEPT
iptables -A INPUT -s 5.5.5.5 -j DROP
5 réponses
Vérifiez D'abord le numéro de ligne:
iptables -nL --line-numbers
Supprimer, après la ligne:
iptables -D INPUT {line}
Insérer où vous le voudriez être:
iptables -I INPUT {line} -i lo -p tcp --dport {port} -j ACCEPT -m comment --comment "This rule is here for this reason"
Trouvé à ces sources:
Il n'existe pas de commande pour échanger deux règles iptables.
vous pouvez simplement les supprimer et les insérer dans la position appropriée.
il y a un programme nommé iptables-persistent
qui rendent les règles d'iptable persistantes comme un service d'os. ce service inclut un fichier de configuration comme le iptables-save
exporter.
ainsi vous pouvez réorganiser les lignes dans le fichier de configuration et redémarrer le service.
sudo service iptables-persistent restart
Si facile!!!!!
au lieu de-A UTILISER-D pour supprimer puis Ajouter à nouveau
iptables-D INPUT-s 5.5.5.5-j DROP
iptables-D INPUT-s 6.5.5.5-j ACCEPT
maintenant ajouter avec la valeur sautée
iptables-A INPUT-s 5.5.5.5-j ACCEPT
iptables-A INPUT-s 6.5.5.5-j DROP
assuem votre chaîne INPUT n'a que ces deux règles, donc leur numéro D'identification serait 1
et 2
respectivement pour -A INPUT -s 5.5.5.5 -j DROP
et -A INPUT -s 6.5.5.5 -j ACCEPT
maintenant, changeons-les:
iptables -R INPUT 2 -s 5.5.5.5 -j DROP
iptables -R INPUT 1 -s 6.5.5.5 -j ACCEPT
iptables -R
est une commande pour Remplacer une règle existait déjà dans iptables avec l'autre.
son usage est: iptables -R [chain name] [line number] [new rule]