Outils pour utilisateurs

Outils du site


réseau:serveur_derrière_un_nat

Accéder à un serveur derrière le même NAT

Situation

À moins d'utiliser votre serveur comme routeur d'accès à Internet, celui-ci sera probablement derrière votre NAT. Cela signifie en particulier qu'il sera accessible en IPv4 à deux adresses différentes :

  • depuis l'Intenet, à l'adresse (publique) de votre connexion ;
  • depuis votre réseau local, à une adresse privée du genre 192.168.0.42.

Problème

Pour mettre à disposition des services, vous aurez défini quelques enregistrements DNS pointant vers l'adresse IPv4 publique de votre serveur, par exemple :

www.example.com. A 192.0.2.42

Cela rend votre serveur web accessible à l'adresse www.example.com. pour tout le monde sauf pour vous ! En effet, dans votre réseau local, votre serveur, c'est 192.168.0.42, alors que 192.0.2.42, c'est votre routeur.

Plusieurs solutions

IPv6

Première solution, la plus simple si vous utilisez des systèmes d'exploitation récents : utiliser le protocole IPv6. Si vous passez par un bon fournisseur d'accès à Internet (c'est à dire Free, Nerim ou FDN), il vous suffit d'activer l'option IPv6, et de configurer éventuellement votre modem personnel, si vous en utilisez un. Sinon, vous devrez utiliser un tunnel IPv6.

Votre serveur obtiendra automatiquement une adresse IPv6, par exemple 2001:db8:4212:4212:4212:4212:4212:4212. Il vous suffit maintenant de l'ajouter dans votre domaine DNS en plus de votre adresse IPv4 :

www.example.com. AAAA 2001:db8:4212:4212:4212:4212:4212:4212

Comme, en IPv6, vous n'êtes pas derrière un NAT, votre adresse est publique, accessible aussi bien depuis l'Internet que depuis votre réseau local (en IPv6, votre réseau local est en fait une partie d'Internet). Vous pouvez alors accéder normalement à vos services personnels depuis tous les logiciels clients qui prennent en charge IPv6.

''/etc/hosts''

Si vous ne pouvez pas obtenir de connectivité IPv6, une solution simple mais très peu évolutive consiste à déclarer les noms de vos services dans le fichier de noms statique de chacun de vos ordinateurs, /etc/hosts. Vous devez pour cela ajouter des lignes comme celle-ci :

192.168.0.42 example.com www.example.com

Lorsqu'un logiciel demande à votre système de résoudre un nom, ce fichier est interrogé avant le DNS, ce qui permet de surcharger la définition normale de vos noms.

Vue DNS

Toujours faute de connectivité IPv6, une solution évolutive convenant à un gros réseau consiste à mettre en place un service DNS renvoyant des résultats différents selon qu'il est interrogé :

Double NAT

Si vous avez la main sur votre routeur, il reste enfin la solution du double NAT, qui permet de rendre votre serveur accessible sous son adresse IPv4 publique, depuis votre réseau local. Ce système est par exemple mis en œuvre d'office dans les freebox.

réseau/serveur_derrière_un_nat.txt · Dernière modification: Tue Dec 14 17:07:23 2010 par elessar