Você pode forçar uma porta para a frente sem acesso ao roteador e o UPNP provavelmente desligado?

StackOverflow https://stackoverflow.com/questions/19836475

  •  25-07-2022
  •  | 
  •  

Pergunta

Quero enviar uma porta para o meu servidor da web em um roteador ao qual não tenho acesso. Eu duvido muito que o UPNP esteja ativado.

Foi útil?

Solução

Na verdade, você pode (mais ou menos)

É um pouco complicado e não funciona o tempo todo, mas aqui está a essência de como funciona:

Dado:

Routera com IP público 1.2.3.4

PC1 com IP privado ABCD (atrás do roteador A)

Routerb com IP público 5.6.7.8

PC2 com IP privado EFGH (atrás do roteador B)

Agora, dada uma solução ideal (ou seja, sem pat) ...

Etapa A:

Envie qualquer mensagem do PC1 em qualquer porta (10000 para este exemplo) para o IP público para o Routerb (4.5.6.7). Isso registrará o ABCD: 10000 -> 4.5.6.7:10000 no Nat e Pat for Routera. O Routerb descartará este pacote (como esperado porque não foi solicitado).

Etapa B: Ao mesmo tempo, envie continuamente um pacote do PC2 para o IP público do roteador A (1.2.3.4) na mesma porta (10000). Isso registrará EGFH: 10000 -> 1.2.3.4:10000 no NAT e Pat do roteador.

Etapa C:

Agora, aqui é onde acontece a mágica:

O PC2 está constantemente enviando pacote para o Routera, mantendo o 'buraco' aberto no roteador para que uma resposta volte. Quando o PC1 envia seu pacote único para o Routerb, ele parecerá o Routerb como uma resposta e, portanto, será encaminhado ao PC2. Depois que o PC2 receber essa 'resposta', verifique se mais um pacote sai e para de enviar pacotes contínuos. Este último pacote atuará como 'resposta' ao PC1 e passará pelo 'Hole' criado na Etapa A. e pronto! Agora você tem NAT transversal. Você só precisa enviar um único pacote a cada minuto ou mais, ambas as direções para manter o 'buraco' aberto.

Nota: Isso funciona apenas com o UDP, pois não tem conexão (os pacotes caídos estão ok).

Agora, quase todos os roteadores usam Pat, então você precisa 'adivinhar' qual porta 'responder' à maioria dos roteadores fará um deslocamento de +-10 (IEABCD: 10000 -> 5.6.7.8:10010).

Basta tentar alguns nesse intervalo (-10 a +10 até obter uma resposta)

O restante dos roteadores é aleatório em seu PAT. Nesse caso, você está ferrado ... tente a outra direção (ou seja, inicie a conexão na outra direção). Se isso falhar, você não pode se conectar ... desculpe)

Outras dicas

Então, pelo que eu entendo, você tem um servidor da web em execução onde as coisas precisam ser encaminhadas e uma porta de roteador a que você não tem acesso; E você quer conectar esses dois.

Eu duvido muito que haja uma maneira de fazer isso, se você tivesse acesso sudo ao seu roteador, você pode usar iptables para redirecionar

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top