3 votos

¿Es posible utilizar mi dirección IP pública para servir un sitio web? (Catalina)

Soy un poco nuevo en el tema de los servidores, las direcciones ip (públicas y privadas), los puertos, las redes y cómo se relacionan todas estas cosas.

Jugando, he conseguido ejecutar apache en mi mac y poner en marcha una página html en localhost. Escribí mi dirección IP privada en otro dispositivo y pude ver esta página.

Si he entendido bien, una dirección IP privada es una dirección IP específica para mi "red local", que supongo que es cualquier cosa conectada a mi wifi.

¿Es posible hacer una página web que se sirva desde mi mac y sea visible desde dispositivos no conectados a mi red local? Espero poder escribir mi dirección ip pública en una barra de URL y ver esta página.

Soy consciente de que hay una aplicación de la App store relacionada con este tema, pero considero que esto debería ser una funcionalidad básica que se puede hacer desde el Terminal (corregidme si me equivoco).

Gracias por la ayuda.

2voto

Steve Evans Puntos 155

Mucho dependerá de la configuración de su red y está más allá del alcance de una sola respuesta.

Prueba con mi Miln Más Allá para confirmar su dirección IP primaria saliente, y si hay un dispositivo NAT o UPnP en su red. Esto es para probar si los dispositivos son configurables y su red es realmente accesible al público.

Utiliza el sistema Beyond's Más allá de la red para ver las direcciones IP asignadas a su ordenador y a la red:

Screenshot of Miln Beyond

¿Tienes otro ordenador o dispositivo en una red independiente, como un teléfono móvil con conexión de datos (no wifi)? Utilice este segundo dispositivo para probar el acceso a su servidor. Probar el acceso utilizando la misma red puede proporcionar resultados engañosos.

Si esto funciona, entonces puede lograr lo mismo a través de la línea de comandos y Apache httpd .

Dirección no verificada

Has comentado:

Dirección potencialmente accesible no verificada. Proporcionada por la Traducción de Direcciones de Red (NAT) local o el dispositivo Universal Plug and Play (UPnP).

Una dirección "no verificada" es potencialmente accesible desde Internet. No está verificada sólo porque Beyond no la ha comprobado activamente (para ello es necesario ser miembro).

El listado también sugiere que su router soporta NAT o UPnP para abrir puertos externos y permitir el tráfico entrante.

¿Tiene su router de Internet una interfaz web? El router es un dispositivo que suele suministrar su proveedor de servicios de Internet (ISP). Si es así, busque NAT o UPnP También pueden llamarse "Port Forwarding".

Por defecto, su router debería bloquear el tráfico entrante de Internet en su red. Para ofrecer un servidor al resto de Internet, es necesario indicar a su router que acepte el tráfico entrante específico y lo pase al servidor dentro de su red.

Para los servidores y servicios de corta duración, como las llamadas de vídeo/voz, se utilizan NAT y UPnP. Esto es lo que Beyond ha conseguido hacer en su red.

2voto

Drath Vedro Puntos 139

¿Es posible? Sí. Pero hay algunas advertencias:

  1. Su proveedor de servicios de Internet puede (probablemente lo hace) bloquear los servidores de cualquier tipo que se alojen detrás de su red - como se indica en sus términos de servicio
  2. Apache (y por lo tanto los sitios web) generalmente requieren un tiempo de actividad constante, alojarlo en un Mac no es imposible, ni mucho menos, pero tendrías que mantener el ordenador encendido en todo el tiempo. Lo que eventualmente puede ralentizar su ordenador hasta el punto de que sea inutilizable por usted.
  3. Si recibe suficiente tráfico (bots, etc) - puede ser considerado un ataque de denegación de servicio (DoS) por su ISP. Pueden suspender tu servicio.

Si, por la razón que sea, resulta que tu ISP no bloquea los servidores en la red, puedes utilizar un servicio como DynDNS para apuntar un nombre de host a tu IP externa, lo que hace que todo sea mucho más fácil de recordar.

También tendría que reenviar el puerto 80 (y/o 443) a través de su módem a su IP privada interna que puede o no cambiar detrás de su red.

2voto

Jcubed Puntos 2972

Hay varias formas de conseguirlo:

  • La forma clásica es configurar el router para que haga " reenvío de puertos ". Le dices que cualquier conexión destinada al puerto 80 debe ser reenviada a tu ordenador, de modo que cualquiera que intente hacer una petición HTTP a tu dirección IP pública será enviada al servidor HTTP de tu Mac.

    Probablemente también haga lo mismo con el puerto 443 (HTTPS).

    Se aplican limitaciones: su ISP no debe bloquear el tráfico de entrada (explícita o implícitamente porque estarían utilizando CGNAT), sólo puede reenviar a un único servidor...

    En lugar de utilizar su dirección IP pública, puede utilizar un servicio de DNS dinámico que le dará un nombre de dominio que se asigna a su dirección IP y se actualiza si su dirección IP cambia. Si tiene una dirección IP fija, puede apuntar directamente un nombre DNS a su IP.

  • Otra forma es hacer túnel . Algo en su Mac se conecta a un servidor en el exterior, y se crea un túnel dentro de esta conexión, que reenvía el tráfico recibido en la IP/puerto del servidor exterior a su servidor.

    Si tienes tu propio servidor Linux alojado en algún lugar, podrías utilizar ssh con un reenvío de puerto remoto solicitud ( -R ) para conseguirlo.

    O puede utilizar un servicio como Ngrok que lo hará por ti. Le dices el protocolo local y el puerto de tu Mac, y te dará una URL de acceso público que se reenvía al servidor de tu Mac. Probablemente hay toneladas de alternativas.

    También existen redes privadas virtuales (VPN) de uso más general que podrían utilizarse, pero tenga cuidado con las implicaciones de seguridad.

    El inconveniente de todos estos métodos es que dependes de "algo" ahí fuera en Internet, y que todo el tráfico pasará por este dispositivo/servicio antes de llegar a tu servidor doméstico. Esto puede añadir latencia o cuellos de botella en el ancho de banda y, por supuesto, suele haber un coste directo o indirecto al tener que pagar por ese "algo".

Tenga en cuenta que, en ambos casos, debe tener en cuenta seguridad La red local está normalmente protegida del exterior por NAT, pero usted está abrir un "agujero" . Si hay algún problema de seguridad en el servidor que ejecuta en su Mac, los usuarios externos pueden acceder a cosas de su Mac o del resto de su red a las que normalmente no podrían acceder.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X