Notes préalables
Commande | Signification |
---|---|
-t ou --table table | nom de la table à utiliser. Par défaut c'est filter qui contient les chaînes input, output et forward, mais cela peut être nat, mangle, raw |
-A pour --append | Append to chain. -A ajoute une règle à une chaine cad INPUT, OUTPUT, FORWARD. Un append ajoute la règle à la suite des autres cad en bas de liste. |
-I | insère une règle. Par défaut elle est insérée en première ligne, en position 1 cad en début de liste. On peut préciser le numéro de la ligne. |
-s ou --source | réseau ou ip source |
-d ou --destination | réseau ou ip cible |
-p ou --protocol | on indique le protocol. Cela peut être tcp, udp, icmp, all etc |
--sport ou --source-port | c'est le port source |
--dport ou --destination-port | c'est le port cible |
-i pour --in-interface | dire le nom de l'interface d'entrée. Quand il n'y a qu'une carte réseau il n'est pas toujours nécessaire de le préciser. lo correspond à l'interface de loopback. |
-o pour --out-interface | présicer le nom de l'interface de sortie. |
-j (ou --jump ?) | on indique ce qu'on fait du paquet avec par exemple ACCEPT, DROP, LOG etc |
-P chaîne (chain) | cible, cad INPUT, OUTPUT, FORWARD etc |
Ajout d'une règle en fin de liste (Append) pour autoriser en entrée le port 22 (SSH) :
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
Lien vers le fichier : cliquez ici
Insertion d'une règle en début de liste (Insert) pour autoriser le port tcp 80 uniquement pour l'ip 1.1.1.1 vers l'ip 2.2.2.2.
Notez qu'en général on fait plus un append qu'un insert.
iptables -t filter -I INPUT -s 1.1.1.1 -d 2.2.2.2 -p tcp --dport 80 -j ACCEPT
Lien vers le fichier : cliquez ici
Ajout d'une règle pour accepter n'importe quel flux en transfert depuis le réseau local 192.168.1.0/24 vers l'interface réseau eth0
iptables -t filter -A FORWARD -s 192.168.1.0/24 -j ACCEPT -o eth0
Lien vers le fichier : cliquez ici
Lister les règles avec les numéros de lignes et les interfaces :
iptables -L --line-numbers -v
Lien vers le fichier : cliquez ici
Lister les règles avec les numéros de lignes mais uniquement pour la chaîne FORWARD (et non pour INPUT ou OUTPUT)
iptables -L FORWARD --line-numbers -v
Lien vers le fichier : cliquez ici
Effacer la règle portant le numéro de ligne 12 dans la chaîne FORWARD (il existe aussi INPUT et OUTPUT)
iptables -D FORWARD 12
Lien vers le fichier : cliquez ici
Sachez que vous pouvez créer un 'user-defined chain' afin de pouvoir autoriser ET logger un nouveau flux.
Dans notre 'user-defined chain', on dira que l'on log ce qui est relatif à notre flux, qu'on ajoute le préfix 'IPTABLES: ' dans le log afin de filtrer facilement, et qu'on autorise le flux.
Voici comment créer notre 'user-defined chain' :
#Création d'une new user-defined chain pour pouvoir autoriser ET logger un flux avec le préfixe IPTABLES
iptables -N LOGACCEPT
iptables -A LOGACCEPT -j LOG --log-prefix 'iptables:' -m limit --limit 2/min
iptables -A LOGACCEPT -j ACCEPT
Lien vers le fichier : cliquez ici
Voici maintenant un exemple de commande qui autorise le port tcp 22 en entrée et qui loggera l'activité :
iptables -t filter -A INPUT -p tcp --dport 22 -j LOGACCEPT
Lien vers le fichier : cliquez ici
Pour voir les logs en filtrant le journal avec le préfixe 'IPTABLES: ' déposé par notre 'user-defined chain' LOGACCEPT, tapez :
tail -f /var/log/messages | grep -i -n 'iptables:'
Lien vers le fichier : cliquez ici
Pages Web
Site Web | Description |
---|---|
dd-wrt.com | Aide Ip Table d'un DD WRT |
doc.ubuntu-fr.org | Aide iptables de la doc ubuntu |
Linux.die.net | Site avec un moteur de recherche sur la documentation des commandes Linux |
Wikipedia.org | Liste des ports réseaux courants |
Article(s) suivant(s)
Article(s) précédent(s)
Article(s) en relation(s)