Routage, ouverture de port, DMZ, comment ça marche ? / Tutoriels, trucs, astuces / Orange Sans Guigne

Orange Sans Guigne

ob1    Épluchons l'orange, retirons les pépins    ob2
Merci de créer une discussion par problème personnel.

Vous n'êtes pas identifié(e).

#1 11/11/2014 14:42:36

Ghizmo38
Modérateur
Inscription : 02/10/2012
Messages : 396

Routage, ouverture de port, DMZ, comment ça marche ?

Bonjour,

Vu le nombre de message sur les forums qui concernent ce sujet, je vais tenter en quelques (!) lignes de vulgariser le travail d'un routeur.


Pour commencer, des notions de base. Il faut d'abord différencier deux types de trafic: Le trafic sortant et le trafic entrant.
Il faut aussi savoir qu'en communication réseau, il y a toujours d'un coté un serveur, et de l'autre un client.

Commençons par le début.
J'installe un routeur. Il n'y a aucune machine connectée sur le réseau local.
Le routeur une fois connecté va avoir une IP publique, mettons 93.154.20.230 et une IP locale, que l'on appelle la passerelle, mettons 192.168.1.1
Le routeur va rejeter tout le trafic entrant. Il ne s'agit pas d'une action d'un parefeu, mais le routeur ne sait pas quoi faire de ce trafic.
J'allume un PC connecté au routeur. Ce PC va avoir une adresse IP locale. Mettons 192.168.1.10
Je lance un navigateur pour afficher la page d'accueil de Google.
Le PC va commencer par faire une requête DNS. En effet, sur un réseau, les noms de domaine n'existent pas et il va falloir interroger un serveur DNS (Domain Name Server) pour convertir www.google.fr en IP. Le serveur va m'indiquer que l'IP correspondante est 173.194.67.94
Cette IP ne faisant pas partie du réseau local, le PC va s'adresser à la passerelle.
Mon navigateur va donc envoyer une requête à 173.194.67.94.
Une requête, c'est comme un colis que l'on envoie par la poste. On indique l'adresse du destinataire, ainsi que celle de l'expéditeur.
Mais on va aussi rajouter à l'IP un port. L'ensemble IP + port s'appelle un socket.
Je m'adresse à un serveur WEB. Je suis donc un client.
Le port utilisé par un serveur WEB est par convention le port 80.
Je vais donc indiquer comme destinataire: 173.194.67.94:80 (IP+port)
Mon navigateur va choisir un port en tant que client: Ce sera un port supérieur à 1023, les 1023 premiers ports étant réservés aux serveurs. Mettons 1050.
Je vais donc indiquer comme expéditeur 192.168.1.10:1050

Cette requête va arriver au routeur.
La routeur va transmettre cette requête au routeur suivant. Mais l'adresse d'expéditeur est une adresse privée, qu'il est impossible de router sur le Net. Il va donc remplacer cette adresse par son adresse publique.
Nous aurons donc:
Destinataire 173.194.67.94:80
Expéditeur 93.154.20.230:1050
Le routeur sait que le serveur va répondre sur le port 1050. Il note donc dans sa table de routage dynamique que tout le trafic qui va entrer sur l'IP publique 93.154.20.230:1050 doit être routé vers 192.168.1.10:1050
C'est de la translation d'adresse (NAT)

Si j'allume un deuxième PC 192.168.1.11 sur lequel je fais la même requête.
Il y a peu de chance que le navigateur choisisse le même port client. Mais au cas ou ça arriverai, le routeur s'en débrouille.
Il va mettre:
Destinataire 173.194.67.94:80
Pour l’expéditeur il va choisir un autre port, par exemple 93.154.20.230:1051 à la place de 1050
et indiquer dans sa table de routage dynamique que tout le trafic qui va entrer sur l'IP publique 93.154.20.230:1051 doit être routé vers 192.168.1.11:1050
C'est de la translation d'adresse (NAT) et de la translation de port (PAT)

Et ainsi de suite, pour chaque appli cliente, chaque page web, chaque onglet, une règle dynamique sera crée avec un port différent.

Tout le trafic entrant sur un autre port sera toujours rejeté.

Je veux héberger chez moi un serveur.

Ce peut être un serveur Web, un serveur de fichiers, un DVR, etc...

Le client sera cette fois quelque part sur le web, il va tenter d'accéder à mon serveur. Il ne connait que mon IP publique, soit directement soit par l'intermédiaire d'un nom de domaine.
Mettons que j'héberge un serveur Web qui écoute sur le port 80 sur la machine 192.168.1.10.
Le routeur va voir arriver une requête sur son IP publique, sur le port 80. N'ayant pas de consigne, il va le détruire.
C'est là qu'intervient la configuration NAT/PAT de mon routeur.
Je vais lui écrire une consigne, disant que le trafic entrant sur le port 80 doit être dirigé vers la machine 192.168.1.10, sur le port 80.
Vous comprendrez donc qu'il n'est (presque) pas possible d'avoir 2 serveurs sur 2 machines différentes écoutant sur le même port.
Pourquoi presque ? S'il n'est pas possible de modifier le port des serveurs (par exemple 2 serveurs sur le port 185), il faudra y accéder pour l'un avec IPWAN:185 et pour l'autre IPWAN:186 (par exemple) et indiquer dans la règle NAT/PAT pour le second port externe 186 et port interne 185.
La consigne sera donc pour le routeur:
Ce qui arrive sur 185 doit être redirigé sur machine 1 port 185
Ce qui arrive sur 186 doit être redirigé sur machine 2 port 185

Et la DMZ ?

La DMZ consiste à dire au routeur que tout le trafic entrant n'ayant pas de règle ne doit pas être détruit mais dirigé vers une machine précise.

Il va de soi que les règles de routage, qu'elles soient dynamiques ou statiques sont prioritaires sur la DMZ.

Il existe très peu de raisons valables de créer une DMZ sur un routeur. Une règle NAT/PAT doit suffire dans la majorité des cas. N'oubliez pas que la machine vers laquelle est créée une DMZ est exposée à toutes les intrusions !

Et l'UPnP ?

L'UPnP est un protocole permettant de créer des règles NAT/PAT pour un serveur automatiquement.
Certains programmes sont à la fois client et serveur.
Prenons Skype par exemple. Il va se connecter en tant que client sur un serveur, mais va dans le même temps ouvrir un serveur, afin de communiquer dans les 2 sens.
S'il fallait créer manuellement les règles à chaque utilisation de Skype, ce serait laborieux. Le protocole UPnP va se charger de créer les règles à ma place, règles qui seront supprimées lorsque je n'utiliserai plus le programme.

Et le parefeu ?

Le parefeu de la Livebox n'intervient pas dans le trafic entrant. Il n'y a pas de modification à faire dans le parefeu si j'ai un serveur chez moi.
Si je passe le parefeu en mode personnalisé, je vais créer des règles de trafic sortant. Dans ce mode, tout le trafic sortant est interdit, sauf ce que j'aurai autorisé. A utiliser avec prudence, à éviter si l'on est pas absolument certain de ce que l'on fait et que l'on n'a pas de bonnes notions de réseau !


Dernier point:
Comment vérifier que mon port est bien dirigé ?
Ce n'est pas si simple. Certains sites sur le Net permettent de tester si un port est ouvert ou fermé. Mais un port vu fermé ne veut pas dire que la règle inscrite dans le routeur ne fonctionne pas ! Pour que le port soit vu ouvert, il faut que le routeur le redirige vers une machine, qu'un serveur soit actif sur cette machine et écoute sur ce port, et il ne faut pas qu'un logiciel de sécurité (Windows ou autre) bloque le trafic entrant sur ce port (chose qui arrive fréquemment !)

Voilà, vous devriez maintenant être capable de configurer votre Livebox afin d’héberger un serveur chez vous sans difficulté !


Parler beaucoup est une chose, parler à bon escient en est une autre. Sophocle

Hors ligne

#2 11/11/2014 19:42:41

Phénix
Admin
Inscription : 28/08/2012
Messages : 6 076

Re : Routage, ouverture de port, DMZ, comment ça marche ?

Bonsoir Ghizmo smile

Super boulot, ça devrait bien aider ...


Livebox-Play Fibre : LB3(FW SG30_sip-fr-6.62.12.1) + IHD92 (FW ?) (+ WE-Record)
Offre Sosh 4G : Samsung J3(6) Duos "no brand" (+ ViewPad7, HTC WildFireS,  Samsung Ace3)
On a déjà vu des choses qui ne sont jamais arrivées ...

Hors ligne

#3 24/05/2021 15:25:27

N0ury
Membre
Inscription : 24/05/2021
Messages : 1

Re : Routage, ouverture de port, DMZ, comment ça marche ?

Bonjour @ Ghizmo,

Je découvre ce très vieux post aujourd'hui.
J'en suis bien content, car il m'aura bien servi.
Il est d'ailleurs tellement ancien qu'il faudrait peut-être le toiletter.
J'ai en effet deux remarques:

1 - le pare-feu ne sert que pour les flux sortants.
C'est vrai pour l'IPv4, mais j'ai l'impression que pour l'IPv6 c'est également pour les flux entrants.

2 - Ce serait bien d'expliquer un peu plus le fonctionnement de l'IPv6.

C'est vrai que l'IPv6 s'est beaucoup développé depuis la rédaction de ton article.

Merci encore.

Hors ligne

#4 26/05/2021 09:23:17

Phénix
Admin
Inscription : 28/08/2012
Messages : 6 076

Re : Routage, ouverture de port, DMZ, comment ça marche ?

Bonjour.

Je laisse à Ghizmo (Salut Ghizmo !) le soin de compléter si nécessaire, mais une remarque déjà :
La notion de NAT disparaît avec IPV6.
Par contre, la redirection de ports reste nécessaire, puisque par défaut la LiveBox n'autorise aucune connexion entrante, c'est peut-être pour ça que tu as l'impression que le pare-feu bloque les flux entrants.

Le fonctionnement d'IPV6 est un autre sujet, je ne pense pas que ce soit une bonne idée de l'évoquer dans cette discussion-ci smile


Livebox-Play Fibre : LB3(FW SG30_sip-fr-6.62.12.1) + IHD92 (FW ?) (+ WE-Record)
Offre Sosh 4G : Samsung J3(6) Duos "no brand" (+ ViewPad7, HTC WildFireS,  Samsung Ace3)
On a déjà vu des choses qui ne sont jamais arrivées ...

Hors ligne

Pied de page des forums