Voici script iptable:
#!/bin/sh
/etc/network/if-pre-up.d/iptables-start
Script qui démarre les règles de filtrage “iptables”
REMISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
DEBUT des “politiques par défaut”
Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP
Je veux que les connexions destinées à être forwardées
soient acceptées par défaut
iptables -P FORWARD ACCEPT
Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT
FIN des “politiques par défaut”
DEBUT des règles de filtrage
Pas de filtrage sur l’interface de “loopback”
iptables -A INPUT -i lo -j ACCEPT
J’accepte le protocole ICMP (i.e. le “ping”)
iptables -A INPUT -p icmp -j ACCEPT
J’accepte le protocole IGMP (pour le multicast)
iptables -A INPUT -p igmp -j ACCEPT
J’accepte le réseau lan
iptables -A INPUT -s 192.168.10.0/30 -j ACCEPT
iptables -A OUTPUT -d 192.168.10.0/30 -j ACCEPT
iptables -A FORWARD -d 192.168.10.0/30 -j ACCEPT
J’accepte les packets entrants relatifs à des connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Décommentez les deux lignes suivantes pour que le serveur FTP éventuel
soit joignable de l’extérieur
#iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
mysql joignable
#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
Décommentez la ligne suivante pour que le serveur SSH éventuel
soit joignable de l’extérieur
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Décommentez la ligne suivante pour que le teamspeak éventuel
soit joignable de l’extérieur
iptables -A INPUT -p udp --dport 8767 -j ACCEPT
iptables -A INPUT -p tcp --dport 14534 -j ACCEPT
Décommentez la ligne suivante pour que le serveur de mail éventuel
soit joignable de l’extérieur
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
Décommentez les deux lignes suivantes pour que le serveur de DNS éventuel
soit joignable de l’extérieur
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
Décommentez les deux lignes suivantes pour que le serveur de HTTPS éventuel
soit joignable de l’extérieur
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p udp --dport 443 -j ACCEPT
Décommentez la ligne suivante pour que le serveur Web éventuel
soit joignable de l’extérieur
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Décommentez les lignes suivantes pour pouvoir utiliser Half Life
iptables -A INPUT -p tcp --dport 27000:27018 -j ACCEPT
iptables -A INPUT -p udp --dport 27000:27018 -j ACCEPT
Décommentez la ligne suivante pour que le serveur CUPS éventuel
soit joignable de l’extérieur
#iptables -A INPUT -p tcp --dport 631 -j ACCEPT
Décommentez les deux lignes suivantes pour que le serveur Samba éventuel
soit joignable de l’extérieur
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p udp --dport 139 -j ACCEPT
Décommentez la ligne suivante pour que des clients puissent se connecter
à l’ordinateur par XDMCP)
#iptables -A INPUT -p udp --dport 177 -j ACCEPT
Décommentez la ligne suivante pour que l’odinateur puisse se connecter
par XDMCP à une machine distante)
#iptables -A INPUT -p tcp --dport 6001 -j ACCEPT
Décommentez la ligne suivante pour que le serveur CVS éventuel
soit joignable de l’extérieur via le mécanisme de pserver
(si les utilisateurs accèdent au serveur CVS exclusivement via SSH,
seule la ligne concernant le serveur SSH doit être décommentée)
#iptables -A INPUT -p tcp --dport 2401 -j ACCEPT
Décommentez la ligne suivante pour pouvoir reçevoir des flux VideoLAN
(ce sont des flux UDP entrants sur le port 1234)
#iptables -A INPUT -p udp --dport 1234 -j ACCEPT
Décommentez la ligne suivante pour pouvoir reçevoir des annonces SAP
(ce sont des annonces de session multicast)
#iptables -A INPUT -p udp -d 224.2.127.254 --dport 9875 -j ACCEPT
Décommentez les 3 lignes suivantes pour pouvoir utiliser GnomeMeeting
#iptables -A INPUT -p tcp --dport 30000:33000 -j ACCEPT
#iptables -A INPUT -p tcp --dport 1720 -j ACCEPT
#iptables -A INPUT -p udp --dport 5000:5006 -j ACCEPT
La règle par défaut pour la chaine INPUT devient REJECT
(il n’est pas possible de mettre REJECT comme politique par défaut)
#iptables -A INPUT -j REJECT
FIN des règles de filtrage
DEBUT des règles pour le partage de connexion (i.e. le NAT)
Décommentez la ligne suivante pour que le système fasse office de
serveur NAT et remplaçez eth0 par le nom de l’interface connectée
à Internet
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Si la connexion que vous partagez est une connexion ADSL, vous
serez probablement confronté au fameux problème du MTU. En résumé,
le problème vient du # Formation Debian GNU/Linux par Alexis de Lattre
fournisseur d’accès et le serveur NAT est un petit peu inférieur au
MTU de la liaison Ethernet qui relie le serveur NAT aux machines qui
sont derrière le NAT. Pour résoudre ce problème, décommentez la ligne
suivante et remplaçez eth0 par le nom de l’interface connectée à
Internet.
#iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS -o eth1 --clamp-mss-to-pmtu
FIN des règles pour le partage de connexion (i.e. le NAT)
DEBUT des règles de port forwarding
Décommentez la ligne suivante pour que les requêtes TCP reçues sur
le port 80 de l’interface eth0 soient forwardées à la machine dont
l’IP est 192.168.0.3 sur son port 80 (la réponse à la requête sera
forwardée au client)
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.3:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6022 -j DNAT --to-destination 192.168.10.2:22
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6023 -j DNAT --to-destination 192.168.10.3:22
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5962 -j DNAT --to-destination 192.168.10.3:5962
mysql
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3306 -j DNAT --to-destination 192.168.10.3:3306
#— port vnc
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5900:5910 -j DNAT --to-destination 192.168.10.3:5900-5910
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5901 -j DNAT --to-destination 192.168.10.3:5901
#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 31336 -j DNAT --to-destination 192.168.10.15:31336
#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1200 -j DNAT --to-destination 192.168.10.2:1200
#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1201 -j DNAT --to-destination 192.168.10.2:1201
#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 3000 -j DNAT --to-destination 192.168.10.2:3000
FIN des règles de port forwarding
La règle par défaut pour la chaine INPUT devient REJECT
(il n’est pas possible de mettre REJECT comme politique par défaut)
iptables -A INPUT -j REJECT