iptables : quelques trucs utiles
Table des matières
iptables est un logiciel libre de l'espace utilisateur Linux grâce auquel l'administrateur système peut configurer les chaînes et règles dans le pare-feu.
Je liste ici quelques commandes qui me sont utiles.
Bien souvent, en début de script c'est intéressant de supprimer toutes les éventuelles entrées déjà créées :
Pour lister les règles :
Le retour donné est :
Pour bloquer un réseau (DROPPER les paquets) :
Autoriser par exemple le trafic web (HTTP) sur l'interface eth0 :
Si on a un serveur en frontal qui sert de proxy ou routeur, il peut être utile de rediriger un port sur un serveur en interne, ou sur la même machine si on a un Proxmox ou des conteneurs LXC :
Le serveur linux en sortie de réseau est un proxy ? Vous avez besoin de NATER ? Voici la solution :
Présentation
iptables est un logiciel libre de l'espace utilisateur Linux grâce auquel l'administrateur système peut configurer les chaînes et règles dans le pare-feu.
Je liste ici quelques commandes qui me sont utiles.
Les commandes
Vidage des tables et des règles
Bien souvent, en début de script c'est intéressant de supprimer toutes les éventuelles entrées déjà créées :
Code BASH :
iptables -F # Nettoie la chaîne sélectionnée. Ceci équivaut à effacer toutes les règles une par une. iptables -X # Efface la chaîne spécifiée définie par l'utilisateur. iptables -t nat -F #Efface toutes les règles une par une de la table nat. iptables -t nat -X # Efface la chaîne spécifiée définie par l'utilisateur de la table nat.
Lister les règles
Pour lister les règles :
Code BASH :
iptables -L
Le retour donné est :
Code TEXT :
Chain INPUT (policy ACCEPT) target prot opt source destination f2b-SSH tcp -- anywhere anywhere tcp dpt:italk DROP all -- 46.161.9.0/24 anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain f2b-SSH (1 references) target prot opt source destination RETURN all -- anywhere anywhere
Bloquer un réseau
Pour bloquer un réseau (DROPPER les paquets) :
Code BASH :
iptables -A INPUT -s 46.161.9.0/24 -j DROP
Autoriser un prot et un protocole sur une interface
Autoriser par exemple le trafic web (HTTP) sur l'interface eth0 :
Code BASH :
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
Redirection de port
Si on a un serveur en frontal qui sert de proxy ou routeur, il peut être utile de rediriger un port sur un serveur en interne, ou sur la même machine si on a un Proxmox ou des conteneurs LXC :
Code BASH :
#Rediriger le port 80 en entrée sur enp0s3 sur la machine 192.168.122.2, port 80 iptables -t nat -A PREROUTING -j DNAT -i enp0s3 -p tcp --dport 80 --to-destination 192.168.122.2:80
Faire du NAT
Le serveur linux en sortie de réseau est un proxy ? Vous avez besoin de NATER ? Voici la solution :
Code BASH :
#NATER tout ce qui sort par enp0s3 (cas d'un routeur avec enp0s3 sur l'Internet) iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE