Question Qu'est-ce que le transfert de port et à quoi sert-il?


Il y a beaucoup de questions sur 'port forwarding' mais il ne semble pas y en avoir un qui indique clairement de quoi il s'agit et à quoi il sert. Alors:

  1. Qu'est-ce que le transfert de port?

  2. À quoi sert-il et pourquoi en aurais-je besoin?


191


origine


Je pense que c'est assez bon: portforward.com/help/portforwarding.htm - Koray Tugay


Réponses:


Les bases

Pour vraiment expliquer la redirection de port, vous devez d'abord comprendre un peu plus ce que votre routeur Est-ce que. Votre fournisseur de services Internet attribue un Adresse IP à votre connexion Internet. Tous les ordinateurs sur Internet ont besoin d'une adresse IP unique, mais vous avez plusieurs ordinateurs dans votre maison et une seule adresse. Alors, comment ça marche?

Si vous savez ce que c'est et que vous voulez juste savoir comment le faire: http: //portforward.com/ a un tutoriel avec des captures d'écran pour des centaines de routeurs différents. La documentation est cachée derrière une page d’annonce pour leur outil automatique portconfig. (Il suffit de cliquer un peu et de le retrouver.)

NAT - Qu'est-ce que c'est? Pourquoi l'utilisons-nous?

Votre routeur domestique a une fonction appelée traduction d'adresses réseau, ou NAT, intégrée. Dans votre réseau, les ordinateurs ont des adresses telles que 192.168.1.100. Toutes les adresses dans la plage 192.168. * (Ou dans la plage 10. *) sont "privé" ou "réservé" adresses. Ces adresses sont officiellement attribuées par l'IANA pour être utilisées à l'intérieur de réseaux privés. Votre routeur attribue automatiquement une telle adresse à chaque ordinateur connecté via DHCP. Ces adresses indiquent comment les ordinateurs de votre réseau communiquent avec le routeur et entre eux.

Votre routeur possède une interface réseau distincte qui le connecte à Internet. Cette interface a une adresse très différente qui est attribuée par votre FAI. C'est l'adresse que j'ai mentionnée précédemment et votre routeur l'utilise pour communiquer avec d'autres ordinateurs sur Internet. Les ordinateurs de votre réseau ont non routable les adresses IP privées, ce qui signifie que si elles envoient des paquets directement sur Internet, les paquets seront automatiquement supprimés (les paquets avec des adresses privées ne sont pas autorisés à traverser Internet pour des raisons de stabilité). Mais votre routeur a un routable adresse. Network Address Translation, comme son nom l'indique, traduit entre ces deux types d’adresses, permettant aux différents ordinateurs à l’intérieur de votre réseau d’apparaître sur Internet comme un seul ordinateur avec une seule adresse.

Les détails

Bien que cela puisse paraître compliqué, la façon dont votre routeur le fait est très simple. Chaque fois qu’un ordinateur de votre réseau veut se connecter à un ordinateur sur Internet, il envoie la demande de connexion au routeur (il sait l’envoyer au routeur car son Passerelle par défaut paramètre est défini sur l'adresse du routeur). Le routeur prend alors cette demande de connexion (une "requête SYN" dans TCP / IP) et modifie l'adresse source (l'adresse de réponse ou de retour) et la transforme de l'adresse IP privée de l'ordinateur en adresse IP publique. routeur, afin que la réponse soit envoyée au routeur. Il prend alors note dans une base de données (appelée le Table NAT) que la connexion a été initiée, de sorte qu’elle se souvienne plus tard.

Lorsque la réponse revient de l'ordinateur distant (un "SYN-ACK"), le routeur examine dans sa table NAT et constate qu'une connexion à cet hôte sur ce port a été initiée par un ordinateur privé sur votre réseau, modifie la destination. adresse à l'adresse privée de l'ordinateur et la transmet à votre réseau. De cette façon, les paquets peuvent continuer à transiter entre les réseaux, le routeur modifiant de manière transparente les adresses pour que cela fonctionne. Lorsque la connexion est terminée, le routeur le retire simplement de la table NAT.

Ou penser de cette façon

Cela peut être un peu plus facile à visualiser avec une métaphore - disons que vous êtes un transitaire américain qui travaille avec des clients chinois. Ils doivent envoyer des colis à de nombreux clients aux États-Unis, mais pour des raisons de douane et de paperasserie, il est plus facile d’envoyer des colis à un seul endroit. Ainsi, un paquet vous parvient de l'un de vos clients en Chine (le réseau privé, dans cet exemple) avec une destination réelle quelque part aux États-Unis (Internet). Vous changez l'étiquette d'adresse sur la boîte à l'adresse US (publique) et vous changez l'adresse de retour à votre propre adresse publique (car elle ne peut pas être renvoyée directement en Chine sans incommoder le client) et la remettre au service postal . Si le client retourne le produit, il vient à vous. Vous le consultez dans vos dossiers et voyez quelle société en Chine il provient, et changez la destination pour cette société (son adresse privée) et l'adresse de retour pour votre adresse privée, afin qu'ils puissent renvoyer un remplaçant par votre intermédiaire.

Cela fonctionne très bien, mais il y a un petit problème. Que se passe-t-il si un client doit envoyer quelque chose à l'entreprise, disons un mandat en paiement pour quelque chose? Ou, disons qu'un ordinateur sur Internet établit une connexion avec le routeur (une requête SYN), par exemple, sur un serveur Web qui se trouve sur le réseau. La lettre / le paquet ne contient que l'adresse publique du routeur, donc le routeur ne sait pas vraiment où l'envoyer! il pourrait être destiné à n’importe lequel des ordinateurs du réseau privé, ou à aucun d’entre eux. Vous avez peut-être rencontré ce problème lorsque vous appelez le téléphone de quelqu'un - quand ils vous appellent, ce n'est pas un problème, mais quand vous les appelez, il leur est impossible de savoir à qui s'adresse l'appel.

Bien qu'il soit assez facile pour les humains de résoudre ce problème, il est beaucoup plus difficile pour les ordinateurs, car tous les ordinateurs de votre réseau ne connaissent pas tous les autres ordinateurs.

Et enfin nous arrivons à la redirection de port

Port Forwarding est la façon dont nous résolvons ce problème: c'est un moyen de dire à votre routeur quel ordinateur à l'intérieur du réseau les connexions entrantes doivent être dirigées. Nous avons trois manières différentes de le faire:

  • Faux-DMZ: beaucoup de routeurs ont une fonctionnalité appelée DMZ. Cela signifie Zone démilitarisée, qui est une sorte de configuration de sécurité réseau. Le DMZ sur les routeurs à domicile est souvent appelé faux-DMZ car il ne possède pas les caractéristiques d'une DMZ réelle. Ce qu'il fait, c'est le type le plus simple de gestion des connexions entrantes: toutes les demandes de connexion entrantes seront envoyées à une autre spécifiée dans votre réseau. C'est simple: vous tapez une adresse IP dans la configuration de votre routeur, et toutes les connexions entrantes s'y trouvent. Cela ne fonctionne pas toujours, cependant, car vous pouvez avoir plusieurs ordinateurs devant accepter des connexions entrantes. Pour cela, nous avons ...
  • Transfert de port: Toutes les demandes de connexion réseau incluent un "port". Le port est juste un numéro, et cela fait partie de la façon dont un ordinateur connaît le paquet. L'IANA a spécifié que le port 80 est utilisé pour HTTP. Cela signifie qu'un paquet entrant indiquant le numéro de port 80 doit être une requête destinée à un serveur Web. La redirection de port sur votre routeur vous permet de saisir un numéro de port (ou éventuellement une plage ou une combinaison de numéros, en fonction du routeur) et une adresse IP. Toutes les connexions entrantes avec un numéro de port correspondant seront transférées à l'ordinateur interne avec cette adresse.
  • Le port UPnP vers l'avant: Le transfert UPnP fonctionne exactement de la même manière que le transfert de port, mais au lieu de le configurer, le logiciel d'un ordinateur du réseau configure automatiquement le routeur pour qu'il transfère le trafic sur un port donné.


Un exemple

Regardons un exemple d'utilisation. De nombreux jeux vidéo multijoueurs (par exemple, Counter Strike) vous permettent de lancer un serveur de jeu sur votre ordinateur auquel d'autres personnes peuvent se connecter pour jouer avec vous. Votre ordinateur ne connaît pas toutes les personnes qui veulent jouer, il ne peut donc pas s'y connecter. En revanche, il doit envoyer de nouvelles demandes de connexion à Internet depuis votre ordinateur.

Si vous n'aviez rien configuré sur le routeur, il recevrait ces demandes de connexion, mais il ne saurait pas quel ordinateur à l’intérieur du réseau avait le serveur de jeu, il les ignorerait simplement (ou, plus précisément, il enverrait sauvegarder un paquet indiquant qu'il ne peut pas se connecter). Heureusement, vous connaissez le numéro de port qui sera sur les demandes de connexion pour le serveur de jeu. Ainsi, sur le routeur, vous définissez un port avec le numéro de port que le serveur de jeu attend (par exemple, 27015) et l'adresse IP de l'ordinateur avec le serveur de jeu (par exemple, 192.168.1.105).
Le routeur saura transmettre les demandes de connexion entrantes à 192.168.1.105 à l'intérieur du réseau et les ordinateurs extérieurs pourront se connecter.

Un autre exemple serait un réseau local avec deux machines, la seconde avec l'adresse IP 192.168.1.10 hébergeant un site Web utilisant Apache. Par conséquent, le routeur doit transmettre les demandes de port entrant 80 à cette machine. En utilisant le transfert de port, les deux machines peuvent être exécutées sur le même réseau en même temps.

Port Forwarding Example

Les jeux vidéo sont peut-être le lieu le plus courant que les utilisateurs rencontrent quotidiennement, bien que la plupart des jeux modernes utilisent UPnP pour que vous n'ayez pas à le faire manuellement (au lieu de cela, il est entièrement automatique). Vous devrez le faire chaque fois que vous souhaitez pouvoir vous connecter directement à un élément de votre réseau (plutôt que par un intermédiaire sur Internet). Cela peut inclure l'exécution de votre propre serveur Web ou la connexion via le protocole Bureau à distance à l'un de vos ordinateurs.

Une note sur la sécurité

Un des avantages de NAT est qu’il offre une sécurité intégrée sans effort. Beaucoup de gens se promènent sur Internet à la recherche de machines vulnérables ... en essayant d'ouvrir des connexions avec différents ports. Ce sont des connexions entrantes, ainsi, comme indiqué ci-dessus, le routeur les déposera. Cela signifie que dans une configuration NAT, seul le routeur lui-même est vulnérable aux attaques impliquant des connexions entrantes. C'est une bonne chose, car le routeur est beaucoup plus simple (et donc moins vulnérable) qu'un ordinateur exécutant un système d'exploitation complet avec beaucoup de logiciels. Vous devez donc garder à l’esprit qu’en DMZing un ordinateur à l’intérieur de votre réseau (en le définissant comme destination DMZ), vous perdez cette couche de sécurité pour cet ordinateur: il est désormais complètement ouvert aux connexions entrantes d’Internet. sécurisez-le comme s'il était directement connecté. Bien sûr, chaque fois que vous transférez un port, l'ordinateur à la réception devient vulnérable sur ce port spécifique. Assurez-vous donc que vous utilisez un logiciel à jour et bien configuré.


282



+1. Merci beaucoup pour un si court cours. Cordialement, - Xavierjazz
Maintenant, ajoutons quelques graphiques! - slhck
De jolis graphismes Bon travail, slhck. - jcrawfordor
Vous l'avez brièvement mentionné, mais vous voudrez peut-être expliquer l'importance des utilisations du transfert de port de type DMZ. Je ne peux pas penser à une seule instance où ce serait une bonne idée, dans un environnement de production, d’exposer quelque chose comme un serveur SQL (ou autre) au monde extérieur. Le transfert de port peut permettre d'obtenir des ressources protégées sans compromettre sérieusement la sécurité. - Brian Vandenberg
Un détail non développé dans la section NAT est le fait que si les ordinateurs de votre réseau utilisent le DHCP pour obtenir leurs adresses IP privées non routables internes, il est possible que celle qui leur est assignée varie et si cela se produit, le transfert de port sera être gâché. Il est préférable d'éviter cela en configurant manuellement l'adressage réseau de chaque ordinateur. portforward.com souligne l'importance de ceci et dispose d'un guide décrivant comment configurer une adresse IP statique sur un système, mais ils ne mentionnent pas la nécessité de configurer également le DHCP du routeur pour éviter ces adresses NAT maintenant réservées. - martineau