Pouvez-vous transférer le même numéro de port vers 2 adresses IP internes différentes?

14

Si je transfère le port 80 UDP sur mon PC, puis-je accéder au port 80 depuis mon autre ordinateur portable?

Octocat
la source
1
Non; Lorsque vous transférez un port, vous envoyez tout le trafic à une seule adresse. Si vous avez besoin de 2 appareils pour recevoir les données sur le même port, vous devez les transmettre à un seul appareil qui connecte ces 2 appareils supplémentaires au réseau (par exemple, un autre routeur).
Ramhound
1
Le port 8080 peut être utilisé en toute sécurité comme alternative au 80 sur le système secondaire. Envoyez donc 80 au PC et 8080 au portable si cela est nécessaire pour vos besoins.
Overmind
Vous écrivez "Si je transfère le port 80 UDP sur mon PC, puis-je accéder au port 80 depuis mon autre ordinateur portable?" <--- Eh bien évidemment, sinon, quel est l'intérêt du portage.
barlop
AT Ramhound Vraiment hein, ok, alors pourquoi ne pas expliquer comment tu ferais ça?
barlop
1
Je vous recommande d'accepter la réponse du VL-80. Sa réponse est très bonne. Il répond à ce que vous en fait personne asked-- pouvez parler à la façon dont il répond ce que vous vouliez demander.
David Betz

Réponses:

14

Vous posez ici deux questions différentes.

Pouvez-vous transférer le même numéro de port vers 2 adresses IP internes différentes?

Pensez-y. Si un paquet arrive à votre adresse externe et au port UDP 80 (en supposant que vous n'avez qu'une seule adresse IP externe), comment votre routeur saura-t-il à laquelle des deux adresses IP internes il doit être transféré?

Si vous souhaitez héberger deux services différents, vous aurez besoin d'un port distinct pour chacun.

Si je transfère le port 80 UDP sur mon PC, puis-je accéder au port 80 depuis mon autre ordinateur portable?

Oui. La redirection de port n'affecte généralement que les paquets qui ont le port 80 de votre côté. Lorsque quelqu'un essaie de se connecter à vous, votre routeur verra:

  • paquet entrant du port aléatoire d'un autre ordinateur X vers votre port 80
  • réponse sortante de votre port 80 vers le port X d'un autre

Mais les connexions sortantes (lorsque vous visitez une page Web ailleurs) la feront inverser du point de vue de votre routeur.

  • paquet sortant de votre port aléatoire X vers le port 80 de l'autre ordinateur (serveur Web)
  • réponse entrante du port 80 de l'autre vers votre port X

La redirection de port ne les affectera donc pas du tout.

(Soit dit en passant, HTTP s'exécute généralement sur TCP . Seules les expériences QUIC de Chrome utilisent UDP.)

user1686
la source
Concernant "à laquelle des deux adresses IP internes il doit être transféré ", pourquoi ne pas envoyer à la fois le serveur 192.168.1.100 et le serveur 192.168.1.101?
Pacerier
1
@Pacerier: Que fera le client lorsqu'il recevra deux réponses entièrement différentes? Il ne fera pas automatiquement deux connexions où un programme n'en a demandé qu'une seule. Au mieux, il acceptera un paquet de réponse et rejettera l'autre, ce qui est inutile car vous ne pouvez pas lui dire quel serveur vous voulez ... à moins que .100 et .101 fournissent exactement les mêmes services (équilibrage de charge). Au pire, la deuxième réponse empêchera même la fin de la première tentative de connexion (par exemple, si le deuxième serveur continue de recevoir des paquets destinés au premier, il continuera de répondre avec des RST TCP)
user1686
1
@Pacerier: Donc, dans le cas spécifique de l'équilibrage de charge (avec des serveurs presque identiques), cela peut être fait - voir la réponse du VL-80 ci-dessous pour plus de détails. Il existe en fait des programmes d'équilibrage de charge qui dupliquent le paquet initial et utilisent le serveur qui a répondu le plus rapidement. Mais si vous vouliez héberger deux sites Web différents de cette façon, cela ne fonctionnerait pas car le navigateur n'envoie le nom d'hôte du site Web que longtemps après la connexion TCP.
user1686
4

Pouvez-vous transférer le même numéro de port vers 2 adresses IP internes différentes?

Oui, vous pouvez absolument le faire avec UDP et dans une certaine mesure avec TCP .

Puisque UDP est un protocole sans état de connexion , vous pouvez écouter un port particulier et une fois paquet vous arrive , vous pouvez copier et envoyer à deux destinations internes différentes. Comme il n'y a pas de poignée de main ou de suivi d'état, toutes les destinations pourront recevoir ces paquets avec succès. Samplicator est l'un des programmes qui peuvent le faire pour vous. Notez que ce n'est pas un transfert de port pur selon sa définition.

Ceci est possible pour TCP , mais avec certaines limitations - vous pouvez écouter un port particulier et une fois que le paquet arrive, vous pouvez le transmettre à un hôte interne particulier dans un pool. TCP utilise des connexions donc une fois que vous avez transféré un paquet initial vers un hôte interne particulier, il est maintenant nécessaire de transférer le reste des paquets de cette session vers le même hôte interne.

En utilisant cette technologie, vous pouvez avoir plusieurs serveurs principaux traitant les demandes vers une destination externe.

Si je transfère le port 80 UDP sur mon PC, puis-je accéder au port 80 depuis mon autre ordinateur portable?

Cette question n'est pas très claire. Si vous transférez le trafic de votre adresse externe vers l'un des hôtes internes, ce fait à lui seul ne vous empêche pas d'accéder au même port depuis le réseau interne.

Disons que vous transférez le port 80 de Aà B. Dans le même temps C, vous pourrez accéder directement au port 80 Bsans aucun problème.

     A (external IP)
     |
 ---------
 |       |
 B       C
VL-80
la source
2
La question concerne les routeurs. Aucun routeur de qualité grand public ne dispose des fonctions d'équilibrage de charge UDP copy / TCP que vous décrivez, et rien de tout cela n'est jamais appelé "redirection de port".
Jason C
4
1) La question ne précise pas qu'il doit s'agir d'un équipement grand public. 2) Indépendamment de ce que vous avez écrit, la technique que j'ai décrite fonctionne.
VL-80
2
Aucun routeur de niveau professionnel n'aurait ces fonctionnalités non plus, à moins que le package ne comprenne plus qu'un simple routeur. Ce n'est pas la redirection de port et les routeurs ne remplissent pas ces fonctions. La question portait sur la "redirection de port" et était étiquetée routeur . Réfléchissez aux personnes qui auraient cette même question, trouvez-la, lisez votre réponse et demandez-vous si vous aidez ou si vous êtes confus. De toute façon, votre terminologie est fausse.
Jason C
Vous écrivez "Ceci est possible pour TCP, ....... une fois que vous avez transféré un paquet initial à un hôte interne particulier, il est maintenant nécessaire de transmettre le reste des paquets de cette session au même hôte interne." <--- Alors, comment est-ce possible avec TCP? Vous mentionnez le samplicator pour UDP, ok .. donc ça le copie pour UDP .. Mais que proposez-vous pour TCP?
barlop
4
Cette réponse est bonne. J'allais dire quelque chose de similaire. Avec UDP, c'est tout le multicast et IGMP. TCP, oui, roundrobin, basculement, etc ... Oui, les routeurs peuvent le faire - les routeurs d'aujourd'hui ne sont pas les appareils aveugles des années 90. La question est assez vague pour permettre plusieurs lectures, mais c'est aussi ainsi que je lis la question.
David Betz
1

Vous ne pouvez pas transmettre le même port à plusieurs IP simultanément, je n'ai même pas vu de routeur / commutateur géré qui vous permettra même de le faire sans renvoyer un message d'erreur de configuration. Vous pouvez le configurer pour plusieurs adresses IP, mais une seule des règles de transfert peut être activée à la fois. Vous pouvez donc désactiver l'un, en activer un autre et vice versa, mais c'est un gaspillage.Vous ne devez vous soucier du transfert des ports que si vous souhaitez accéder à des ports / services spécifiques sur un ordinateur LAN via son adresse IP externe. Supposons que si vous vouliez exécuter 2 serveurs Web sur 2 de vos PC LAN et pouvoir y accéder tout le temps, la manière la plus simple de le faire est de changer les ports des services, d'écouter un sur le port 80 et l'autre sur 8080 ou le port que vous voulez. 99% des services vous permettront d'héberger / écouter sur n'importe quel port que vous souhaitez. Si vous ne spécifiez pas de port, il reviendra à la valeur par défaut du service. Il existe d'autres façons plus avancées de faire les choses, mais c'est la façon la plus simple, et les méthodes avancées ne sont pas considérées ou appelées «redirection de port» pour toute personne qui dit que des besoins différents doivent retourner à l'école de réseautage.

JohnRB
la source
1
"Je n'ai même pas vu de routeur / commutateur géré qui vous permettrait même de le faire ..." - Le routeur Technicolor TC7200.U de qualité grand public vous permettra d'ajouter une configuration de transfert pour les mêmes ports vers différentes adresses IP. Je ne sais pas si cela se transmet réellement.
Jonathan Cross
-2

Pensez-y. Si un paquet arrive à votre adresse externe et au port UDP 80 (en supposant que vous n'avez qu'une seule adresse IP externe), comment votre routeur saura-t-il à laquelle des deux adresses IP internes il doit être transféré?

Si vous souhaitez héberger deux services différents, vous aurez besoin d'un port distinct pour chacun.

Comment votre routeur sait-il transmettre les adresses? À cause du NAT.

Si vous achetez un domaine, vous pouvez définir ce nom de domaine comme nom de votre ordinateur et nom NETBIOS.

Par exemple, 2 ordinateurs différents hébergeant des sites Web sur différents ports internes mais sur les mêmes ports externes doivent être nommés d'après les domaines ou vous devez configurer votre serveur DNS interne avec les deux domaines des adresses IP internes ajoutées à ses enregistrements auxquels le routeur se connecte et chaque fois que quelqu'un essaie de se connecter à les routeurs de nom de domaine (pas l'adresse IP publique) NAT transmettront la connexion en conséquence.

Vous ne pouvez pas transmettre des ports exactement identiques à plusieurs adresses IP sur le même réseau, mais vous pouvez utiliser les mêmes ports externes tant que les ports internes sont différents, vice versa lorsque vous parlez de trafic réseau sortant

user241367
la source
Veuillez ne pas copier d'autres réponses.
Scott