====== Théorie ====== ===== Architecture du travail terminé ===== {{ :masquerade:passerelle.gif?500 |Topologie de la connexion}} ==== 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 [[070tcpip:start]] et [[080routage:start]]... Sur ce réseau privé, nous trouvons : * Tous vos postes clients (ici 1, 2 et 3) ; * Une interface réseau de votre passerelle GNU/Linux. === 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, voir [[070tcpip:start]] 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, le plus souvent, ne dépassera pas 24h. Théoriquement, une connexion par USB devrait aussi faire l'affaire, bien qu'avec les débits actuels, cette connectivité ne soit plus du tout souhaitable. 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: * Donner une adresse IP fixe dans un réseau privé (192.168.0.x dans notre exemple). * Indiquer comme passerelle par défaut l'adresse IP de la machine LINUX **__dans le réseau privé__** (Celle qui est attachée à eth0: 192.168.0.253 dans notre exemple). * Indiquer l'adresse du  DNS de votre fournisseur d'accès (vous pouvez la trouver en faisant un ''host -v'' ou encore, un ''dig'' sur la machine LINUX). Vous pourrez aussi construire votre propre DNS sur votre machine Linux, comme c'est indiqué dans le chapitre « DNS ». 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 [[:080routage:start|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 GNU/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: - Ma passerelle. Elle s'appelle poétiquement LINUX, son IP dans mon réseau: 192.168.0.253 - La 1° passerelle du FAI, je parle pas de son nom, son IP: 80.8.128.1 - 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: * ''tracert'' sous Windows (console) * ''traceroute'' sous LINUX. ===== Le masquage d'adresses ===== (encore appelé « camouflage d'adresses ») ==== Un peu de logique ==== Nous devons être quelques millions 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) === - récupère votre socket, - remplace votre adresse IP par la sienne, côté extérieur - remplace votre port de réponse X par un qu'il choisit lui-même (Y) - tient à jour une table avec votre socket et le numéro de port Y. - transmet la requête à votre place, avec le socket qu'il a construit. - récupère la réponse sur son port Y - remet dans la réponse votre adresse à la place de la sienne - vous transmet la réponse sur votre port X Simple non? ==== Avantages ==== * Votre machine est inaccessible directement depuis l'Internet puisque votre IP est inconnue, seule celle du camoufleur est visible. * Vous n'avez besoin que d'une seule IP "officielle", celle fournie par votre FAI, pour accéder à l'Internet depuis **__toutes__** les machines de votre réseau privé. * L'opération est complètement transparente pour le client de votre réseau privé, il suffit de configurer correctement votre pile IP. (adresse IP interne, masque de sous réseau qui, dans notre cas serait 255.255.255.0, et adresse du DNS de votre FAI pour avoir la résolution des noms). ==== Inconvénients ==== Mais en est-ce un ? Votre machine est inaccessible (par IP) 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. Attention toutefois, cette protection ne vous met pas à l'abri de toutes les formes d'intrusions. Si un malveillant ne peut accéder directement par IP à votre poste de travail, il peut toujours arriver à vous faire installer une « porte dérobée » par un moyen où un autre, qui lui donnera tout de même l'accès à votre machine. Mais pour intéressante que soit cette question, elle ne fait pas partie du sujet qui nous occupe ici.