¿Cómo hago público mi servidor web Raspberry Pi?

8

Así que finalmente puse en funcionamiento un servidor web, excepto que solo está disponible para mi red local, y me gustaría hacerlo público. Tengo un D-Link DIR-615 como enrutador, la dirección IP de mi Pi es 192.168.0.14 y mi información de IP pública se ve así:

IP Information: xx.xx.xx.xx
ISP:    Xplornet Communications
Organization:   Xplornet Communications
Connection: Broadband
Services:   None Detected
City:   Sherwood Park
Region: Alberta
Country:    Canada

Todo suena bien, excepto que no vivo en Sherwood Park, estoy a unas 2 horas de distancia.

¿Qué debo hacer para que mi servidor sea público?

Mi enrutador admite reenvío de puertos, servidor virtual y DMZ. Estoy usando un servidor HTTP Apache.

Gracias, pero esto todavía no resuelve mi problema; Solo quiero conectarme desde afuera, tal vez una vez, luego descubriré DDNS y tal, pero por ahora no se conectará a nada cuando escriba mi dirección IP de Xplornet.

Jim Jones
fuente

Respuestas:

13

Reenvíe el puerto 80 desde su enrutador a su Pi, y si desea SSH desde el exterior, también el puerto 22. Tenga en cuenta que con SSH desde el exterior, cualquier persona que pueda ingresar puede ssh o acceder a los otros dispositivos en su red.

Una vez que esté configurado, si su IP se mantiene igual, puede usar algo como Cloudflare para apuntarle un dominio. Si cambia a diario, necesitará un servicio como DynDNS.

George Pearce
fuente
K, así que configuré mi enrutador para reenviar el puerto 80 al puerto 80 con la dirección IP de mi frambuesa pi o lo que sea, pero todavía se "agota" cada vez que escribo mi dirección IP externa
Jim Jones
Intente acceder y especificar el puerto 80, como xx.xx.xx.xx: 80
George Pearce
@Spencer: no puede probar de manera confiable el reenvío de puertos desde el interior de su red, ya que no todos los enrutadores son compatibles. Intente probarlo desde fuera de su LAN. Por ejemplo, use un teléfono móvil con WiFi apagado y datos móviles (3G, HCSD, etc.) para una conexión que no sea LAN.
RedGrittyBrick
@SpencerKillen ¿Estás probando desde el exterior? Muchos dispositivos no le darán NAT si está sentado en la misma LAN que su Raspberry Pi y está accediendo a la IP pública de su enrutador. Si puede acceder al servidor web en 192.168.0.14 desde su LAN, el RPI o Apache no tiene la culpa, pero el reenvío de puertos no se realiza correctamente o su enrutador también tiene un firewall en algún lugar.
nos
Si el reenvío de puertos es demasiado engorroso o no es una opción (por ejemplo, si está detrás de un enrutador móvil), puede probar un servicio de retransmisión como PageKite o Yaler.net (Divulgación: soy fundador de Yaler)
tamberg
3

Hay algunas cosas a tener en cuenta.

Una es que incluso si el reenvío de puertos está configurado correctamente en su enrutador, es posible que no pueda conectarse a su IP pública desde su hogar porque algunos enrutadores solo reenvían las conexiones que provienen de "afuera", no de "adentro". Otro problema común es que algunos ISP no quieren que sus usuarios ejecuten servidores públicos y bloqueen los puertos entrantes comunes, como los puertos 80 o 25.

No sé si alguno de estos se aplica en su caso, pero podrían serlo. Aparte de eso, diría que está en el camino correcto, la configuración de su enrutador y una solución DNS dinámica es la forma más eficiente de hacerlo si funciona para usted.

Sin embargo, si no funciona por alguna razón, creé una solución llamada PageKite ( http://pagekite.net/) para ayudar a que los servidores sean públicos desde detrás de firewalls estrictos o en dispositivos que cambian de ubicación con frecuencia. Funciona creando un túnel desde su Raspberry Pi a un servidor de retransmisión "front-end" que reenvía sus solicitudes y respuestas entrantes a través del túnel. Por lo tanto, cada vez que su Pi tenga una conexión a Internet que funcione y pueda conectarse al relé, su servidor estará visible (no se necesitan ajustes de enrutador ni ddns). Es un software gratuito, pero si las personas usan nuestro servicio en línea para conectarse (en lugar de ejecutar su propio relé en alguna parte), les pedimos a las personas que paguen un poco por el privilegio. Esto es similar al localtunnel que se mencionó en otra parte, excepto que PageKite fue diseñado teniendo en cuenta la confiabilidad y las conexiones permanentes, no solo para pruebas temporales.

¡Buena suerte!

Bjarni Rúnar
fuente
Debo mencionar que para usar PageKite con una Raspberry Pi, es mejor seguir las instrucciones para Debian, aquí: pagekite.net/wiki/Howto/GNULinux/ConfigureYourSystem
Bjarni Rúnar
0

Necesitará un servicio como DynDNS, u obtenga una IP estática. De lo contrario, podría considerar una VPN.

usuario1945104
fuente
0

Depende de si desea compartir persistentemente sus contenidos web o si solo necesita acceso público episódico. Para este último, no es necesario pasar por la molestia de configurar una cuenta DynDNS y abrir puertos de reenvío en su enrutador.

Una solución bastante fácil es usar LocalTunnel , que hará que su servidor web sea accesible a través de un nombre de dominio como:

http://8bv2.localtunnel.com

Es muy útil para compartir el progreso de un sitio web que aloja en su computadora.

Mickaël Le Baillif
fuente
0

Mi solución para varios sistemas bajo ip dinámica es la siguiente:

Tengo un dominio del trabajo cron de godaddy Entrydns 1 en mi enrutador que está cargando mi dirección IP a entrydns con un token (un token que proporciona entrydns). Y mi servidor dns bajo mi dominio godaddy está configurado en entrydns. Ah, y no te olvides de portportward :)

Si lo necesita, puedo darle una guía paso a paso más detallada, pero espero que pueda descubrir este proceso fácil a través de google :)

crancker
fuente
1
podría ser mejor proporcionar la guía paso a paso más detallada, especialmente si ayuda a otros con problemas similares. Entiendo que buscar en Google ayudará, ¡pero creo que cada pregunta se puede responder con google!
kolin