iptables est un ensemble de commandes permettant de configurer le module Netfilter, qui intercepte et manipule les paquets IP avant et après le routage.
Le module Netfilter peut également être administré graphiquement depuis :
iptables cheat sheet | Download |
Notes :
$ sudo apt-get install iptables
$ service iptables start
Pour que iptables soit lancé par défaut au démarrage du système, on change le statut du niveau d'exécution :
$ chkconfig -level 345 iptables on
$ iptables -L -n -v --line-numbers
$ iptables -F
$ iptables -X
$ iptables -L -n -v --line-numbers $ iptables -D input {line-number}
$ iptables -P INPUT DROP $ iptables -P FORWARD DROP $ iptables -P OUTPUT DROP
$ iptables -A INPUT -s aa.bb.cc.dd -j DROP
$ iptables -A OUTPUT -p tcp -d www.microsoft.com -j DROP
$ iptables -A input -p tcp --dport 80 -j DROP
$ iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT
$ iptables -A INPUT -s 1.2.3.0/24 -p icmp --icmp-type echo-request -j ACCEPT $ iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
$ iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT $ iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j DROP
$ iptables -A OUTPUT -p udp -o eth0 -dport 53 -sport 1024:65535 -j ACCEPT
$ iptables -A OUTPUT -o eth0 -p tcp --dport 80 --sport 1024:65535 -j ACCEPT $ iptables -A OUTPUT -o eth0 -p tcp --dport 443 --sport 1024:65535 -j ACCEPT
Transférer tout le trafic entrant vers le port 22 du serveur aa.bb.cc.dd:22
$ iptables -t nat -A PREROUTING -I eth0 -p tcp --dport 1022 -j DNAT --to aa.bb.cc.dd:22 $ iptables -A FORWARD -p tcp -d aa.bb.cc.dd -dport 22 -m state --state NEW,ESTABLISH -j ACCEPT
$ iptables -N LOGnDROP $ iptables -A LOGnDROP -j LOG --log-prefix 'DROP_LOG :' $ iptables -A LOGnDROP -j DROP
Les règles créées avec iptables ne sont pas durables et ne valent que jusqu’à ce que votre ordinateur ne s’éteigne. Il est recommandé d’utiliser iptables-save
pour sauvegarder vos paramètres sous forme de document “.rules” dans les fichiers d’iptables.
$ iptables-save > /etc/iptables/iptables.rules
(à placer, de préférence, dans un script lancé au démarrage du système)
$ iptables-restore < /etc/iptables/iptables.rules