Home (autres pages) Léa Linux TrustOn Me OpenVPN French Linux Doc Project

Partage de la connexion Internet

  • Fonctionnement
  • Autoriser l'IP Forwarding
  • Mettre en place la translation de l'adresse
  • Problème FTP !

Partage de la connexion Internet

Fonctionnement

Alors, pour partager la connexion Internet comment faire ? Comment cela marche ?

Schématisons :

Une information qui est reçue doit "traverser" la passerelle. Depuis le LAN, l'interface "eth0" reçoit une trame et la transfère d'eth0 vers eth1 et inversement. C'est ce que l'on appelle "l'IP Forwarding". Ensuite, il faut changer l'adresse LAN, privée, par l'adresse internet, publique. C'est que l'on appelle la "translation d'adresse" ou encore "nattage" (qui vient de NAT qui signifie "Network Address Translation").

Donc pour partager la connexion, il faut :

  • autoriser les trames à traverser la passerelle
  • "natter" les adresses privées en adresses publiques

Comment ça marche ?

Une trame arrive par notre interface eth0 depuis notre LAN. Celle-ci arrive dans le noeud "PREROUTING". Soit nous souhaitons imposer un traitement à la trame, et dans ce cas-là nous l'enverrons dans l'INPUT du noyau, soit nous souhaitons que la trame traverse passivement le pare-feu, et nous l'enverrons alors dans le FORWARD. En sortie du noyau, via l'OUTPUT, ou du FORWARD, la trame est envoyé au noeud POSTROUTING.

les "INPUT", "OUTPUT", et "FORWARD" sont appelés des "chaînes".On envoie les trames dans une chaîne et les ajoute à ces chaînes des règles pour interdire ou autoriser ces trames sur une chaîne. Mais pour le moment, on n'en est pas là...

LA commande utilisée pour gérer tout cela est la commande "iptables".


Autoriser l'IP Forwarding

Pour autoriser cette fonctionnalité, il suffit de taper la commande suivante dans une console en mode root :

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

Explications: Linux propose un répertoire appelé "système de fichiers virtuels" et qui contient des fichiers virtuels, il s'agit du répertoire "/proc". La plupart des fichiers ont une longueur de zéro et ne nous intéressent pas. Par contre les répertoires "/proc/filesystems" et "/proc/sys/" contiennent des informations de configuration système. Ainsi, on trouve dans "/proc/sys/net/ipv4" des fichiers permettant de configurer la pile TCP/IP. Pour activer l'ip forwarding, il suffit que le fichier "ip_forward" contienne la valeur "1", et pour désactiver il suffit de mettre un zéro.


Mettre en place la translation de l'adresse

Ici, je suppose qu'il n'y a aucune règle de filtrage. Tout est autorisé sur les interfaces ethernet, en INPUT et en OUTPUT. Bref, la seule commande dont on a besoin pour la translation d'adresses est la suivante :

# iptables -A POSTROUTING -t nat -o eth1 -j SNAT --to 82.46.73.52

Une autre méthode consiste à laisser faire le système pour ce qui est du natage. C'est l'option "masquerade"

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

Et voilà.... normalement, un poste client qui aurait une adresse en 192.168.0.2 pourra sortir sur l'Internet.

Pour information, le poste client, Windows 2K/XP, doit être configuré avec :

  • une adresse privé : 192.168.0.2
  • l'adresse d'une passerelle, notre passerelle Linux en l'occurrence : 192.168.0.1
  • les adresses des DNS, ceux de Free étant 212.27.32.176 et 212.27.32.177.

Problème de FTP !

Il se peut qu'il y ait des problèmes pour le FTP actif, pour éviter cela, tentez de lancer les modules iptables spécifiques à la gestion des connexion FTP (à ajouter au script du lancement du firewall)

# modprobe ip_nat_ftp
# modprobe ip_conntrack_ftp


Me contacter | ©2004-2005 Raum