Ce wiki a été passé en mode lecture seule. Le nouveau wiki se trouve ici (accessible avec vos identifiants adhacc usuels)

Après avoir bien paramétré votre modem en mode Bridge sur votre passerelle, il vous faut paramétrer votre firewall pour accepter de relayer votre trafic sur Internet, et ramener à votre ordinateur le trafic que vous avez demandé.

Le net dispose de plein de ressources pour régler son firewall et l'adapter à ses besoin. Mais pour faciliter la tache de ceux qui n'ont pas la possiblité ou le temps de s'y intéresser, je met à votre disposition un petit script bash pour faire un réglage qui devrait correspondre ( à quelques détails près ) aux besoins les plus courants. De plus, cet exemple dispose d'une bonne partie de la palette des règles à savoir utiliser pour une utilisation normale.

Ce code, après avoit été inscrit dans un fichier (par exemple iptables.sh), doit être rendu exécutable afin de pouvoir etre utilisé.

chmod +x iptables.sh
Vous devrez ensuite le placer dans les scripts de démarrages pour qu'il soit exécuté lors du boot de votre passerelle, ou dans le répertoire /etc/ppp/ip-up.d afin d'être exécuté par pppd dès l'établissement de la connection.

En voici le code, documenté, que vous pouvez utiliser moyennant quelques adaptations. Dans ce script, plusieurs variables sont utilisées :

#!/bin/sh
# Paramétrage du Firewall
 
# Définition des variables
WAN=ppp+
LAN=eth0
PPP_LOCAL=80.67.176.224
 
# REMISE à ZERO des règles de filtrage
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
 
# Configuration par défaut
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
 
# On laisse tous les acces à l'interface loopback
iptables -A INPUT -i lo -j ACCEPT
 
# On autorise le trafic sur le LAN sans filtrage
iptables -A INPUT -i $LAN -s 192.168.1.0/24 -j ACCEPT
 
# On laisse le trafic déjà établi afin de ne pas couper
# des connections éventuellement établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
# On exclut les paquets qui n'ont rien à faire en entrant du WAN
# afin de ne pas recevoir de paquets non-routables sur internet
# Consulter la RFC 1918 pour avoir plus d'informations.
iptables -A FORWARD -i $WAN -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -i $WAN -s 172.16.0.0/12 -j DROP
iptables -A FORWARD -i $WAN -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i $WAN -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i $WAN -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i $WAN -s 10.0.0.0/8 -j DROP
 
# On filtre les paquets sortants pour éviter de polluer Internet
# J'ai désactivé cette règle car elle ne me semblait pas utile.
# Je la laisse pour laisser au lecteur le soin de se documenter.
#iptables -A OUTPUT -s 192.168.1.0/24 -i $WAN -j DROP
 
# Pas de NetBios annoncé sur Internet
# Il reste annoncable sur le LAN
iptables -A FORWARD -p tcp --sport 137:139 -o $WAN -j DROP
iptables -A FORWARD -p udp --sport 137:139 -o $WAN -j DROP
iptables -A OUTPUT -p tcp --sport 137:139 -o $WAN -j DROP
iptables -A OUTPUT -p udp --sport 137:139 -o $WAN -j DROP
 
# Service DNS disponible LAN/WAN
# A activer pour avoir un DNS sur son réseau accessible depuis l'extérieur.
# Si vous faites du transfert de zone, veillez à laisser tcp ouvert.
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
 
# Service HTTP disponible WAN
# A ouvrir pour autohéberger un site web
#iptables -A INPUT -p tcp -i $WAN --dport 80 -j ACCEPT
 
# On accepte ICMP et on log
iptables -A INPUT -i $WAN -p icmp -m limit --limit 12/hour --limit-burst 1 -j LOG --log-prefix "ICMP flood: "
 
# Récupéré sur le wiki FDN -> règles pour le NAT
# La regle mangle sert à corriger les problemes de MTU rencontrés par PPPoE.
#iptables -t nat    -I POSTROUTING -o $WAN -s 192.168.1.0/24 -j SNAT --to-source $PPP_LOCAL
iptables -t mangle -I FORWARD     -o $WAN -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
 
# Autre méthode pour faire du NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o $WAN -j MASQUERADE
iptables -A FORWARD -i $LAN -j ACCEPT
 
# APRES AVOIR TOUT CONFIGURE LA REGLE PAR DEFAUT POUR WAN EST REJECT
# iptables fonctionne par priorité dans la liste, tout ce qui n'a pas déjà été traité
# rencontrera cette regle, et sera rejetté.
iptables -t INPUT -i $WAN -j REJECT
 
## PORT FORWARDING
# Règles utilisées pour rediriger un port particulier vers une machine particulière.
# Ici, une trame DNS sera redirigée sur le réseau local vers la machine qui dispose
# du serveur pour traiter ce genre de requetes (ici 192.168.1.2)
iptables -t nat -A PREROUTING -p udp --dport 53 -i $WAN -j DNAT --to-destination 192.168.1.2:53
iptables -t nat -A PREROUTING -p tcp --dport 53 -i $WAN -j DNAT --to-destination 192.168.1.2:53

N'hésitez pas à utiliser ce script pour démarrer votre configuration.

Inutile bien sûr d'insister sur la nécessité de faire des sauvegardes des configurations qui fonctionnent déjà, et sur la nécessité de se documenter malgré tout pour éviter de faire des erreurs lourdes de conséquences.

Ce sujet de wiki évoluera en fonction de la documentation que j'arriverai à rassembler.

 
support/faq/iptables.txt · Dernière modification: 17/06/2011 23:56 par adhacc-702
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki