Iptables
Généralités
Par défaut et contrairement à pf sous BSD, iptables n'a aucune règle par défaut et accepte tout type de trafic sans aucune restriction.
Lister des règles
Lister les règles des chaînes de la table filter
iptables -L
Lister les règles des chaînes de la table nat
iptables -t nat -L
Lister avec les numéros de lignes
iptables -L --line-numbers
Lister les règles telle qu'elles ont été renseignés (permet de les sauvegarder)
iptables-save
Supprimer des règles
Purger la table filter
iptables -F
Purger la table nat
iptables -F -t nat
Supprimer une règle particulière (ici la numéro 3 de la chaîne POSTROUTING de la table nat)
iptables -t nat -D POSTROUTING 3
Source de la section
Tables
Filter
Filter est la table par défaut d'iptables. Nous n'avons donc pas besoin de taper -t filter pour agir avec ses chaînes.
INPUT
FORWARD
Bloquer le port 22 (SSH) des machines derrières notre routeur (source)
iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset
OUTPUT
Nat
Comme une box ADSL
Dans cet exemple notre réseau est comme chez tati Chantal. Elle a un réseau privé qui doit pouvoir communiqué avec Internet. Sont IP publique est 1.1.1.1 et son réseau privé est 192.168.1.0/24.
Activation de la traduction d'adresse à partir de l'adresse IP publique
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.1.1.1
Redirection de port (car le petit fils de Chantal a acheté un NAS qu'il veux pouvoir administrer depuis chez lui)
iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 443 -j DNAT --to-destination 192.168.1.1:443 iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 80 -j DNAT --to-destination 192.168.1.1:80
Traduction d'adresse transparentes
Ce mode permet, lorsque vous ajoutez un réseau chez vous et que votre box ne permet pas d'ajouter une route, d'avoir quand même accès à Internet depuis ce réseau.
iptables -t nat -A POSTROUTING -s 192.168.180.0/24 -o eth0 -j MASQUERADE