Redirection d'adresses IP

(English version here)
Tentative d'accès sans NAT

Comme j'ai mis un certain temps (voire un temps certain) pour comprendre la redirection d'adresses, je me suis dit que je pourrais vous faire profiter de ce que j'ai compris.

La redirection d'adresses est utile si vous voulez accéder à une machine bien particulière derrière une Box.

On suppose que l'adresse de la Box est connue et fixe (sinon allez ici pour voir comment contourner le problème). Pour l'exemple on va imaginer que cette adresse et 82.1.2.3

C'est une adresse de type WAN (Wide Area Network - Réseau de Grande Dimension) contrairement aux deux adresses de cet exemple 192.168.0.5 et 192.168.0.12 qui sont des adresses LAN (Local Area Network - Réseau Local).

De l'extérieur (côté WAN puisque maintenant vous avez compris) les adresses LAN ne sont jamais vues. Autant 82.1.2.3 est complètement sorti de mon chapeau, autant les adresses LAN ici doivent ressembler beaucoup aux vôtres car 192.168.x.x est une adresse réservée LAN  (tout comme ces 2 autres : 10.x.y.z et 172.16.x.y qui sont en fait des familles d'adresses commençant par ces chiffres. Il n'y a que ces 3 familles).

Le problème

Dans l'animation du haut, un client essaie d'atteindre un serveur (http) qui se trouve derrière une Box. Il tape 82.1.2.3 dans son navigateur qui va parvenir jusqu'à la Box puisque c'est son adresse. Le client possède aussi une IP qui n'est pas montrée ici (une LAN et une WAN).

A l'arrivée, la box voit ce qu'on appelle une trame entrante, c.a.d. un paquet de données encadrées par l'adresse IP WAN source (du client) et l'adresse IP WAN destination (ici 82.1.2.3) en provenance du navigateur du client.
Comme elle gère 2 équipements (A et B), elle est bien embêtée pour savoir vers lequel faire suivre cette trame et du coup ignore la trame : Elle retourne une réponse négative à moins qu'elle soit aussi elle-même serveur http, dans ce cas vous accédez à la Box (à l'intérieur) mais pas au serveur que vous souhaitiez.

Notez que c'est bien pratique pour ignorer toutes les saletés qui viennent de l'extérieur, ça fait déjà les 3/4 du boulot d'un pare-feu :-)

Vive la redirection d'adresses

Il y a 2 moyens de faire comprendre à la Box que nous souhaitons aller sur la machine serveur (A) dont une déconseillée :

  • Le plus simple est de lui dire de tout renvoyer vers le serveur en utilisant la notion de DMZ (la Zone dé-Militarisée). Elle se configure en indiquant une adresse LAN seule (celle du serveur par exemple). Ainsi toute trame venant de l'extérieur ira sur le serveur (mais aussi toutes les saletés). C'est très fortement déconseillé sauf pour de petits tests de courte durée.

    Seulement d'autres personnes, plus exigeantes voudront pouvoir avoir plus de souplesse (genre : il y a 10 serveurs et je veux le n° 3).
    La solution réside dans la redirection d'adresses. En gros on va configurer la Box pour qu'elle sache quoi faire.
  • Cette solution a été mise en place dans les réseaux et consiste à faire suivre toute adresse IP d'un numéro de port. Exemple  : 82.1.2.3:6000
    où 6000 représente le port.
    C'est la redirection d'adresses. On dit aussi redirection de ports (Freebox).

Si vous ne précisez pas de port, le système (votre navigateur) utilise un port standard (80 par exemple pour le protocole http, 443 pour https etc.).
vous pouvez prendre à peu près n'importe quel port entre 1 et 65 535 sauf que les premiers (entre 1 et 1023) ont déjà une utilisation standard. On évite aussi ceux entre 1024 et 49151.
Mais il en reste quand même plus de 16 000 ;-)

On trouve souvent la redirection de port dans la section NAT de la Box bien que ce soit légèrement différent. Il se peut que ce soit aussi dans la section DHCP.

Dans la Box on aura quelque chose qui ressemble à ça :

Port entrant Protocole Adresse locale Port
6000 TCP 192.168.0.12 80

Ce qui veut dire : toute connexion entrante sur la box avec le port 6000 doit être redirigée vers 192.168.0.12 comme si le port était 80 (c'est le port http).
Le serveur sur (A) reçoit donc une trame avec un n° de port de 80 qu'il écoute comme tout bon serveur http :

Accès avec NAT

Et voilà !

Des questions ?
Écrivez-moi à migrigaut at gmail point com