next up previous contents
Next: 7.7 Configurer un serveur de pages HTML (serveur Up: 7. Configurations typiques Previous: 7.5 Configurer un serveur mail

Sous-sections

7.6 L'Internet pour plusieurs machines avec un seul modem7.10 [YB]

Il s'agit d'une situation que l'on peut rencontrer fréquemment, par exemple dans une entreprise ou une association disposant d'un réseau interne.

Vous disposez de plusieurs machines indépendantes (nous ne parlons pas ici de terminaux X) reliées entre elles d'une manière ou d'une autre, de façon à constituer un réseau IP privé. Sur l'une de ces machines se trouve un modem que vous utilisez pour communiquer sur l'Internet. Et vous souhaiteriez que chacune des autres machines puisse également <<sortir>> sur l'Internet.

Plusieurs solutions sont envisageables :

Nous supposerons ici que le réseau interne est en place et fonctionne correctement et que la machine qui accède à l'Internet fonctionne sous Linux avec un kernel 2.0.x (le cas des kernels 2.2.x sera évoqué en fin de section). La figure 7.3 illustre la situation. Notez bien que les autres machines n'utilisent pas nécessairement Linux, ce qui suit fonctionne également dans le cas d'autres systèmes.


  
Figure 7.3: Plusieurs machines sur un seul modem : IP Masquerade

\includegraphics{images/ip_masq.eps}


La réponse à votre problème s'appelle <<IP-Masquerade>>, que l'on traduit en français par <<la Masquarade IP>>. Cette technique est présente dans Linux depuis les kernels 1.3.x, et est utilisée par de nombreuses associations et entreprises, avec satisfaction.

La machine qui sort (nommée PC1 sur notre exemple) va être utilisée comme passerelle7.11. L'usage est d'attribuer une adresse IP se terminant par .1 pour les machines utilisées comme passerelle, mais ce n'est pas une obligation.

La première chose à faire sur PC1, est de recompiler le kernel pour y inclure certaines options nécessaires. La procédure à suivre pour la compilation et l'installation d'un nouveau kernel est indiquée en 5.3 page [*].

Les options à inclure sont les suivantes, pour un kernel 2.0.x (si vous possédez une autre version de kernel, adaptez ce qui suit) :

Notez que ces options ne concernent que la mise en place de la masquarade IP : incluez également les options spécifiques à votre système.

Compilez le nouveau kernel et redémarrez la machine pour l'activer.

Pendant ce temps, faites le tour des autres machines (du moins celles qui doivent sortir) : il est nécessaire de leur indiquer par quel chemin elles vont sortir sur l'Internet. Pour ce faire, il suffit d'indiquer quelle machine va servir de passerelle par défaut, c'est-à-dire, l'adresse de la machine PC1 : dans notre exemple, 192.168.1.1. Il est également nécessaire de spécifier le ou les serveurs DNS (Domain Name Server, serveur de noms de domaines) qui doivent êtres utilisés : en général, il suffit de recopier ceux qu'utilise la machine PC1. Consultez la documentation spécifique à chaque machine selon le système d'exploitation qu'elle utilise pour les procédures à suivre.

La machine PC1 doit maintenant avoir finit de redémarrer. Connectez-vous dessus en tant que root, et pour commencer, exécutez la commande de sécurisation du réseau :

ipfwadm -F -p deny7.12

Si le système vous répond que la commande est inconnue, essayez /sbin/ipfwadm. Puis mettez en place la masquarade IP pour toutes les machines du réseau :

ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0

Le nombre 192.168.1.0 est l'adresse du réseau (qui se termine toujours par .0), ici un réseau de classe C. Si l'adresse du réseau se termine par .0.0, vous êtes en classe B, et le '24' devient '16' ; si cela se termine par .0.0.0, c'est la classe A, et le '24' devient '8'. Pourquoi ? Parce que.

Mais peut-être ne souhaitez-vous autoriser que certaines machines à sortir ? Dans ce cas, au lieu de l'adresse du réseau, donnez directement l'adresse de la machine à faire sortir, et changez le '24' en '32'. Par exemple, pour n'autoriser que PC3 à sortir :

ipfwadm -F -a m -S 192.168.1.11/32 -D 0.0.0.0/0

Testez ces commandes avec vos propres paramètres. Pour savoir si la masquarade IP fonctionne, il suffit d'ouvrir un navigateur Internet sur l'une des machines qui sort, et simplement d'essayer... Choisissez de préférence un serveur proche ! Une fois que vous êtes satisfait, vous pouvez envisager de placer les commandes précédentes dans l'un de vos scripts de démarrage.

Si vous rencontrez des difficultés, ou pour obtenir plus de détails, consultez la page man de ipfwadm, ainsi que le fichier IP-Masquerade dans le répertoire /usr/doc/HOWTO/mini (qui fut la source essentielle de cette section).

7.6.0.0.1 Dans le cas d'un kernel 2.2.x,

les principes de compilation du noyau sont les mêmes. Seules changes réellement les commandes à utiliser pour mettre en place la masquarade IP. Utilisez plutôt le couple :

ipchains -P forward DENY

ipchains -A forward -s 192.168.1.0/24 -j MASQ 

Le fonctionnement est très similaire, du point de vu de l'utilisation. Seulement les principes mis en \oeuvre sont un peu différents, voyez la page man de ipchains pour plus de détails.



Footnotes

... modem7.8
Source : IP-Masquerade mini HOWTO, par AMBROSE AU
... modem7.9
Source : IP-Masquerade mini HOWTO, par AMBROSE AU
... modem7.10
Source : IP-Masquerade mini HOWTO, par AMBROSE AU
... passerelle7.11
gateway en anglais
...ipfwadm -F -p deny7.12
ipfwadm peut être lu comme <<IP FireWall ADMinistration>>, administration du mur de feu.

next up previous contents
Next: 7.7 Configurer un serveur de pages HTML (serveur Up: 7. Configurations typiques Previous: 7.5 Configurer un serveur mail
kafka.fr@linux-france.org