% category % tags linux, iptables, squatt, howto % authors haveo % date 1247507510.000000 % title Configuration d'une passerelle internet avec iptables % formatter grep -v '^%'

Vous possédez probablement un appareil dédié au routage chez vous (appareil dédié, routeur-modem ou ce qu'on appelle désormais "box") qui permettent à des machines connectées à un réseau local d'accéder à un autre réseau distant. Comme leur nom l'indique ces appareils ont pour but de rediriger les paquets qu'ils recoivent vers les machines locales qui les ont demandées.

% endchapo

Bien que l'utilisation d'un appareil dédié soit la solution la plus simple, tout le monde ne dispose pas du matériel nécessaire. En réalité, il suffit d'un ordinateur (dédié ou pas) muni de deux interfaces réseau (Wifi et Ethernet ou modem USB et Ethernet, ou deux cartes Ethernet, ...) et d'un réseau local fonctionnel (filaire ou non, peu importe).

Pour les systèmes utilisant le noyau Linux, la gestion avancée des paquets réseau est la tâche d'iptables. Le configurer afin de rediriger le trafic comme voulu est l'affaire d'une poignée de commandes. En root, avec eth0 la connexion au réseau local (composé d'addresses en 192.168.0.x) et ath0 la connexion à Internet :

iptables -A FORWARD -i ath0 -o eth0 -d 192.168.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ath0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Sur les machines clientes il faut essentiellement configurer trois choses : l'IP de votre machine, l'IP de la passerelle et les serveurs DNS. Bien sur la méthode dépend de votre système, sous Linux on ferait par exemple (192.168.0.2 pour le client, 192.168.0.1 pour la passerelle, eth0 l'interface réseau du client et également en root) :

ifconfig eth0 192.168.0.2
route add default gw 192.168.0.1

Pour les serveurs DNS il faut les ajouter au fichier /etc/resolv.conf sous la forme (il y a un serveur primaire et un secondaire) :

nameserver x.x.x.x
nameserver x.x.x.x

Vous pouvez utiliser n'importe quel serveur de votre connaissance le plus simple étant de récupérer le fichier /etc/resolv/conf de la passerelle.

Après ces manipulations votre réseau est déjà utilisable de manière satisfaisante toutefois si vous désirez avoir une installation permanente quelques ajustements peuvent s'avérer confortables. Les redirections NAT, gérées par iptables permettent à vos ordinateurs locaux de recevoir des connexions externes (ce qui n'est pas évident a priori puisqu'ils partagent une seule addresse IP distante, celle de la passerelle) et un serveur DHCP qui permet aux clients d'obtenir de manière automatique l'IP de la passerelle, une IP pour leur machine et des serveurs DNS (la commande sous Linux est dhclient interface).

En espérant que ce mini-howto aurait été utile :-) ,