Comment PREPENDRE les règles plutôt que APPEND en utilisant iptables?

65

Jolie question de base: comment PREPENDRE les règles sur IPTABLES plutôt que d’APPENDER?

J'ai des DROPdéclarations au bas de mes règles. J'ai un logiciel pour ajouter de nouvelles règles, mais l'ajout de règles après des DROPdéclarations n'est pas une bonne chose. Chaque fois que je veux ajouter une nouvelle règle, je dois vider la table (ce qui est inefficace).

Existe-t-il un moyen de préfixer une règle, c'est-à-dire d'ajouter une règle en haut du tableau plutôt qu'en bas?

Merci beaucoup.

ale
la source

Réponses:

84

Utilisez le -Icommutateur:

sudo iptables -I INPUT 1 -i lo -j ACCEPT

Ceci insérerait une règle à la position n ° 1 dans la chaîne INPUT.

Yanick Girouard
la source
2
Dang! Tu m'as battue de 18 secondes ... Je n'étais pas assez rapide :(
Yanick Girouard
1
Hehehehehehehe :)
cjc
2
@YanickGirourad, hah, vous avez la coche!
cjc
5
Il est également à noter que lors de l'utilisation de -I INPUT 1, aucune règle n'est écrasée. Au lieu de cela, toutes les règles seront décalées d’une position.
Abdull
1
Note importante de Abdull.
Halsafar
19

-Iva insérer. Vous utilisez probablement -Apour ajouter.

Vous pouvez également faire iptables -I chain rulenumpour insérer une règle sous le numéro "rulenum" dans la chaîne "chaîne". -R chain rulenumpeut être utilisé pour remplacer une règle spécifique au numéro "rulenum" dans la chaîne "chaîne". iptables -L -n --line-numbersaffichera les numéros de règle dans la colonne la plus à gauche.

cjc
la source
Je suis pressé en ce moment ou je regarderais ça mais ce serait bien de voir un exemple de la façon dont la "chaîne" fonctionne ici, ou un lien.
PJ Brunet
//, reportez-vous à fedoraproject.org/wiki/… pour plus d'informations sur la manière d'insérer correctement une règle IPTables.
Nathan Basanese
2

Pour aider à déterminer le numéro de ligne à ajouter à la nouvelle règle, je l’utilise iptables-savepour afficher les règles existantes sur la console.

Pour les débutants, je peux également suggérer une carte de triche en utilisant Webmin pour administrer vos règles. C'est très convivial et vous pouvez facilement réorganiser manuellement les règles de la liste. Il gérera également les "légères" variations dans les implémentations d'iptables basées sur redhat vs debian.

AngryWombat
la source
2
iptables -L --line-numbersest un peu plus indépendant de la plate-forme
Sirex
1
Je ne sais pas exactement pourquoi on devrait utiliser Webmin pour cela (ou quoi que ce soit). Il vaut bien mieux apprendre à utiliser la ligne de commande que d'utiliser une béquille.
Falcon Momot
2

Il existe un programme nommé iptables-persistentqui rend les règles d'iptable persistantes en tant que service OS. ce service inclut un fichier de configuration comme iptables-saveexportation.

Vous pouvez donc réorganiser les lignes dans le fichier de configuration et redémarrer le service.

sudo service iptables-persistent restart

Si facile!!!!!

shgnInc
la source