Você pode encaminhar a mesma porta # para 2 endereços IP internos diferentes?

14

Se eu portar a porta 80 UDP de encaminhamento no meu PC, posso acessar a porta 80 do meu outro laptop?

Octocat
fonte
1
Não; Quando você encaminha uma porta, envia todo o tráfego para um único endereço. Se você precisar de 2 dispositivos para receber os dados na mesma porta, precisará enviá-los para um único dispositivo que conecte esses 2 dispositivos adicionais à rede (por exemplo, outro roteador).
Ramhound 5/02
1
A porta 8080 pode ser usada com segurança como alternativa à 80 no sistema secundário. Então, envie 80 para PC e 8080 para notebook, se for necessário para suas necessidades.
Overmind
Você escreve "Se eu portar a porta 80 UDP no meu PC, posso acessar a porta 80 no meu outro laptop?" <--- Bem, obviamente, caso contrário, qual é o objetivo do porto?
barlop
AT Ramhound Realmente, ok, então por que você não explica como faria isso?
barlop
1
Eu recomendo que você aceite a resposta do VL-80. A resposta dele é muito boa. Ele responde ao que você realmente perguntou - ninguém pode falar sobre como ele responde ao que você queria perguntar.
David Betz 12/02

Respostas:

14

Você está fazendo duas perguntas diferentes aqui.

Você pode encaminhar a mesma porta # para 2 endereços IP internos diferentes?

Não. Pense nisso. Se um pacote chegar ao seu endereço externo e à porta UDP 80 (supondo que você tenha apenas um endereço IP externo), como seu roteador saberia para qual dos dois endereços IP internos ele deveria ser encaminhado?

Se você deseja hospedar dois serviços diferentes, precisará de uma porta separada para cada um.

Se eu portar a porta 80 UDP de encaminhamento no meu PC, posso acessar a porta 80 do meu outro laptop?

Sim. O encaminhamento de porta geralmente afeta apenas pacotes com a porta 80 do seu lado. Quando alguém tenta se conectar a você, seu roteador verá:

  • pacote de entrada da porta aleatória X de outro computador para a sua porta 80
  • resposta de saída da sua porta 80 para a porta X de outras pessoas

Porém, as conexões de saída (quando você visita uma página da Web em outro lugar) a reverterão da perspectiva do seu roteador.

  • pacote de saída da porta aleatória X para a porta 80 do outro computador (servidor Web)
  • resposta recebida da porta 80 da outra para sua porta X

Portanto, o encaminhamento de porta não afetará nada.

(A propósito, o HTTP geralmente é executado no TCP . Somente os experimentos QUIC do Chrome usam UDP.)

user1686
fonte
Re "para qual dos dois endereços IP internos deve ser encaminhado ", por que não enviar ao servidor 192.168.1.100 e ao servidor 192.168.1.101?
Pacerier
1
@ Pacerier: O que o cliente fará quando receber duas respostas totalmente diferentes? Ele não fará automaticamente duas conexões em que um programa solicitou apenas uma. Na melhor das hipóteses, ele aceitará um pacote de resposta e descartará o outro, o que é inútil, pois você não pode dizer qual servidor você queria ... a menos que .100 e .101 forneçam exatamente os mesmos serviços (balanceamento de carga). Na pior das hipóteses, a segunda resposta vai mesmo impedir que a primeira tentativa de conexão de acabamento (por exemplo, se o segundo servidor mantém pacotes que recebem significou para o primeiro, ele vai manter respondendo com TCP RSTs)
user1686
1
@Pacerier: Portanto, no caso específico de balanceamento de carga (com servidores quase idênticos), isso pode ser feito - consulte a resposta do VL-80 abaixo para obter mais detalhes. De fato, existem programas de balanceamento de carga que duplicam o pacote inicial e usam o servidor que foi mais rápido para responder. Mas se você quiser hospedar dois sites diferentes dessa maneira, não funcionará porque o navegador não envia o nome do host do site até muito tempo após a conexão TCP.
user1686
4

Você pode encaminhar a mesma porta # para 2 endereços IP internos diferentes?

Sim, você pode fazê-lo com o UDP e, até certo ponto, com o TCP .

Como o UDP é um protocolo sem estado sem conexão, você pode ouvir uma porta específica e, quando o pacote chegar, poderá copiá-la e enviar para dois destinos internos diferentes. Como não há apertos de mão ou rastreamento de estado, todos os destinos poderão receber esses pacotes com êxito. O Samplicator é um dos programas que pode fazer isso por você. Observe que este não é um encaminhamento de porta puro, de acordo com sua definição.

Isso é possível para o TCP , mas com algumas limitações - você pode ouvir uma porta específica e, quando o pacote chegar, poderá enviá-la para um host interno específico em um pool. O TCP usa conexões, assim que você encaminhar um pacote inicial para um host interno específico, agora é necessário encaminhar o restante dos pacotes desta sessão para o mesmo host interno.

Ao usar essa tecnologia, você pode ter vários servidores de back-end que processam solicitações para um destino externo.

Se eu portar a porta 80 UDP de encaminhamento no meu PC, posso acessar a porta 80 do meu outro laptop?

Esta questão é um pouco incerta. Se você encaminhar o tráfego do seu endereço externo para um dos hosts internos, esse fato por si só não impede o acesso à mesma porta da rede interna.

Digamos que você encaminhe a porta 80 de Apara B. Ao mesmo tempo C, será capaz de acessar diretamente a porta 80 Bsem problemas.

     A (external IP)
     |
 ---------
 |       |
 B       C
VL-80
fonte
2
A questão é sobre roteadores. Nenhum roteador de nível de consumidor possui os recursos de balanceamento de carga de cópia / TCP UDP que você descreve e nada disso é chamado de "encaminhamento de porta".
Jason C
4
1) A pergunta não especifica que deve ser um equipamento no nível do consumidor. 2) Independentemente do que você escreveu, a técnica que descrevi funciona.
VL-80
2
Nenhum roteador de nível profissional também teria esses recursos, a menos que o pacote inclua mais do que apenas um roteador. Não é encaminhamento de porta e os roteadores não executam essas funções. A pergunta feita sobre "encaminhamento de porta" e foi marcada como roteador . Pense nas pessoas que teriam essa mesma pergunta, encontre-a e leia sua resposta, e considere se você está ajudando ou confundindo. Sua terminologia está errada de qualquer maneira.
Jason C
Você escreve "Isso é possível para o TCP, ....... uma vez que você encaminhou um pacote inicial para um host interno específico, agora é necessário encaminhar o restante dos pacotes desta sessão para o mesmo host interno". <--- Então, como isso é possível com o TCP? Você mencionou o samplicator para UDP, ok .. para que ele seja copiado para UDP .. Mas o que você está sugerindo para o TCP?
barlop
4
Essa resposta é boa. Eu estava prestes a dizer algo semelhante. Com o UDP, trata-se de multicast e IGMP. TCP, sim, roundrobin, failover, etc ... Sim, os roteadores podem fazer isso - os roteadores de hoje não são os dispositivos cegos dos anos 90. A pergunta é vaga o suficiente para permitir várias leituras, mas é assim que eu também leio a pergunta.
David Betz 12/02
1

Você não pode encaminhar a mesma porta para vários IP simultaneamente; eu nem vi um roteador / switch gerenciado que permite fazer isso sem enviar uma mensagem de erro de configuração. Você pode configurá-lo para vários IPs, mas apenas uma das regras de encaminhamento pode ser ativada por vez. Portanto, você pode desativar um ativar o outro e vice-versa, mas isso é um desperdício. Você só precisa se preocupar com o encaminhamento de portas se quiser acessar portas / serviços específicos no computador da LAN através do endereço IP externo. Digamos que se você deseja executar 2 servidores da web em 2 de seus PCs da LAN e conseguir acessar os dois o tempo todo, a maneira mais fácil de fazer isso é alterar as portas dos serviços, ouvir uma na porta 80 e a outra na 8080 ou porta que você deseja. 99% dos serviços permitem que você hospede / escute em qualquer porta que desejar. Se você não especificar uma porta, ela retornará ao padrão de serviço. Existem outras maneiras mais avançadas de fazer as coisas, mas essa é a maneira mais simples, e os métodos avançados não são considerados ou chamados de "Port Forwarding" para quem diz que diferente precisa voltar à escola de rede.

JohnRB
fonte
1
"Eu nem vi um roteador / switch gerenciado que ainda permite fazer isso ..." - O roteador Technicolor TC7200.U de nível consumidor permite adicionar configurações de encaminhamento para a mesma porta (s) a diferentes endereços IP. Não tenho certeza se ele realmente encaminha.
Jonathan Cross
-2

Não. Pense nisso. Se um pacote chegar ao seu endereço externo e à porta UDP 80 (supondo que você tenha apenas um endereço IP externo), como seu roteador saberia para qual dos dois endereços IP internos ele deveria ser encaminhado?

Se você deseja hospedar dois serviços diferentes, precisará de uma porta separada para cada um.

Como o seu roteador sabe encaminhar endereços? Por causa do NAT.

Se você adquirir um domínio, poderá defini-lo como o nome do seu computador e o nome NETBIOS.

Por exemplo, 2 computadores diferentes que hospedam sites em portas internas diferentes, mas nas mesmas portas externas, devem ter o nome de domínios ou você deve configurar o servidor DNS interno com os dois IPs internos dos domínios adicionados aos registros aos quais o roteador se conecta e sempre que alguém tenta se conectar roteadores de nome de domínio (não o endereço IP público) O NAT encaminhará a conexão de acordo.

Você não pode encaminhar portas exatamente idênticas para vários IPs na mesma rede, mas pode usar as mesmas portas externas, desde que as portas internas sejam diferentes, vice-versa ao falar sobre o tráfego de rede de saída

user241367
fonte
Por favor, não copie outras respostas.
Scott Scott