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

Théorie

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


Architecture du travail terminé

architecture

Mise en garde

Les adresses IP définies sur le schéma sont données à titre d'exemple...

Réseau privé

Bien entendu, tout fonctionne avec TCP/IP, vous configurez donc votre réseau privé avec des adresses privées. Les réseaux 192.168.xxx.yyy  sont des réseaux destinés à cet usage. Ce ne sont pas les seuls, mais comme vous avez peu de chances d'avoir plus de 254 machines sur votre réseau privé, une classe C devrait vous suffire. Vous n'avez déjà rien compris à ce que j'ai raconté ? Alors, vous devriez commencer par lire les chapitres sur les réseaux , TCP/IP et le routage...

Sur ce réseau privé, on trouve:

Attention !

Dans notre exemple, l'adresse 192.168.0.0 NE DOIT PAS être utilisée par une machine, elle représente l'adresse du réseau dans son ensemble. De même, l'adresse 192.168.0.255 est réservée au "broadcast". Pour plus de détails, voire le chapitre TCP/IP sur ce site.

Connexion au FAI

La deuxième carte réseau placée dans le serveur LINUX est directement connectée au modem-câble ou modem ADSL. Généralement, vous n'avez droit qu'à une adresse IP "dynamique". C'est votre FAI qui vous la prête pour une durée qui, normalement, ne dépassera pas 24h. Chez Wanadoo, tout est fait pour que vous ne disposiez jamais deux fois de suite de la même adresse IP.

Théoriquement, une connexion par USB devrait aussi faire l'affaire. Elle n'est pas traitée ici, mais si vous arrivez à faire fonctionner un modem en USB sous Linux, le reste de ce chapitre est certainement exploitable, avec un minimum d'interprétation.

Configuration des clients

Les clients (les postes du réseau privé) peuvent être de n'importe quelle nature, pourvu qu'ils disposent d'un OS réseau gérant le protocole TCP/IP.

Il faut donc installer TCP/IP et le configurer de la façon suivante:

Ceci devrait suffire. Le client PPPoE que nous allons utiliser est suffisamment performant pour résoudre tout seul l'épineux problème du MTU. Voir le chapitre sur PPPoE à ce sujet

Et après ?

Après, vous arrivez sur la passerelle de votre FAI. Elle ne fonctionne pas tout à fait comme celle que nous allons monter, mais presque ("masquerade" en moins, ici, nous avons des "vraies" adresses IP).

Nous n'allons pas ici entrer dans les détails du routage, c'est déjà fait ailleurs sur ce site, mais il faut en parler un petit peu tout de même. Lorsqu'une machine d'un réseau A (par exemple 192.168.0.0) veut communiquer avec une machine d'un réseau B (par exemple 192.168.1.0), même si ces deux machines sont physiquement connectées au même média, elles ne se verront pas. Il faut mettre en place une passerelle entre ces deux réseaux, c'est à dire une machine qui a un pied dans chaque réseau, un peu comme votre machine LINUX. En plus, il faudra expliquer à cette machine qu'elle doit établir un passage entre les deux réseaux.

Une démonstration...

Trace l'itinéraire vers watteau.auteuil.cnrs-dir.fr [193.51.136.4]
avec un maximum de 30 tronçons :

Durée du ping Nom de la machine Adresse IP de la machine
1 <10 ms <10 ms <10 ms 
LINUX
[192.168.0.253]
2 12 ms 12 ms 13 ms
ca-ol-marseille-1-1.abo.wanadoo.fr 
[80.8.128.1]
3 12 ms 12 ms 35 ms
172.19.46.65
[172.19.46.65]
4 11 ms 12 ms 12 ms 
GE1-1-811.ncmar301.Marseille.francetelecom.net 
[193.252.227.82]

C'est pas la peine d'aller plus loin:

  1. Ma passerelle. Elle s'appelle poétiquement LINUX, son IP dans mon réseau: 192.168.0.253
  2. La 1° passerelle du FAI, je parle pas de son nom, son IP: 80.8.128.1
  3. La Passerelle de sortie du FAI: 172.19.46.65

La route complète aurait pu être tracée, nous aurions vu alors toutes les passerelles d'interconnections de réseaux. Vous ferez la manip. vous même:

Le masquage d'adresses

(encore appelé "camouflage d'adresses")

Un peu de logique

Nous devons être quelques milliers dans le monde (et peut-être plus...) à utiliser les même classes privées, elles sont faites pour ça ! Ces adresses ne transitent JAMAIS sur l'Internet. Mais alors comment faire? C'est l'objet de la fonction de masquage, appelée "MASQUERADE" chez LINUX. Génériquement, c'est du NAT (Network Address Translation), associé à du PAT (Port Address Translation). Par extension, on parle systématiquement de NAT.

L'opération de masquage (ou camouflage)

  1. récupère votre socket,
  2. remplace votre adresse IP par la sienne, côté extérieur
  3. remplace votre port de réponse X par un qu'il choisit lui-même (Y)
  4. tient à jour une table avec votre socket et le numéro de port Y.
  5. transmet la requête à votre place, avec le socket qu'il a construit.
  6. récupère la réponse sur son port Y
  7. remet dans la réponse votre adresse à la place de la sienne
  8. vous transmet la réponse sur votre port X

Simple non?

Avantages

Inconvénients

Mais en est-ce un ? Votre machine est inaccessible directement depuis l'Internet puisque votre IP est inconnue, seule celle du camoufleur est visible. Vous ne pouvez donc pas placer un serveur derrière votre passerelle, du moins pas très simplement. Des solution existent cependant, comme nous le verrons avec Netfilter.


Accueil ] [ Suivante ]