Por que não consigo acessar meu servidor da web de fora da rede?

3

Eu configurei um servidor HTTP Apache no meu Macbook, só assim eu poderia ter acesso a toda a funcionalidade do PHP enquanto eu aprendia a linguagem. Não tenho um nome de domínio registrado ou acesso consistente à rede, portanto, a ideia de hospedar um site real nesse servidor não é viável; Eu só estou fazendo isso para fins de aprendizado.

De qualquer forma, eu estava me perguntando algo. Percebi que quando eu insiro meu endereço IP privado em um navegador da Web (não no endereço de loopback, mas no endereço real atribuído pelo DHCP), posso acessar páginas da Web hospedadas pelo meu servidor, o que significa que posso acessá-lo de fora do meu computador . No entanto, quando eu entro em meu endereço IP público, recebo um tempo limite de rede, o que eu acho que significa que não posso acessar meu servidor da web de fora da rede local (a menos que a conexão seja muito lenta).

Eu estou querendo saber porque isso é. Existe uma camada de segurança configurada que impeça as pessoas de acessar computadores dentro de uma LAN de fora?

    
por user628544 11.08.2016 / 00:11

2 respostas

4

Pode haver três saltos de bloqueio na linha, começando pelo seu computador:

  • seu sistema operacional pode ter um firewall configurado e bloquear solicitações recebidas. Você pode verificar isso usando uma máquina diferente na mesma sub-rede / sub-rede diferente, mas ainda atrás de seu roteador doméstico. Eu não estou familiarizado com o MAC OS, então não posso te dizer como configurar o firewall.

  • Seu roteador doméstico (ou a maioria dos roteadores wifi) com os quais você se conecta usa NAT para "ocultar" a sub-rede por trás dele e permitir que seus vários dispositivos se comuniquem no único endereço IP global que você obtém do ISP. Se você fizer uma solicitação para um servidor remoto da LAN, de qualquer dispositivo, o controle remoto verá que a solicitação foi originada pelo seu roteador. Se você fizer uma solicitação de fora para seu endereço IP público, direcionará seu roteador. Se você quiser que todas as solicitações HTTP endereçadas ao seu roteador sejam atendidas pelo seu laptop, terá que adicionar Regra porta a frente no menu do seu roteador para o endereço IP do laptop e a porta 80 (porta HTTP padrão) ou a porta 443 para HTTPS.

  • Hoje em dia é cada vez mais comum que os ISPs nem mesmo lhe forneçam um endereço IP público (globalmente roteável). O ISP também usa NAT (para salvar endereços IPv4 globais), o endereço IP externo do seu roteador vem da sub-rede privada do seu ISP. Isso exigiria o registro de uma regra de encaminhamento de porta no roteador do ISP, o que eles não farão por você. Você não pode acessar seu laptop pela Internet neste caso.

por 11.08.2016 / 00:59
3

A razão pela qual isso acontece é devido a NAT Translations.

Quando você se conecta à Internet, o seu ISP fornece um endereço IP público para que você possa se comunicar com a Internet.

Quando alguém na Internet deseja acessar seu servidor da Web e digita o endereço IP público, o roteador precisa saber para onde está indo a solicitação na rede. Isso é chamado de traduções NAT. Isso é feito configurando um mapeamento de portas.

Os sites usam o tráfego HTTP, que usa como padrão a porta 80, portanto, você precisaria criar uma regra no roteador para informar que a porta 80 precisa ser encaminhada para o endereço IP interno. Quando isso é feito, e alguém de fora entra no seu endereço IP público no navegador, o roteador agora sabe que ele precisa encaminhar a solicitação ao seu macbook.

Agora, há um acréscimo à pergunta. Se você configurar o encaminhamento de porta, a maioria dos roteadores não entenderá que o seu endereço IP público é o seu, portanto, você provavelmente ainda não poderá acessar seu site a partir do seu próprio endereço IP público.

Seu macbook envia a solicitação ao roteador, que a envia ao ISP, o ISP a envia de volta e o roteador não a espera, portanto, ela ignora a solicitação, resultando em um tempo limite porque ela não pode se conectar a em si.

    
por 11.08.2016 / 00:57