Não é possível acessar o serviço externo de dentro da LAN

9

Eu tenho um problema de encaminhamento de porta estranho. Eu tentei abrir minha porta 22 para a rede externa. Consegui acessá-lo desde que não esteja dentro da LAN. Eu posso acessá-lo do meu escritório, por exemplo. Mas de dentro da LAN, eu posso acessar a porta usando o ip local, mas não consigo acessar a porta usando o IP externo. É como se o roteador estivesse bloqueando o loopback. Eu verifiquei todas as configurações do meu roteador, desliguei qualquer firewall / filtragem relacionado. Alguma idéia?

    
por erotsppa 28.04.2010 / 01:43

4 respostas

4

Assumindo que Spiff esteja correto, e seu roteador não consiga lidar com o encaminhamento de porta para o ip externo de dentro da rede, há um pequeno trabalho por aí (e parece que esse é o caso);

Você pode editar o arquivo hosts, que pode ser encontrado em / etc / hosts na maioria dos sistemas unix e em C: \ Windows \ system32 \ drivers \ etc \ no Windows.

se você adicionar

192.168.0.15  example.com

nesse arquivo, seu computador irá para o ip spesified sempre que você tentar acessar example.com. É claro que você terá que fazer isso em todos os computadores que você deseja usar na rede.

Você pode conferir o artigo da Wikipédia para mais detalhes sobre onde encontrá-lo: link

    
por 04.05.2010 / 15:05
10

Considerando que você mencionou o encaminhamento de porta, presumo que seu gateway doméstico esteja atuando como um gateway NAT - ou, mais especificamente, NAPT -. O que você está tentando fazer é chamado de "hairpin NAT" ou "NAT hairpinning", em referência à forma como um alfinete de cabelo literal se dobra sobre si mesmo (a mesma alusão é usada pelo termo "hairpin turn" para uma curva acentuada onde uma estrada duplica em si mesma).

Alguns gateways NAT são uma porcaria e não suportam hairpinning. Pode ser hora de explorar suas opções de atualização.

    
por 28.04.2010 / 03:23
3

Existe uma resposta simples e simples para esta. O NAT está atrapalhando.

  1. Seu computador abre uma conexão com [ExternalIP]
  2. Seu roteador encaminha essa conexão para [SSHInternalIP]. Seu servidor SSH vê uma conexão do [YourInternalIP].
  3. Seu servidor SSH envia seus pacotes para [YourInternalIP].
  4. Seu computador vê um pacote estranho vindo de um IP com o qual nunca conversou e o descarta.
  5. Sua conexão com TCP / 22 falha porque o handshake TCP de 3 vias nunca é concluído.

Você está tentando falar com um IP público, mas as respostas estão vindo de um IP interno. Seu computador não pode fazer os dois funcionarem juntos. A solução é usar o IP interno sempre que você estiver atrás do roteador. Eu trabalho em torno deste problema em meus laptops, usando diferentes seqüências de conexão ssh, dependendo de onde eu estou.

    
por 16.06.2010 / 20:16
2

Pelo que entendi ao executar um roteador do OpenBSD com NAT, Spiff está correto em sua resposta: o problema que você está enfrentando é causado pelo gateway NAT não suportando o que você está tentando fazer.

Sua estação de trabalho está enviando pacotes com um IP de origem de um endereço interno (digamos, 10.0.0.2), mas o endereço de destino é seu IP externo. Quando os pacotes chegam ao seu servidor (SSH?) Na porta 22, o servidor responde diretamente à sua estação de trabalho e não há NAT acontecendo; agora, quando sua estação de trabalho recebe uma resposta de 10.0.0.3 quando estava esperando uma resposta de seu endereço externo, ela descarta os pacotes.

Parece um problema trivial, mas pode ser resolvido atualizando o arquivo HOSTS da sua estação de trabalho, adicionando um servidor DNS interno (ou editando as entradas do servidor DNS) ou criando uma regra NAT para lidar com o > tráfego interno externo >

    
por 16.06.2010 / 19:56