Ceci est une ancienne révision du document !
iptables permet de définir des règles de gestion/routage des paquets.
3 chaînes de traitement:
Afficher les politiques définies:
iptables -L -v | grep policy
Pour chaque chaîne de traitement, les règles sont parcourues séquentiellement, lorsque aucune correspondance n'est trouvée la politique par défaut est appliquée. Pour modifier la politique:
$ sudo iptables --policy INPUT DROP
Ici la politique par défaut pour les paquets entrant devient DROP, ils seront supprimés sans réponse à l'émetteur.
L'argument -A ou --append (ajouter) permet d'ajouter une règle pour la chaine spécifiée. Il existe également l'argument -I ou --insert pour ajouter une règle en spécifiant sa position.
$ sudo iptables -A INPUT -i em2 -p tcp -s 192.168.0.0/24 --dport ssh -j REJECT
Ici les paquets entrant par l'interface em2 avec une adresse de réseau 192.168.0.0/24 et essayant de contacter le service écoutant sur le port SSH seront rejetés.
On peut ensuite insérer une règle d'exception permettant à une machine particulière de ce réseau de se connecter en ssh:
$ sudo iptables -I INPUT 1 -p tcp -i em2 -s 192.168.0.123 --dport ssh -j ACCEPT
Pour supprimer une règle utiliser l'argument -D ou --delete. L'argument --flush supprimera toutes les règles définies sur une chaîne ou sur l'ensemble des règles.
Les modifications apportées ne sont pas permanentes. Pour les enregistrer et les retrouver au prochain redémarrage:
$ sudo iptables-save