Partager une connexion Internet

Posted by

I) Introduction :

Nous verrons ici la mise en place d’une passerelle (en anglais gateway) sous Linux afin de permettre le partage d’une connexion internet entre plusieurs ordinateurs. On utilise pour cela le principe de l »IP Masquerading » ou masquage d’IP. L’ordinateur qui sert de passerelle n’est pas nécessairement une bête de course mais il doit par contre posséder 2 interfaçes réseau comme un modem rtc analogique classique et une carte réseau Ethernet.

Etudions maintenant comment cette technique fonctionne en admettant l’hypothèse que les machines qui seront clientes de la passerelle ont evidement déclaré la machine Linux comme étant leur passerelle. Lorsque la passerelle reçoit un paquet d’un poste client en direction d’internet, la passerelle assigne un nouveau numéro de port à ce paquet, indique sa propre adresse ip dans l’en-tête du paquet, effectue une sauvegarde de l’en-tête originale du paquet et enfin transmet le paquet à l’interfaçe connectée à internet. Lorsqu’un paquet arrive sur la machine Linux et que le numéro de port est un de ceux qu’elle a affectée, elle remodifie l’en-tête du paquet pour y remettre l’adresse IP source et le numéro de port originaux et enfin transmet le paquet modifié au client. Le client n’a strictement rien remarqué.

II) Configuration de la passerelle :

Alors une première chose, il s’agit de recompiler un kernel 2.4 afin d’activer l’ip masquerading c’est à dire la gestion du nat par le noyau. Si vous venez juste d’installer une distribution récente, en général le noyau supporte déjà cette fonctionalité mais comme c’est le noyau par défaut de votre distribution que vous utilisez, ca ne fera pas de mal d’en recompiler un. Vous aurez donc besoin des sources du noyau mais également que le programme iptables soit présent sur votre système (sur une redhat, vous pouvez le savoir en effectuant la commande : rpm -qa | grep -i iptables
ou bien sous Debian via dpkg -l iptables.

Commençons par activer le routage des paquets :

# echo "1" > /proc/sys/net/ipv4/ip_forward

Une valeur 1 active le routage et inversement une valeur 0 le désactive.

# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Cette commande configure le firewall de sorte qu’il autorise le routage des paquets du réseau local vers l’extérieur. Voilà vous venez de terminer la configuration de la passerelle, il reste plus qu’à attribuer la bonne adresse IP de passerelle sur les clients.

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *