Un routeur, mais c'est très simple.
Comprendre pour configurer son réseau à la maison.

par Jean-Paul Figer, ARMOSC

Publié le - Mis à jour le

vide

Principales rubriques

Le déploiement massif de l'accès Internet haut débit et permanent par l'ADSL ou le câble a entraîné la prolifération de réseau locaux à la maison (ou dans les entreprises). Il existe de nombreux équipements à moins de 100 euros qu'il suffit de déballer et de brancher pour que, miraculeusement, tout marche du premier coup, tout au moins pour l'accès à Internet. En revanche dès que les besoins sont différents (jeux en réseau, téléphone, accès à des machines à distance, etc...) tout se complique et je reçois de nombreuses questions d'utilisateurs un peu perdus. La plupart de ces équipements comportent un routeur dont il faut comprendre le principe de fonctionnement pour le configurer correctement.

Le b, a, ba d'Internet

Internet n'est pas un réseau mais un réseau de réseaux d'où le nom INTER NETworking. Ces réseaux sont reliés entre eux par des programmes spécialisés dans ce travail, souvent intégrés dans un boîtier autonome dénommé routeur (router en anglais) comme indiqué sur le dessin ci-dessus. Un routeur comporte donc 2 interfaces réseaux pour relier entre eux deux réseaux locaux.

Le réseau Internet permet à 2 machines d'échanger des informations entre elles. Chaque machine dispose d'une adresse IP unique qui lui permet d'être identifiée sur le réseau. Cette adresse (en IPv4) est un nombre de 32 bits que l'on représente habituellement sous la forme d'une suite de 4 nombres de 0 à 255 comme par exemple "66.94.230.34". Comme ce n'est pas très pratique, on peut utiliser un adressage symbolique plus facile à mémoriser comme par exemple "www.yahoo.com". Des serveurs appelés DNS (Domain Name System) effectuent la conversion entre l'adresse symbolique et l'adresse physique réelle. Pour voir cette conversion, le plus simple et de taper sur une ligne de commande (fenêtre DOS en W98 ou une Invite de commande sous XP) "ping www.yahoo.com". Pour connaître l'adresse IP de votre machine, taper "ipconfig" sur la ligne de commande.

Pour faire communiquer 2 machines sur le réseau, le protocole TCP/IP découpe l'information en paquets qui comportent tous l'adresse IP de l'équipement d'origine et l'adresse IP de l'équipement de destination. Si les machines sont sur le même réseau local, elles communiquent directement. Sinon, les paquets sont envoyés au routeur. Le routeur regarde si les paquets sont à destination du réseau local de son autre interface sinon il passe à un autre routeur jusqu'à trouver le routeur qui a une interface sur le réseau local de l'adresse de destination. En tapant sur la ligne de commande "tracert www.yahoo.com", vous pouvez suivre la succession des routeurs utilisés pour atteindre la machine de destination, habituellement entre 10 et 20.

Pour savoir si l'adresse IP appartient au réseau local ou à un autre réseau, le protocole TCP/IP a besoin d'une information supplémentaire. Celle ci est fournie sous la forme d'un masque. La valeur usuelle 255.255.255.0 définit un réseau local de 256 adresses IP.

Paramètres de configuration du protocole TCP/IP, DHCP

Il faut bien sûr connaître l'adresse IP et le masque comme expliqué précédemment. Si la machine de destination n'appartient pas au même réseau local, il faut connaître l'adresse locale du routeur qui se chargera de l'acheminement des paquets : c'est le paramètre passerelle (ou gateway en Anglais). Le dernier paramètre est l'adresse d'un DNS pour faire la conversion adresse symbolique adresse IP si nécessaire. En résumé :

  • Adresse IP et masque de la machine : obligatoires.
  • Adresse IP de la passerelle nécessaire pour accéder à des machines à l'extérieur du réseau local.
  • Adresse IP d'un DNS indispensable pour résoudre les noms symboliques.

On peut configurer ces paramètres en utilisant le service DHCP si l'utilisateur a configuré le protocole TCP/IP en demandant "d'obtenir automatiquement une adresse IP". L'avantage de ce service est de fournir les paramètres pour configurer automatiquement la machine. L'inconvénient est que l'adresse peut varier à chaque mise en route sauf si on affecte de manière statique une adresse IP dans le service DHCP. Ce service nécessite un serveur DHCP sur le réseau local. La plupart des routeurs, si l'option DHCP est "ON", fournissent ce service, de même que le partage de connexion Internet intégré dans Windows XP.

Qui attribue les adresses IP?

Pour que le système Internet fonctionne, il faut que les adresses IP dites publiques soient toutes différentes parmi les 4 milliards de combinaisons autorisées par les 32 bits de l'adresse. La croissance rapide de l'Internet au delà de toute prévision et l'utilisation du protocole Internet pour des systèmes non reliés à l'Internet, a rendu impossible ou inutile d'attribuer des adresses IP publiques différentes à toutes les machines de l'Internet. L'IANA (The Internet Assigned Numbers Authority -organisme qui attribue les adresses Internet-) a donc créé 3 blocs d'adresses, dites privées :

  • 10.0.0.0 - 10.255.255.255 (10/8 prefix)
  • 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
  • 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

Ces blocs d'adresses privées ne sont pas routés sur l'Internet et l'usage de ces adresses est libre à l'intérieur d'un Internet local. Vous pouvez donc les attribuer comme vous le souhaitez pour votre réseau local privé.

Pour utiliser au mieux le stock d'adresses publiques existantes, les fournisseurs d'adresse Internet ont pris l'habitude de ne donner qu'une seule adresse IP publique accessible sur l'Internet dans la plupart des offres grand public. Si vous n'avez qu'une machine, il n'y a pas de problème mais dès que vous avez plusieurs machines, vous devez attribuer des adresses privées, prises dans les blocs ci-dessus. Cette solution présente un inconvénient majeur : les machines avec des adresses privées ne peuvent plus communiquer directement avec l'Internet public. Il faut donc trouver une "astuce". De nombreux systèmes sont possibles. Comme toujours, pour simplifier, je ne décrirai que la solution la plus simple et la plus moderne qui est utilisable avec tous les routeurs grand public : le NAT connu aussi sous le nom de masquerading sous Linux.

Pour en savoir plus sur les adresses privées, lire la RFC1918.

Le routeur NAT.

Routeur NAT

Un routeur, comme son nom l'indique, redirige les paquets qu'il reçoit en fonction d'une table de routage vers le routeur suivant jusqu'à atteindre le réseau local de destination. Chaque paquet comporte l'adresse d'origine et l'adresse de destination. Dans le cas d'adresses privées, l'adresse d'origine est une adresse privée inconnue de l'Internet. Le destinataire ne pourra pas répondre. Il faut donc remplacer l'adresse privée d'origine par une adresse publique. C'est le travail du routeur NAT (Network Address Translation) qui effectue la transformation des adresses. Pour pouvoir configurer correctement un routeur NAT, il faut comprendre la notion de port.

Le protocole TCP/IP utilise des ports (un nombre de 0 à 65535) comme le moyen de nommer les bouts d'une connexion logique, une conversation qui comporte plusieurs échanges. Les ports permettent de réaliser simultanément des milliers de connexions logiques sur la même adresse IP. Ils permettent de partager la liaison Internet entre des programmes différents et des machines différentes à la maison. Comme pour les adresses IP, l'IANA a classé les ports en 3 catégories. De 0 à 1023, les "Well Known" ports utilisables seulement par le système ou des fonctions associées, de 1024 à 49151 les "Registered" ports utilisables par les programmes utilisateurs, de 49152 à 65535 les ports dynamiques ou privés. Par défaut, le protocole http utilise le port 80, le POP3 le port 110, etc...

Lorsqu'une machine du réseau local envoie des paquets à un serveur à l'extérieur, l'adresse d'origine est une adresse privée. Le destinataire ne pourra pas répondre à cette adresse. Pour résoudre ce problème, le routeur NAT remplace l'adresse et le port d'origine par l'adresse Internet publique du routeur et un numéro de port libre choisi au hasard en notant adresse et port associés à la machine locale (voir sur le dessin ci-après).

Exemple de Nat

La machine de destination renvoie la réponse sur l'adresse et le port visible de l'Internet au routeur NAT. Celui-ci fait alors la transformation inverse pour renvoyer les paquets vers la machine locale. Dans ce cas de figure, il n'y a rien de spécial à configurer. C'est comme cela que fonctionnent les messageries instantanées. Le logiciel de la machine sur le réseau privé se connecte au serveur de messagerie qui connaît ainsi l'adresse externe et le numéro de port du routeur qui permet de contacter cette machine.

En revanche, une machine qui appelle depuis l'Internet pour atteindre une adresse privée n'a aucun moyen d'y arriver puisque le routeur ne sait pas sur quelle machine du réseau Interne, il faut router l'appel. Il existe un moyen qui s'appelle port forwarding.

Port Forwarding

Port forwarding

Le port forwarding permet de se connecter depuis l'Internet à une machine qui possède une adresse privée inconnue derrière un routeur NAT. On sait uniquement que cette machine va traiter la demande sur un port particulier, par exemple, le port 80 pour un serveur HTTP ou le port 110 pour un serveur POP. Le port forwarding consiste donc à indiquer au routeur de retransmettre les paquets qui arrivent sur le port 80 vers la machine locale qui héberge le serveur HTTP et ceux qui arrivent sur le port 110 vers la machine qui héberge le serveur POP. Il faut naturellement que ces machines aient une adresse IP privée fixe pour que le routeur s'y retrouve. Les options qui permettent de configurer le port forwarding dans le routeur se trouvent généralement dans les paramètres avancées de l'outil de configuration, souvent un petit serveur web intégré dans le routeur. Il existe un site qui donne la procédure à suivre pour configurer en fonction de chaque type de routeur.

Comment être visible sur l'Internet

Les fournisseurs de services Internet vous attribuent en général une seule adresse IP publique. Que cette adresse soit fixe ou variable, il n'est pas facile de s'en souvenir ! Une bonne solution consiste à utiliser une adresse symbolique comme www.figer.com. Si vous ne voulez pas acheter un nom de domaine, le plus simple est d'utiliser les services d'un DNS dynamique. Je vous conseille le plus utilisé, DynDNS. Vous pouvez obtenir gratuitement un nom de domaine du genre monnom.dyndns.org . Il faut ensuite installer un petit logiciel client sur une machine de votre réseau. Ce logiciel signalera chaque changement de votre adresse IP publique à DynDNS. Si votre machine dispose d'un serveur web, il sera accessible de l'extérieur sous le nom http://monnom.dyndns.org si vous avez configuré le port forwarding comme indiqué plus haut. Certains routeurs ont un client DynDNS intégré et il n'est donc pas besoin d'installer de logiciel sur une machine. Si vous avez votre nom de domaine, vous pouvez configurer un alias avec cette adresse symbolique et adresser votre site par exemple avec http://www.monnomdedomaine.

Envoyer vos remarques, suggestions ou questions à

Jean-Paul Figer
© Jean-Paul Figer, 1958-2013

J'ai travaillé pendant 40 ans à Capgemini. Cependant les opinions exprimées dans ces articles n'engagent que moi et ne représentent pas la position de Capgemini.

Pour être informé des nouveaux articles, inscrivez-vous avec votre adresse mail

Les autres méthodes de partage d'une connexion Internet

Les autres méthodes de partage d'une connexion Internet sont les suivantes : Internet Connexion Sharing (ICS) ou Partage de Connexion Internet sous Windows et le serveur Proxy.

  • Internet Connexion Sharing (ICS) ou Partage de connexion Internet sous Windows est tout simplement du NAT qui est réalisé entre 2 interfaces réseau de la machine qui partage la connexion Internet. Un interface réseau est relié à l'Internet avec une adresse publique et l'autre interface est reliée au réseau local avec une adresse privée. Ce service fournit aussi un mini serveur DHCP pour la configuration automatique des autres machines locales et un proxy DNS pour relayer les requêtes DNS vers l'Internet.
  • Le serveur Proxy était l'ancienne manière de donner accès à Internet à des machines sur un réseau privé. Le serveur Proxy qui se trouvait sur le réseau local privé, relayait les demandes des machines locales vers l'Internet. Le serveur Proxy servait aussi de cache pour réduire le trafic vers l'Internet en stockant localement les pages demandées par les utilisateurs. Enfin, on l'utilisait aussi comme filtrage d'adresses pour limiter l'accès à certains sites. Il fallait configurer l'adresse de ce serveur dans son navigateur Internet ce qui compliquait l'utilisation. La fonction cache avait plutôt tendance à ralentir les opérations puisque chaque machine disposait déjà de son cache local et le filtrage d'adresse est réalisable plus simplement dans un routeur. Ce mécanisme a donc été abandonné dans le grand public. Il subsiste encore dans certains réseaux sous le mode Proxy transparent pour bénéficier de la fonction cache pour le téléchargement de gros fichiers.