Configuré un servidor HTTP Apache en mi Macbook, solo para poder tener acceso a la funcionalidad completa de PHP mientras aprendo el idioma. No tengo un nombre de dominio registrado ni acceso constante a la red, por lo que la idea de alojar un sitio web real en este servidor no es factible; Sólo estoy haciendo esto con fines de aprendizaje.
De todos modos, me preguntaba algo. Me di cuenta de que cuando ingreso mi dirección IP privada en un navegador web (no la dirección de bucle invertido sino la dirección real asignada por DHCP), puedo acceder a páginas web alojadas en mi servidor, lo que creo que significa que puedo acceder a ellas desde fuera de mi computadora. . Sin embargo, cuando ingreso mi dirección IP pública, obtengo un tiempo de espera de red, lo que supongo significa que no puedo acceder a mi servidor web desde fuera de la red local (a menos que la conexión sea realmente lenta).
Me pregunto por qué es esto. ¿Existe una capa de seguridad configurada que impida que las personas accedan a las computadoras dentro de una LAN desde el exterior?
Respuesta1
Puede haber tres saltos de bloqueo en la línea, comenzando desde su computadora:
Es posible que su sistema operativo tenga un firewall configurado y que bloquee las solicitudes entrantes. Puede verificar esto usando una máquina diferente en la misma subred/subred diferente, pero aún detrás de su enrutador doméstico. No estoy familiarizado con MAC OS, por lo que no puedo decirle cómo configurar el firewall.
El enrutador de su hogar (o la mayoría de los enrutadores wifi) al que se conecta utilizaNATpara "ocultar" la subred detrás de ella y permitir que sus múltiples dispositivos se comuniquen en la única dirección IP global que obtiene del ISP. Si realiza una solicitud a un servidor remoto desde LAN, desde cualquier dispositivo, el control remoto verá que la solicitud se originó en su enrutador.Si realiza una solicitud desde el exterior a su dirección IP pública, en realidad se dirige a su enrutador.Si desea que todas las solicitudes HTTP dirigidas a su enrutador sean atendidas por su computadora portátil detrás de él, debe agregar unredireccionamiento de puertosregla en el menú de su enrutador a la dirección IP de la computadora portátil y al puerto 80 (puerto HTTP estándar), o al puerto 443 para HTTPS.
Hoy en día, es cada vez más común que los ISP ni siquiera le proporcionen una dirección IP pública (enrutable globalmente). El ISP también utiliza NAT (para guardar direcciones IPv4 globales), la dirección IP externa de su enrutador proviene de la subred privada de su ISP. Esto requeriría registrar una regla de reenvío de puertos en el enrutador del ISP, lo cual no harán por usted. En este caso, no puede acceder a su computadora portátil desde Internet.
Respuesta2
La razón por la que esto sucede se debe a NAT Translations.
Cuando te conectas a Internet, tu ISP te proporciona una dirección IP pública para que puedas comunicarte con Internet.
Cuando alguien en Internet quiere acceder a su servidor web e ingresa la dirección IP pública, el enrutador necesita saber a qué parte de la red se dirige la solicitud. Esto se llama traducciones NAT. Se hace configurando un mapeo de puertos.
Los sitios web utilizan tráfico HTTP, que de forma predeterminada es el puerto 80, por lo que deberá crear una regla en el enrutador para indicar que el puerto 80 debe reenviarse a la dirección IP interna. Una vez hecho esto, y que alguien externo ingrese su dirección IP pública en su navegador, su enrutador ahora sabe que tiene que reenviar la solicitud a su macbook.
Ahora, hay una adición a la pregunta. Si configura el reenvío de puertos, la mayoría de los enrutadores no entenderán que su dirección IP pública es la suya, por lo que lo más probable es que aún no pueda acceder a su sitio web desde su propia dirección IP pública.
Su macbook envía la solicitud al enrutador, que la envía al ISP, el ISP la devuelve y el enrutador no la espera, por lo que ignora la solicitud, lo que genera un tiempo de espera porque no puede conectarse consigo mismo.