2011-05-16 04:00:37 +0000 2011-05-16 04:00:37 +0000
219
219

Qu'est-ce que le transit portuaire et à quoi sert-il ?

Il y a beaucoup de questions sur le “port forwarding” , mais il ne semble pas y en avoir une qui énonce clairement ce que c'est et à quoi cela sert. Donc :

  1. Qu'est-ce que la redirection de port ?

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

Réponses (1)

324
324
324
2011-05-16 04:35:44 +0000

Les bases

Pour vraiment expliquer la redirection de port, vous devez d'abord comprendre un peu plus ce que fait votre routeur. Votre fournisseur d'accès Internet attribue une adresse IP à votre connexion Internet. Tous les ordinateurs sur Internet ont besoin d'une adresse IP unique, mais vous avez plusieurs ordinateurs chez vous et une seule adresse. Comment cela fonctionne-t-il ?

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

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

Votre routeur domestique est doté d'une fonction appelée “Network Address Translation” ou NAT, intégrée. À l'intérieur de votre réseau, les ordinateurs ont des adresses comme 192.168.1.100. Toutes les adresses dans la plage 192.168.* (ou dans la plage 10.*) sont des adresses _ privées “_ ou _ réservées ”_. 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 permettent aux ordinateurs de votre réseau de communiquer avec le routeur et entre eux.

Votre routeur dispose d'une interface réseau distincte qui le relie à l'internet. Cette interface a une adresse très différente qui est attribuée par votre fournisseur d'accès Internet. C'est la seule adresse que j'ai mentionnée précédemment, et votre routeur l'utilise pour communiquer avec d'autres ordinateurs sur l'internet. Les ordinateurs de votre réseau ont des adresses IP privées non-routables, ce qui signifie que s'ils envoient des paquets directement à l'internet, ceux-ci seront automatiquement rejetés (les paquets avec des adresses privées ne sont pas autorisés à circuler sur l'internet pour des raisons de stabilité). Mais votre routeur a une adresse routable. La traduction d'adresse réseau, comme son nom l'indique, traduit entre ces deux types d'adresses, permettant aux multiples ordinateurs de votre réseau d'apparaître sur l'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 s'y prend est en fait assez simple. Chaque fois qu'un ordinateur de votre réseau veut se connecter à un ordinateur sur l'internet, il envoie la demande de connexion au routeur (il sait qu'il doit l'envoyer au routeur parce que son paramètre Default Gateway est réglé sur l'adresse du routeur). Le routeur prend alors cette demande de connexion (une “demande SYN” en TCP/IP) et change l'adresse source (l'adresse de réponse ou de retour) et la fait passer de l'IP privée de l'ordinateur à l'IP publique du routeur, de sorte que la réponse sera envoyée au routeur. Il note ensuite dans une base de données (appelée la table NAT) que la connexion a été initiée, afin de s'en souvenir plus tard.

Lorsque la réponse revient de l'ordinateur distant (un “SYN-ACK”), le routeur regarde dans sa table NAT et voit qu'une connexion à cet hôte sur ce port a été initiée précédemment par un ordinateur privé de votre réseau, change l'adresse de destination en adresse privée de l'ordinateur, et la transmet à l'intérieur de votre réseau. De cette manière, les paquets peuvent continuer à transiter dans les deux sens entre les réseaux, le routeur modifiant les adresses de manière transparente pour qu'il fonctionne. Lorsque la connexion est terminée, le routeur la supprime simplement de la table NAT.

Ou imaginez-le de cette façon

Cela pourrait être un peu plus facile à visualiser avec une métaphore - disons que vous êtes un transitaire américain travaillant avec des clients chinois. Ils doivent envoyer des colis à de nombreux clients aux États-Unis, mais il est plus facile, pour des raisons de douane et de paperasserie, de n'envoyer les colis qu'à un seul endroit. Ainsi, un colis vous parvient d'un de vos clients en Chine (le réseau privé, dans cet exemple) avec une destination réelle quelque part aux États-Unis (l'internet). Vous changez l'étiquette d'adresse sur la boîte pour l'adresse américaine (publique), et vous changez l'adresse de retour pour votre propre adresse publique (puisqu'il ne peut pas être retourné directement en Chine sans gêner le client) et vous le remettez au service postal. Si le client retourne le produit, il vient à vous. Vous le recherchez dans vos dossiers et vous voyez de quelle entreprise en Chine il provient, et vous changez la destination à cette entreprise (son adresse privée) et l'adresse de retour à votre adresse privée, afin qu'ils puissent renvoyer un remplacement par votre intermédiaire.

Cela fonctionne très bien, mais il y a un petit problème. Que faire si un client doit envoyer quelque chose à l'entreprise, disons un mandat en paiement de quelque chose ? Ou, disons qu'un ordinateur sur Internet établit une connexion avec le routeur (une requête SYN), disons avec un serveur web qui se trouve dans le réseau. La lettre ou le paquet ne porte que l'adresse publique du routeur, de sorte que ce dernier ne sait pas où l'envoyer ! Il peut être destiné à n'importe quel ordinateur du réseau privé. ou pour aucun d'entre eux. Vous avez peut-être rencontré ce problème lorsque vous appelez le téléphone du domicile de quelqu'un - lorsqu'il vous appelle, ce n'est pas un problème, mais lorsque vous l'appelez, il n'y a aucun moyen pour lui de savoir à qui s'adresse l'appel, donc la mauvaise personne peut répondre.

Bien qu'il soit assez facile pour les humains de régler ce problème, c'est beaucoup plus délicat 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

La redirection de port est la façon dont nous réglons ce problème : c'est un moyen de dire à votre routeur vers quel ordinateur du réseau les connexions entrantes doivent être dirigées. Nous avons trois façons différentes de faire cela :

  • Faux-DMZ : beaucoup de routeurs ont une fonction appelée DMZ. Cela signifie “Demilitarized Zone”, qui est une sorte de configuration de sécurité du réseau. La DMZ des routeurs domestiques est souvent appelée “faux-DMZ” parce qu'elle n'a pas les caractéristiques d'une vraie DMZ. Ce qu'elle fait, c'est la gestion la plus simple des connexions entrantes : toutes les demandes de connexion entrantes sont envoyées à une zone spécifiée à l'intérieur de votre réseau. C'est très simple : vous tapez une adresse IP dans la configuration de votre routeur et toutes les connexions entrantes y vont. Mais cela ne fonctionne pas toujours, car vous pouvez avoir plusieurs ordinateurs qui doivent accepter les connexions entrantes. Pour cela, nous avons…
  • Transfert de port : Toutes les demandes de connexion au réseau incluent un “port”. Le port n'est qu'un nombre, et il fait partie de la façon dont un ordinateur sait ce qu'est le paquet. L'IANA a précisé que le port 80 est utilisé pour le HTTP. Cela signifie qu'un paquet entrant qui indique 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 d'entrer un numéro de port (ou éventuellement une plage ou une combinaison de numéros, selon le routeur), et une adresse IP. Toutes les connexions entrantes ayant un numéro de port correspondant seront redirigées vers l'ordinateur interne ayant cette adresse.
  • UPnP port forward : La redirection UPnP fonctionne exactement de la même manière que la redirection de port, mais au lieu de vous laisser la configurer, un logiciel sur un ordinateur à l'intérieur du réseau configure automatiquement le routeur pour lui faire suivre le trafic sur un port donné.

Un exemple

Voyons un exemple d'utilisation. De nombreux jeux vidéo multijoueurs (Counter Strike, par exemple) vous permettent de faire fonctionner un serveur de jeux 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, donc il ne peut pas se connecter à elles - il doit plutôt envoyer de nouvelles demandes de connexion à votre ordinateur depuis Internet.

Si vous n'avez rien de configuré sur le routeur, il recevrait ces demandes de connexion mais ne saurait pas quel ordinateur du réseau possède le serveur de jeu, donc il les ignorerait (ou, plus précisément, il renverrait un paquet indiquant qu'il ne peut pas se connecter). Heureusement, vous connaissez le numéro de port qui figurera sur les demandes de connexion pour le serveur de jeu. Ainsi, sur le routeur, vous définissez un port de redirection 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 faire suivre les demandes de connexion entrantes à 192.168.1.105 à l'intérieur du réseau, et les ordinateurs à l'extérieur pourront se connecter à l'intérieur.

Un autre exemple serait un réseau local avec deux machines, où la seconde avec l'IP 192.168.1.10 héberge un site web utilisant Apache. Le routeur devrait donc transmettre les requêtes entrantes du port 80 à cette machine. Les jeux vidéo sont peut-être l'endroit le plus courant où les utilisateurs quotidiens rencontreront la redirection de port, bien que la plupart des jeux modernes utilisent l'UPnP pour que vous n'ayez pas à le faire manuellement (au lieu de cela, c'est entièrement automatique). Vous devrez cependant le faire chaque fois que vous voudrez vous connecter directement à un élément de votre réseau (plutôt que de passer par un intermédiaire sur Internet). Vous pouvez par exemple utiliser votre propre serveur web ou vous connecter à l'un de vos ordinateurs via le protocole Remote Desktop.

Une note sur la sécurité

L'un des avantages de la NAT est qu'elle offre une sécurité intégrée sans effort. Beaucoup de gens parcourent l'internet à la recherche de machines vulnérables… et ils le font en essayant d'ouvrir des connexions avec différents ports. Il s'agit de connexions entrantes, donc, comme nous l'avons vu plus haut, le routeur les supprime. 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, parce que le routeur est beaucoup plus simple (et donc moins susceptible d'être vulnérable) qu'un ordinateur utilisant un système d'exploitation complet avec beaucoup de logiciels. Vous devez donc garder à l'esprit qu'en plaçant un ordinateur dans votre réseau (en le définissant comme destination DMZ), vous perdez cette couche de sécurité pour cet ordinateur : ilest maintenant complètement ouverte aux connexions entrantes de l'internet, vous devez donc la sécuriser comme si elle était directement connectée. Bien entendu, chaque fois que vous transférez un port, l'ordinateur du côté récepteur devient vulnérable sur ce port spécifique. Assurez-vous donc d'utiliser un logiciel à jour et bien configuré.

Questions connexes

10
19
13
5
4