Iptables

De Wiki doc

Généralités

Contrairement à PF (Packet Filter) 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

PREROUTING

INPUT

OUTPUT

POSTROUTING

Mangle

PREROUTING

INPUT

FORWARD

OUTPUT

POSTROUTING