Outils pour utilisateurs

Outils du site


4._b_routage_ports_et_ip

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 ( 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.

Protocole Port Serveur
TCP 21 FTP Transfert de fichiers
TCP 22 SSH Connexion à distance sécurisée
TCP 25 SMTP Mail
TCP 80 HTTP Web
TCP 110 POP Rapatriement de mails
TCP 143 IMAP Rapatriement de mails
TCP 443 SSL Connexion web/ftp sécurisée X
TCP 1743 VPN Lien virtuel
TCP 10000 Webmin Connexion au mini serveur webmin X

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

2013/11/05