« Iptables » : différence entre les versions

De Wiki doc

m (Ajout d'une source)
Aucun résumé des modifications
Ligne 23 : Ligne 23 :
==Filter==
==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.
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 ([https://www.inetdoc.net/guides/iptables-tutorial/rejecttarget.html source])
iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset
===OUTPUT===
==Nat==
==Nat==
Faire du nat avec iptables
'''Comme une box ADSL'''
===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.
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.


Ligne 33 : Ligne 38 :
  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 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
  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===
'''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.
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
  iptables -t nat -A POSTROUTING -s 192.168.180.0/24 -o eth0 -j MASQUERADE
===PREROUTING===
===INPUT===
===OUTPUT===
===POSTROUTING===
==Mangle==
==Mangle==
===PREROUTING===
===INPUT===
===FORWARD===
===OUTPUT===
===POSTROUTING===

Version du 1 septembre 2017 à 19:11

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

PREROUTING

INPUT

OUTPUT

POSTROUTING

Mangle

PREROUTING

INPUT

FORWARD

OUTPUT

POSTROUTING