Recherche de site Web

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

LE SAVIEZ-VOUS ?
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

REMARQUE
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.

  1. 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/8 de la chaîne FORWARD, qui occupe la ligne numéro 1. Pour supprimer cette règle, nous entrons la commande iptables suivante avec l’option -D (supprimer) :

    
    sudo iptables -D FORWARD 1
    

    ATTENTION
    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.

  2. 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 FORWARD en exécutant simplement la commande ci-dessous avec l’option -F (flush) :

    
    sudo iptables -F FORWARD
    
  3. L’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 -F
    
  4. Vous 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 commande iptables -F [chain] au préalable. Par exemple, pour supprimer la chaîne DOCKER et toutes ses règles référencées sur notre système :

    
    sudo iptables -F DOCKER
    sudo iptables -X DOCKER
    

    Pour effacer toutes les chaînes vides, vous pouvez utiliser l’option -X sans autres arguments.

    
    sudo iptables -X
    
  5. Pour supprimer toutes les règles configurées dans les tables nat ou mangle, 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 -F
    
  6. Pour 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 -X
    
  7. Une dernière méthode consiste à modifier manuellement le fichier de sortie iptables-save, qui est /etc/iptables/rules.v4 sur les systèmes DEB et /etc/sysconfig/iptables sur les systèmes basés sur RPM. Après avoir modifié les fichiers, vous pouvez utiliser la commande iptables-restore pour 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 commande iptables-save sur 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.

Articles connexes: