Il y a beaucoup de questions sur la «redirection de port» , mais il ne semble pas qu'il y en ait une qui indique clairement ce que c'est et à quoi il sert. Alors:
Qu'est-ce que la redirection de port?
À quoi sert-il et pourquoi en aurais-je besoin?
Il y a beaucoup de questions sur la «redirection de port» , mais il ne semble pas qu'il y en ait une qui indique clairement ce que c'est et à quoi il sert. Alors:
Qu'est-ce que la redirection de port?
À quoi sert-il et pourquoi en aurais-je besoin?
Réponses:
Pour vraiment expliquer le transfert de port, vous devez d’abord comprendre un peu plus ce que fait votre routeur . Votre fournisseur de services Internet attribue une adresse IP à votre connexion Internet. Tous les ordinateurs connectés à Internet ont besoin d'une adresse IP unique, mais vous avez plusieurs ordinateurs chez vous et une seule adresse. Donc comment ça fonctionne?
Si vous savez ce que c'est et que vous voulez juste savoir comment faire : http://portforward.com/ propose un guide d'utilisation avec des captures d'écran pour des centaines de routeurs différents. La documentation est cachée derrière une page de publicité pour son outil de configuration automatique de portconfig. (Cliquez juste un peu et vous le trouverez.)
Votre routeur domestique possède une fonction appelée traduction d'adresse réseau ou NAT intégrée. À l'intérieur de votre réseau, les ordinateurs ont des adresses telles que 192.168.1.100. Toutes les adresses de la plage 192.168. * (Ou de la gamme 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 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 fournisseur de services Internet. 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 des adresses IP privées non routables , ce qui signifie que s’ils envoient des paquets directement à Internet, ceux-ci seront automatiquement rejetés (les paquets avec des adresses privées ne sont pas autorisés à parcourir Internet pour des raisons de stabilité). Mais votre routeur a une adresse routable . La traduction d'adresses réseau, comme son nom l'indique, traduit entre ces deux types d’adresses, ce qui permet à plusieurs ordinateurs de votre réseau d’apparaître sur Internet comme un seul ordinateur avec une seule adresse.
Bien que cela puisse paraître compliqué, la façon dont votre routeur le fait est en fait assez 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 paramètre Default Gateway est défini sur l'adresse du routeur). Le routeur accepte alors cette demande de connexion (une "demande SYN" dans TCP / IP), modifie l'adresse source (l'adresse de réponse ou l'adresse de retour) et la modifie de l'adresse IP privée de l'ordinateur à l'adresse IP publique du serveur. routeur, de sorte que la réponse soit envoyée au routeur. Il note ensuite dans une base de données (appelée table NAT ) que la connexion a été initiée, afin qu'il s'en souvienne ultérieurement.
Lorsque la réponse revient de l'ordinateur distant (un "SYN-ACK"), le routeur examine sa table NAT et constate qu'une connexion à cet hôte sur ce port a déjà été initiée par un ordinateur privé de votre réseau, ce qui modifie la destination. address à l'adresse privée de l'ordinateur, et le transfère à l'intérieur de votre réseau. De cette manière, 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 la supprime simplement de la table NAT.
C’est 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 ont besoin d’envoyer des colis à de nombreux clients aux États-Unis, mais il est plus facile, pour des raisons douanières et administratives, d’envoyer des colis au même endroit. Ainsi, un paquet vous est envoyé par 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 de la boîte à l’adresse américaine (publique) et vous modifiez l’adresse de retour en votre propre adresse publique (car elle ne peut pas être renvoyée directement en Chine sans gêner le client) et vous la remettez au service postal. . Si le client retourne le produit, il vient à vous. Vous regardez dans vos archives et vous voyez de quelle compagnie en Chine il vient,
Cela fonctionne très bien, mais il y a un petit problème. Que se passe-t-il si un client a besoin d'envoyer quelque chose à l'entreprise, disons un mandat en paiement de quelque chose? Ou bien, disons qu'un ordinateur sur Internet établit une connexion avec le routeur (une requête SYN), par exemple sur un serveur Web se trouvant sur le réseau. La lettre / le paquet ne contient que l'adresse publique du routeur, le routeur ne sait donc pas où l'envoyer! il peut être destiné à l'un 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 votre domicile. Ce n'est pas un problème, mais lorsque vous appelez, il est impossible pour cette personne de savoir à qui l'appel est destiné, de sorte que la mauvaise personne peut répondre.
Bien qu'il soit assez facile pour les humains de résoudre ce problème, c'est beaucoup plus compliqué pour les ordinateurs, car tous les ordinateurs de votre réseau ne connaissent pas tous les autres ordinateurs.
La façon dont nous réglons ce problème est la redirection de port: c'est un moyen d'indiquer à votre routeur à quel ordinateur les connexions entrantes du réseau doivent être dirigées. Nous avons trois façons différentes de le faire:
Regardons un exemple d'utilisation. Un grand nombre de jeux vidéo multijoueurs (par exemple, Counter Strike) vous permettent de faire fonctionner un serveur de jeux sur votre ordinateur auquel d'autres personnes peuvent se connecter pour pouvoir jouer avec vous. Votre ordinateur ne connaît pas toutes les personnes qui souhaitent jouer. Il ne peut donc pas s'y connecter. Ils doivent envoyer de nouvelles demandes de connexion à votre ordinateur à partir d'Internet.
Si vous n’avez rien configuré sur le routeur, celui-ci recevra ces demandes de connexion, mais il ne sait pas quel ordinateur du réseau dispose du serveur de jeu. Il ne les ignore donc pas (ou, plus précisément, il envoie un paquet indiquant qu’il ne peut pas se connecter). Heureusement, vous connaissez le numéro de port qui sera utilisé pour les demandes de connexion du serveur de jeu. Ainsi, sur le routeur, vous définissez un port de transfert avec le numéro de port attendu par le serveur de jeu (par exemple, 27015) et l'adresse IP de l'ordinateur avec le serveur de jeu (par exemple, 192.168.1.105).
Le routeur saura transférer les demandes de connexion entrantes vers 192.168.1.105 sur le réseau et les ordinateurs extérieurs pourront se connecter.
Un autre exemple serait un réseau local avec deux machines, où la seconde avec l'adresse IP 192.168.1.10 héberge un site Web utilisant Apache. Par conséquent, le routeur doit transmettre les demandes entrantes du port 80 à cette machine. À l'aide de la redirection de port, les deux machines peuvent fonctionner simultanément sur le même réseau.
Les jeux vidéo sont peut-être l’endroit le plus courant pour les utilisateurs de tous les jours, même si la plupart des jeux modernes utilisent UPnP, ce qui évite de le faire manuellement (c’est plutôt automatique). Vous devrez le faire chaque fois que vous souhaitez pouvoir vous connecter directement à quelque chose 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 un protocole Remote Desktop à l’un de vos ordinateurs.
L'un des avantages de la traduction d'adresses réseau est qu'elle offre une sécurité intégrée sans effort. Beaucoup de gens se promènent sur Internet à la recherche de machines vulnérables ... et le font en essayant d'ouvrir des connexions avec différents ports. Ce sont des connexions entrantes, ainsi, comme indiqué ci-dessus, le routeur les abandonnera. 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 de nombreux logiciels. Vous devez donc garder à l'esprit que, si vous détruisez 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 maintenant complètement ouvert aux connexions entrantes provenant d'Internet, vous devez donc le sécuriser comme s'il était directement connecté. Bien sûr, chaque fois que vous transférez un port, l'ordinateur du destinataire devient vulnérable sur ce port spécifique. Veillez donc à utiliser un logiciel à jour, correctement configuré.