====== Iptables ======
===== Concepts de base =====
==== Tables ====
Table NAT (Network Address Translation) : Table utilisée pour la translation d'adresse ou la translation de port.
Il a 2 types de chaînes :
* PREROUTING qui permet de spécifier « à l'arrivée du pare-feu »
* POSTROUTING qui permet de spécifier « à la sortie du pare-feu »
Il existe 3 targets (ou cibles) : DNAT, SNAT et MASQUERADE.
Table FILTER : C'est la table par défaut lorsque l'on en spécifie pas.
Cette table contient toutes les règles de filtrage, il existe 3 types de chaînes :
* FORWARD pour les paquets passant par le pare-feu
* INPUT pour les paquets entrant
* OUTPUT pour les paquets sortants
Les cibles disponibles sont : ACCEPT, DENY, DROP, REJECT.
Table Mangle : C'est la table qui contient les règles pour la modification de paquets.
Elle est peu utilisée et ne sera pas décrite dans cet article.
//Sources : [[https://lea-linux.org/documentations/Iptables]] (licence Domaine Public)//
===== Commandes utiles =====
* Afficher les règles avec le nombre de lignes: iptables -L --line-numbers
* Afficher les règles avec les interfaces: iptables -L -v
* Afficher les règles sans la résolution DNS des IPs: iptables -L -n
* Supprimer une règle en particulier : iptables -D NOM_CHAINE NUMERO_LIGNE
* Ajouter un commentaire dans la règle : iptables -R INPUT 1 -s 10.10.0.2 -m tcp -p tcp --dport 22 -m comment --comment "Allow SSH from 192.168.0.52" -j ACCEPT
===== Docs de références =====
* https://lea-linux.org/documentations/Iptables
* https://doc.ubuntu-fr.org/iptables