Partage d'une connexion internet
09/02/2005
 Christian CALECA 
Liste des cours

Passerelle simple

Accueil ] [ Théorie ] [ Interfaces ] [ Passerelle simple ]


Comme je suis prof depuis assez longtemps pour avoir compris qu'il n'y a rien de plus frustrant que de se taper des heures de théorie avant de pouvoir passer, enfin, à la pratique, nous allons d'abord réaliser vite fait une passerelle opérationnelle. Sommaire, rudimentaire, mais opérationnelle.

Après, nous verrons plus en détail comment tout ceci fonctionne.

Netfilter et IPtables

Installation

Netfilter, c'est le système de gestion des paquets. C'est lui qui va permettre de réaliser le routage dans de bonnes conditions. La distribution Mandrake 9 l'intègre sous forme de modules. A priori, vous n'aurez pas de difficultés, la configuration par défaut intègre tout ce qu'il faut.

IPtables, c'est en quelque sorte l'interface qui permet de configurer Netfilter. Là, il vous faudra vérifier que le paquetage iptables est bien installé. Il existe également un paquetage nommé ipchains, pour assurer la compatibilité avec l'ancien système en usage sur les noyaux Linux 2.2.x.

Attention, ces deux paquetages sont incompatibles. N'utilisez pas IPChains, utilisez IPTables, c'est beaucoup mieux.

Le paquetage iptables inclut un script SystemV qui permet de faire beaucoup de choses intéressantes.

root

Notez que IPTables n'est pas un démon. Ce script n'a pour but que de configurer de diverses manières les règles de filtrage de paquets.. Ainsi :

Configuration simpliste

Dans la suite, ne confondez pas le script /etc/init.d/iptables avec /sbin/iptables, qui est un exécutable.

Incantation magique Signification
/etc/init.d/iptables stop
Toutes les règles sont nettoyées.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
On applique le "masquerading" sur tout ce qui doit sortir par ppp0
echo 1 > /proc/sys/net/ipv4/ip_forward
On déverrouille le "forwarding"

Et voilà. La passerelle fonctionne. Assurez-vous d'abord que votre connexion PPPoE est bien active, par exemple en faisant un

ifconfig ppp0
qui doit vous indiquer que cette interface est bien montée. Si ce n'est pas le cas, commencez par arriver à obtenir ce lien.

Essayez maintenant, depuis un poste quelconque de votre réseau local, de faire un ping sur www.oleane.fr :

ping

Vous croyez que c'est fini ?

Rendre ces choses définitives

Les règles iptables sont volatiles. Si vous rebootez votre machine, il faudra les réécrire. Pour éviter ce désagrément, une fois vos règles établies, faites :

/etc/init.d/iptables save

Ca vous permettra de les sauvegarder et de pouvoir les recharger au prochain reboot par

/etc/init.d/iptables start

Commande qui peut être lancée automatiquement au démarrage, comme tous les scripts qui se trouvent dans ce répertoire.

Le déverrouillage du "forwarding" est également volatile par défaut. Pour remédier à ce problème, éditez le fichier  /etc/sysconfig/network . Dedans, il y a une ligne FORWARD_IPV4="no" . Mettez "yes" à la place de "no". Au prochain redémarrage de votre machine, le routage sera activé par défaut.

Et la sécurité ?

Votre passerelle fonctionne, certes, mais c'est un vaste trou béant au sens de la sécurité. Pour faire quelque chose de propre, il vous faudra lire le chapitre sur la sécurité et aussi celui sur Netfilter, pour comprendre mieux ce qu'il y a à faire.

 Dans l'état actuel des choses, vous être fortement exposé à toutes sortes d'ennuis...

Plus de confort

Le problème du DNS

Sur vos postes du réseau privé, vous devez indiquer "en dur" l'adresse IP des DNS de votre FAI. Ce n'est pas pratique, parce qu'ils peuvent changer sans vous le dire. Il vaut mieux installer sur votre passerelle un service DNS qui pourra soit résoudre les noms directement par lui même, soit servir de proxy DNS, c'est à dire retransmettre au DNS de votre FAI les requêtes de résolution que vous lui adresserez.

Dans ce cas, vous indiquerez sur vos clients l'adresse de votre passerelle pour le DNS et c'est elle qui se chargera de vous communiquer les résolutions.

A vous de voir ce qui vous convient le mieux. Normalement, un proxy DNS est suffisant. Vous pouvez faire ça assez simplement avec BIND. Lisez le chapitre consacré au DNS pour en savoir plus.

La configuration IP des clients

Configurer ses clients du réseau privé à la main, c'est bien, mais c'est vite fastidieux si vous en avez beaucoup. Il existe une possibilité de faire ça automatiquement au démarrage de vos machines en utilisant les services de DHCP. Vous pouvez aussi installer un serveur DHCP sur votre passerelle. C'est vraiment du luxe pour un petit réseau domestique, mais comme ce luxe ne vous coûtera rien de plus que de lire le chapitre sur DHCP...

Mais, avant tout, pensez d'abord à la sécurité et passez à Netfilter au plus vite ;-)


Précédente ] [ Accueil ]