Chapter 62. Iptables

Revision History
Revision 0.110 Octobre 2004

Table of Contents

Langage d'Iptables
Exemples d'utilisation d'iptables
La traduction d'adresse - NAT
Le DNAT ou NAT Destination
Le SNAT ou NAT Source
L'IP Masquerade
Exemple sur un réseau privé

Abstract

Langage et commandes Iptables

Langage d'Iptables

Extrait de la page de manuel et de l'aide :

Synopsis :
Usage iptables -commande chaine spécification_de_règle [options]
Commandes :  				Fonction : 
iptables -h 				aide en ligne  
iptables -L				lister les chaînes et règles actives 
iptables -N  chain			créer une nouvelle chaîne utilisateur 
iptables -X chain			supprimer chaîne utilisateur 
iptables -F [chain]			vider  une chaîne (ou toutes) 
iptables -P chain cible		        traitement par défaut pour une règle 
iptables -A chain règle		        ajouter une règle à la chaîne 
iptables -I chain [numéro] règle	insérer une chaîne en position numéro 
iptables -D chain [numéro] [règle]	effacer une règle 
iptables -R chain [numéro] [règle] 	remplacer une règle 
iptables -C chain			tester un paquet dans une règle 
iptables -Z [chain]			remettre à zéro les compteurs  

Options : Les principaux paramètres qui peuvent apparaître dans la partie règle sont :

Paramètres : 
-i interface				appliquer la règle sur cette interface d'entrée 
-o interface				appliquer la règle sur cette interface de sortie 
-t table				table concernée ( filter par défaut) 
-s [!] X.X.X.X/lg			adresse source, longueur du masque 
					le ! signifie la négation (cf. exemple) 
-d [!] X.X.X.X/lg 			adresse dest (et longueur du masque) 
-p protocole 				tcp / udp / icmp / all 
--source-port [!] [port[:port]]		port source (ou intervalle de ports) 
--destination-port [!] [port[:port]]	port destination (ou intervalle de ports) 
--tcp-flags [!] masq comp		flags de paquets tcp ( ex. SYN) 
-j cible				ACCEPT/DROP/QUEUE/RETURN/REDIRECT/
					MASQUERADE / DNAT/ SNAT/ LOG  

Exemple d'utilisation des règles :

# iptables -F INPUT [-t filter] 
# iptables -P INPUT ACCEPT 
# iptables -A INPUT -i eth0 -s ! 192.168.0.0.0/24 -j DROP 

Attention à l'écriture. Les cibles (target) sont sensibles à la casse.

Les tables passées en lignes de commandes ou dynamiquement, ne sont pas conservées lors du redémarage de la machine. Il est nécessaire d'utiliser les commandes iptables-save et iptables-restore pour les sauvegarder, ou les mettre dans un script qui est exécuté au démarrage de la machine, par exemple dans /etc/init.d/rc.local.