A porta está aberta, mas não pode acessá-la através do endereço IP externo


6

Eu tenho o RavenDB rodando localhost:8080. Gostaria de torná-lo acessível externamente, apenas como um teste (ignore as preocupações de segurança por enquanto).

Para fazer isso, configurei meu roteador para encaminhar porta externa 8080para porta interna 8080de 192.168.0.101(que é o endereço IP interno da minha máquina, conforme determinado pela entrada IPv4 de ipconfig /all).

De acordo com um verificador de porta externa , a porta 8080 está aberta (o IP externo está mascarado):

insira a descrição da imagem aqui

No entanto, quando vou ExternalIp:8080, não consigo conectar. Por outro lado, InternalIp:8080funciona bem.

Dado que a porta parece estar aberta, mas não consigo me conectar externamente, existem ferramentas ou maneiras de diagnosticar onde o bloqueio está acontecendo?

Informações adicionais possivelmente relevantes

  • Eu tenho o Firewall do Windows, mas desativá-lo não faz diferença.
  • O roteador é o Archer C5, o modem é o Motorola SB6121.
  • Meu ISP bloqueia apenas algumas portas e o 8080 não é um deles.
  • Meu IP externo é dinâmico, mas muda com pouca frequência, e certifiquei-me de usar o correto :)

11
se a porta aparecer como "aberta" para uma varredura de porta externa, você terá seus três 'P's: um processo em execução, ouvindo uma porta conhecida, com um caminho para acessá-la. Isso significa que as configurações do encaminhamento de porta e do ouvinte de serviço estão corretas e que um firewall não está bloqueando o caminho. Portanto, isso deixa a configuração de serviço interno como o vetor provável. Revise sua configuração de serviço para ver se ele controla IPs válidos, etc. Além disso, é um tiro no escuro, mas confirme se as regras de encaminhamento de porta estão apontando para o servidor correto, não para outro servidor no 8080. Por último, qual cliente você está testando?
— Frank Thomas

Respostas:


10

Existem dois problemas possíveis:

1) Você precisa do RavenDB executando 192.168.0.101:8080 (ou 0.0.0.0:8080). Se estiver sendo executado no host local, não poderá ser acessado de fora da máquina.

2) Você precisa acessá-lo de fora da sua LAN ou usar um roteador que suporte hairpin. O encaminhamento de porta funciona apenas fora da LAN. Muitos roteadores fazem hairpinning automaticamente. Essa é uma prática recomendada pela RFC 5382 , mas muitos roteadores ainda não o fazem.


11
Hairpinning é um ótimo ponto. Eu tinha assumido que o Op estava testando a conexão externa de fora da LAN deles, mas você está certo, não há indicação de que seja esse o caso. Boa pegada. No entanto, devo ressaltar que, se a configuração do ouvinte estiver configurada para escutar no host local, a ferramenta de verificação da porta retornará fechada, porque a porta não estará acessível a ela. @op, certifique-se de testar conexões IP externas de fora da sua LAN, a menos que você tenha um roteador de nível corporativo. a maioria dos roteadores comerciais da classe SOHO não suporta NAT hairpin.
— Frank Thomas

@FrankThomas: Sim, tentei bater ExternalIp:8080na própria máquina, não em outro dispositivo, que eu acho que poderia ser chamado de "prender a si mesmo". Não sei se o roteador suporta hairpinning. Você e David estão dizendo que, com certeza, devo tentar ligar a máquina a partir de um dispositivo diferente em uma rede completamente diferente (por exemplo, do meu telefone em uma conexão sem fio em um restaurante próximo)?
— precisa

exatamente. sem NAT hairpin, você não pode conectar-se à interface externa do seu roteador a partir de um dispositivo na interface interna do roteador. uma cafeteria ou outro wifi grátis seria suficiente para testá-lo (ou apenas chame um amigo para fazê-lo). Meu palpite é que, como sua porta é testada corretamente e o serviço funciona internamente para você, tudo funcionará bem.
— Frank Thomas

11
Parece que o problema era contundente, pois consegui acessar a porta usando meu telefone em uma rede 3G. Obrigado!
— precisa

Eu tive o mesmo problema com a configuração de um servidor ESP8266. Eu tentei o IP externo do meu PC repetidamente, sem sucesso. Depois de ler isso, tentei me conectar ao ESP8266 pelo meu telefone e funcionou.
— Jossi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.