Comment supprimer la règle iptables
Le but de ce tutoriel est de montrer comment supprimer les règles iptables sur un système Linux. Il est possible de supprimer les règles iptables une par une ou d’effacer toutes les règles de n’importe quelle chaîne iptables à la fois. Vous verrez bientôt comment.
Le pare-feu iptables sur les systèmes Linux est une fonctionnalité très utile qui permet aux administrateurs système de contrôler, avec une précision granulaire, quel trafic réseau est autorisé ou refusé au système.
Finalement, le moment sera venu de supprimer les règles qui ne concernent plus la configuration souhaitée. Dans ce tutoriel, vous verrez plusieurs méthodes de ligne de commande différentes pour supprimer les règles iptables sous Linux.
Dans ce tutoriel, vous allez apprendre :
- Comment supprimer les règles iptables individuellement
- Comment effacer toutes les règles configurées pour une chaîne iptables
- Comment effacer toutes les règles configurées pour une table iptables
Comment supprimer les règles iptables sous Linux – exemples de commandes
Certaines interfaces iptables, telles que
firewalld pour les systèmes basés sur Red Hat et ufw pour les systèmes basés sur Ubuntu, ont leurs propres commandes utilisées pour supprimer les règles de pare-feu. Si vous utilisez un frontal iptables, assurez-vous de supprimer et de configurer vos règles via cette application plutôt que d’interagir directement avec iptables. Avant de continuer, assurez-vous que certaines règles sont déjà configurées sur votre système. En particulier, ce tutoriel suppose que vous avez configuré les règles avec iptables, plutôt qu’avec une application de pare-feu frontale comme firewalld ou ufw.
Pour voir les règles sur votre système, vous pouvez utiliser la commande iptables suivante. Afin de supprimer plus facilement une règle spécifique, il est également recommandé d’utiliser l’option --line-numbers dans votre commande.
sudo iptables -L
Exemple de sortie de nos règles iptables configurées (notez le numéro de ligne au début de chaque règle) :
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 DROP all -- anywhere 10.0.0.0/8
2 DOCKER all -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
4 ACCEPT all -- anywhere anywhere
5 ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain DOCKER (1 references)
num target prot opt source destination
1 ACCEPT tcp -- anywhere 172.17.0.3 tcp dpt:https
2 ACCEPT tcp -- anywhere 172.17.0.4 tcp dpt:http
3 ACCEPT tcp -- anywhere 172.17.0.5 tcp dpt:4000
4 ACCEPT tcp -- anywhere 172.17.0.7 tcp dpt:mysql
5 ACCEPT tcp -- anywhere 172.17.0.7 tcp dpt:http
6 ACCEPT tcp -- anywhere 172.17.0.6 tcp dpt:3142
Avant de poursuivre les commandes ci-dessous, il est fortement recommandé de sauvegarder vos règles iptables actuellement configurées. Vous pouvez apprendre à le faire en suivant notre autre tutoriel sur la façon de rendre les règles iptables persistantes après le redémarrage.
Maintenant que nous avons tous les numéros de ligne, nous pouvons supprimer n’importe laquelle des règles listées iptables. À titre d’exemple, nous allons supprimer la règle
DROP all -- anywhere 10.0.0.0/8de la chaîneFORWARD, qui occupe la ligne numéro 1. Pour supprimer cette règle, nous entrons la commandeiptablessuivante avec l’option-D(supprimer) :sudo iptables -D FORWARD 1ATTENTION
Il n’est pas possible de supprimer plusieurs règles individuelles à la fois, à moins que vous ne configuriez un script Bash pour le faire. Cependant, les numéros de règle changent chaque fois que vous supprimez une règle, et il serait difficile de configurer un script pour tenir compte des numéros de règle qui changent constamment. Bien que cela ne soit pas pratique, il est recommandé de prendre le temps de supprimer chaque règle indésirable individuellement.Vous pouvez également supprimer toutes les règles d’une chaîne entière à la fois. Par exemple, nous pourrions effacer les 5 règles de notre chaîne
FORWARDen exécutant simplement la commande ci-dessous avec l’option-F(flush) :sudo iptables -F FORWARDL’utilisation de l’option
-F, sans spécifier de chaîne particulière, effacera les règles pour toutes nos chaînes iptables. Soyez prudent lorsque vous exécutez cette commande, car vous pourriez potentiellement effacer une tonne de règles.sudo iptables -FVous pouvez également supprimer la chaîne elle-même avec l’option
-X. Cependant, cela ne fonctionnera que si vous avez déjà effacé toutes les règles référencées avec une commandeiptables -F [chain]au préalable. Par exemple, pour supprimer la chaîneDOCKERet toutes ses règles référencées sur notre système :sudo iptables -F DOCKER sudo iptables -X DOCKERPour effacer toutes les chaînes vides, vous pouvez utiliser l’option
-Xsans autres arguments.sudo iptables -XPour supprimer toutes les règles configurées dans les tables
natoumangle, vous devez spécifier ces tables séparément à l’aide de l’option-t(tables).sudo iptables -t nat -F sudo iptables -t mangle -FPour réinitialiser toutes vos configurations iptables aux valeurs par défaut, vous pouvez utiliser toutes les commandes suivantes en conjonction. Cela réinitialisera vos stratégies de chaîne par défaut, effacera toutes les règles de chaque table, puis supprimera toutes les chaînes vides de chaque table.
sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -F sudo iptables -X sudo iptables -t nat -F sudo iptables -t nat -X sudo iptables -t mangle -F sudo iptables -t mangle -XUne dernière méthode consiste à modifier manuellement le fichier de sortie
iptables-save, qui est/etc/iptables/rules.v4sur les systèmes DEB et/etc/sysconfig/iptablessur les systèmes basés sur RPM. Après avoir modifié les fichiers, vous pouvez utiliser la commandeiptables-restorepour appliquer les nouvelles règles que vous avez configurées dans les fichiers de sortie. Notez que cette méthode ne fonctionnera que si vous avez accès à la commandeiptables-savesur votre système. Consultez notre tutoriel sur la façon de rendre les règles iptables persistantes après le redémarrage pour plus d’aide.
Réflexions finales
Dans ce tutoriel, nous avons vu comment supprimer les règles iptables de la ligne de commande Linux. iptables est un pare-feu complexe mais puissant intégré au noyau Linux, et a une grande courbe d’apprentissage même lorsqu’il s’agit des tâches les plus simples, comme apprendre à supprimer une règle. Comme nous l’avons vu ici, il existe plusieurs options que nous pouvons utiliser : nous devons effacer toutes les règles d’une table particulière, d’une chaîne ou simplement supprimer une règle individuellement.
