Translation de ports et IP

Dans les articles prĂ©cĂ©dents, je fais la distinction entre l'adresse ip locale et externe. Peut-ĂȘtre que c'est le moment d'apporter quelques explications lĂ -dessus.

Sur internet, vous n'avez qu'une seule ip, parce que les FAIs aujourd'hui ne voient pas l'intĂ©rĂȘt d'en donner plusieurs et essaient d'Ă©conomiser une ressource qui se fait rare. De fait, une seule ip, pour la plupart des utilisateurs d'internet aujourd'hui, c'est suffisant. Notamment parce que les FAIs français vendent internet comme un service unilatĂ©ral, un peu comme le minitel ou la tĂ©lĂ©vision, les utilisateurs ne ressentent pas le besoin d'avoir plusieurs ips dans leur utilisation. Mais ça c'est un autre sujet.

La box française

Donc vous avez une seule ip sur internet, qui est attribuée dans la plupart des cas aujourd'hui à une box (avec un mot devant souvent) . Disons que vous avez trois ordinateurs qui se connectent à internet derriÚre cette box. Pour les distinguer, la box va leur attribuer une ip locale, sinon elle ne pourra pas savoir qui est qui.

On a donc par exemple :

Les trois machines ont accĂšs Ă  internet, et le rĂŽle de la box dans ce cas lĂ , c'est de trier les donnĂ©es qui transitent Ă  travers elle, de façon Ă  ce que la machine 3 ne reçoive pas les donnĂ©es destinĂ©es Ă  la machine 1. Ça, c'est la fonction routeur inclue dans la box. Le principe de la translation d'adresse, (85.212.78.56 > 192.168.0.x ) s'appliquera mĂȘme si on a qu'une machine derriĂšre la box, et ça, c'est le NAT qui le fait.

Quand vous allez sur un site, c'est donc votre ip externe que le serveur voit, et rĂ©ciproquement, si on veut accĂ©der Ă  votre ordinateur, c'est votre ip externe qu'on utilisera. Oui mais voilĂ , il y a dans ce cas trois ordinateurs derriĂšre cette ip externe, alors comment on va faire ? Eh bien on va dire Ă  la box vers quelle machine on veut renvoyer les requĂȘtes qui arrivent sur certain ports: ça s'appelle de la translation de ports. Dans notre cas, on ne veut pas ouvrir tous les ports mais seulement certains, en fonction de ce qu'on installe comme serveur.

Disons que la machine 3 fait tourner un serveur apache et que la machine 2 fait tourner un serveur mail. On va faire de la redirection de port. En gros, ça va revenir Ă  dire au routeur : "Si tu reçois une requĂȘte sur le port 25 ( smtp ) sur l'ip externe ( 85.212.78.56:25 ), tu envoies les paquets Ă  la machine 2. Si tu reçois une requĂȘte sur le port 80 ( http ), tu l'envoies vers la machine 3."

Et comme ça, tout le monde reçoit les donnĂ©es qui lui sont destinĂ©es, et tout le monde est content. Ça se complique si on veut installer un serveur apache sur plusieurs ordinateurs du rĂ©seau, et il faudra alors passer par un serveur dns ou un proxy mais ça on le verra un peu plus tard.

Routage

Le routage, c'est toute opĂ©ration qui consiste Ă  Ă©tablir une route entre deux points sur le rĂ©seau. La plupart du temps, c'est automatique, et on ne s'en rend mĂȘme pas compte. Si on ajoute une machine 4 au rĂ©seau ci-dessus, il y a de fortes chances qu'il se voit attribuĂ© automatiquement l'adresse locale 192.168.0.12. LĂ  oĂč ça devient embĂȘtant, c'est que nos machines 2 et 3 sont des serveurs, et qu'il leur faut donc une ip locale fixe. Bah oui, si on dĂ©connecte la machine 3, qu'on connecte entre temps une autre machine 4, et qu'on reconnecte la machine 3 son ip en local va changer, et c'est la machine 4 qui va recevoir tous les paquets destinĂ©s Ă  la machine 3.

La solution Ă  ce problĂšme c'est d'attribuer un bail DHCP Ă  une machine
en fonction de son adresse [ MAC
](http://fr.wikipedia.org/wiki/Adresse_MAC) ( rien Ă  voir
avec la marque à la pomme ). L'adresse mac est une adresse matérielle
unique, attachée à un périphérique réseau, de la forme XX : XX : XX : XX
XX : XX (6 octets ) ou X peut-ĂȘtre un nombre hexadĂ©cimal (0 Ă  9 et A Ă  F). DHCP, c'est le protocole qui permet au routeur d'attribuer automatiquement une adresse locale Ă  une machine qui s'ajoute, Ă  condition que celle-ci soit rĂ©glĂ©e pour ça.

Un peu comme pour la redirection de ports, on va donner des rÚgles au routeur (un bail). Dans ce cas, on va lui dire : "L'adresse ip locale 192.168.0.11 est réservée à la machine qui a l'adresse mac 01:02:03:04:ab:cd ( la machine 2 ici)"

Le routeur rĂ©servera alors les ip aux mac correspondantes, mĂȘme si les machines ne sont pas connectĂ©es, ce qui assurera aux serveurs des ips fixes en local.

Alors comment je fais, hein ?

Maintenant qu'on sait ce qu'on doit faire en théorie, voyons la pratique.

Trouver l'adresse mac d'un périphérique

Pour trouver l'adresse mac du périphérique qui vous sert à vous connecter, dans un terminal :

 ifconfig | grep 'HWaddr' 

qui devrait renvoyer quelque chose du genre :

 eth0 Link encap:Ethernet HWaddr 01:02:03:04:ab:cd 

Si vous avez plusieurs cartes réseau ( une en wifi et une en ethernet par exemple ), vous aurez sans doute plusieurs lignes avec eth0, eth1, wlan0... Il faut bien veiller à prendre la mac d'une carte de type "eth", à moins de connecter votre serveur en wifi, mais c'est peu probable.

RĂ©capitulatif des principaux ports logiciels

Voici les principaux ports officiels qui devront ĂȘtre ouverts si vous suivez toutes les Ă©tapes de ce dossier. Il est conseillĂ© d'ouvrir les ports au fur et Ă  mesure de vos besoins.

Les ports désignés par un X sont ceux qu'il faudra ouvrir en premier pour avoir un accÚs minimal à l'interface d'administration du serveur.

L'ouverture de ces ports sera rappelée au fur et à mesure des chapitres, ne vous précipitez donc pas à tous les ouvrir. Pour l'instant, seul ceux indiqués sont nécessaires.

Exemple de la freebox

N'ayant pas sous la main une box de chaque fai, je mettrais cette partie Ă  jour au fur et Ă  mesure. Pour les box dont je ne traite pas ici, je vous renvoie vers diffĂ©rents sites qui traitent de la façon de procĂ©der. L'avantage de l'interface de la freebox, c'est d'ĂȘtre simple et clair. Ça peut aussi devenir un inconvĂ©nient, mais pour les deux manipulations dĂ©crites ci-dessus, c'est suffisant et rapide.

Dans un premier temps, il faut donc se rendre sur free.fr (https://subscribe.free.fr/login/) et entrer vos identifiants.

La suite se passe dans la rubrique "Internet", puis "Configurer mon routeur Freebox". Ici, les deux rubriques qui nous intéressent sont "Redirections des ports" et "Baux DHCP permanents".

Attribution du bail DHCP

Vérifiez d'abord que le mode routeur est bien activé, ainsi que le dhcp. Dans la configuration de l'exemple, on veut attribuer les adresse 192.168.0.11 et 192.168.0.12. Néanmoins, la plage DHCP définie ici ne devra pas nécessairement comprendre ces deux adresses. On peut envisager une plage DHCP s'étendant de 192.168.0.20 à 192.168.0.40, et attribuer un bail DHCP à certaines machines hors de cette plage ( non comprise entre 192.168.0.20 et 192.168.0.40 donc ) Pour attribuer un bail permanent à une adresse ip en fonction de son adresse mac, il suffit de remplir la partie "Baux DHCP permanents" avec les informations qu'on a récupéré :

L'adresse 192.168.0.11 est donc réservée au périphérique ayant pour mac 01:02:03:04:ab:cd et ainsi de suite.

Redirection des ports

Les ips locales de nos serveurs sont maintenant fixes, et il ne reste plus qu'Ă  rediriger les ports qui vont bien vers celles-ci.

Dans la case la plus Ă  gauche, entrez le port externe Ă  ouvrir, et dans les cases de droite, entrez l'ip locale et les ports vers lesquels les requĂȘtes externes seront redirigĂ©es.

Dans cet exemple, les ports 80 et 10000 de la box renvoient vers les ports 80 et 10000 de la machine dont l'ip est 192.168.0.12 et le port 25 est redirigé vers la machine dont l'ip est 192.168.0.11.

Pour les autres box

Chapitre suivant