Linux
Sécurité
Iptables
Configurer la table NAT du pare-feu
Pour : Linux
La table nat permet de faire la translation d'adresse réseau (NAT) sur différents paquets.
La traduction d'adresse est gérée avec les chaînes PREROUTING, POSTROUTING et OUTPUT.
Voici le structure de test utilisé pour les exemples de ce tutoriel.
+------------+ +-------------+
MODEM | Linux | | Poste |
+---+192.168.1.1 | |193.168.1.10 | |
| |<--------------------->| Passerelle |<--------------------->| Client |
+---+ 192.168.1.199| | 193.168.1.15| |
| NAT | | |
+------------+ +-------------+
Le DNAT ou NAT Destination
La chaîne PREROUTING (avant routage) permet de modifier que l'adresse de destination mais conserve l'adresse source.
C'est ce qu'on appel faire du DNAT (NAT destination).
Dans cette exemple, on va redireger le trafic en destination du réseau "195.111.222.0" vers le réseau "193.168.1.0".
iptables -t nat -A PREROUTING -d 195.111.222.0/24 -j DNAT --to-destination 193.168.1.0/24
Le SNAT ou NAT Source
La chaîne POSTROUTING (après routage) permet de modifier que l'adresse source mais conserve l'adresse de destination.
C'est ce qu'on appel faire du SNAT (NAT source).
Dans cette exemple, on va substituer l'adresse source du trafic privé sortant vers l'exterieur par une des trois adresses publique.
iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j SNAT --to-source 192.168.1.5-192.168.1.8
L'IP Masquerade
Le principe est d'utiliser une adresse IP publique source pour cacher derrière elle toutes les adresses IP du réseau privé.
Dans cette exemple avec du SNAT, tous les paquets provenant du réseau privé 193.168.1.0 sera percu comme provenant de l'IP public 192.168.1.199.
iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j SNAT --to-source 192.168.1.199
Il y a aussi l'option "MASQUERADE" qui a le même but.
iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j MASQUERADE
Vous pouvez utilisez d'autres options, comme choisir par rapport a votre interface réseau , ici "eth0" et au numéro de port, dans ce cas "80".
iptables -t nat -A POSTROUTING -o eth0 --dport 80 -j MASQUERADE
Afficher la table NAT
Pour afficher la table de NAT du pare-feu.
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Supprimer une règle de la table NAT(-D)
Pour commencer, on va lister les règles avec un numéro par ligne.
# iptables -t nat -L --line-numbers
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 193.168.1.0/24 anywhere
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Dans notre exemple on va supprimer la règle "1" de la chaine "POSTROUTING".
Syntaxe:
iptables -t nat -D [chaine] [numéro_de_ligne]
Exemple:
# iptables -t nat -D POSTROUTING 1
Liens qui peuvent vous aidez:
Iptables - Configuration des tables et chaînes du pare-feu intégré
Iptables - Sauvegarder et restaurer la configuration des tables du pare-feu
Script - Démarrage et arret du pare-feu Iptables
Par O.Cédric
Sur www.octetmalin.net
Article publié le:
20/12/2011 09:16
Cette page vous à plus?
Dîtes que vous l'aimez en cliquant sur le bouton Facebook.