¿Es posible alojar un servidor web desde detrás de un NAT

21

Mi PC está detrás de un enrutador NAT que tiene una dirección IP pública. Si quiero alojar un sitio web, creo que necesito un nombre de dominio que pueda comprar en algún sitio que se comprometerá a resolver todas las solicitudes de DNS para ese nombre de dominio y enviar la dirección IP de mi enrutador NAT (suponiendo que no quiero alojar mi nombre de dominio en sus servidores). Ahora quiero alojar un servidor web en mi computadora.

  1. Qué cambios se deben hacer en la configuración del enrutador NAT para reenviar todas las solicitudes HTTP de example.com a mi PC en la red interna.
  2. ¿Es correcta la estrategia anterior?
  3. ¿Se usa comúnmente?
Rohit Banga
fuente

Respuestas:

12

Es factible alojar un servidor detrás de NAT como usted describe.
Mire esta página de ayuda de Ubuntu en ServersBehindNAT para obtener información básica.

Algunas referencias más

  1. Hospedaje del servidor Apache detrás de un NAT
  2. La configuración de un servidor detrás de un NAT
    utiliza un enrutador NAT Buffalo AirStation series y ejemplos de enrutador Linksys
  3. Método de conexión compartida a Internet de Windows XP . si tienes una máquina con Windows haciendo NAT
  4. [Si está utilizando XP, también puede usar IIS 6 5 (1 soporte de host virtual) yendo a Panel de control> Agregar y quitar programas> Agregar componente de Windows> Servicios de información de Internet.

Esto supone que usted sabe cómo alojar un servidor web y necesita ideas sobre NAT.

nik
fuente
1

Otra alternativa podría ser algo así como homelinux, donde su dirección IP dinámica se puede asignar a un statix .homelinux. URL

También hay otras opciones además de "homelinux"

http://www.dyndns.com/

0x808080
fuente
1
  1. Echa un vistazo a portforward.com . Tienen instrucciones detalladas para este tipo de cosas, la idea básica es que debe configurar el enrutador para reenviar las solicitudes TCP en el puerto 80 a la dirección IP de su computadora. Esto trae a colación otra cosa: necesitará configurar su computadora para que tenga una IP estática. Si tiene un servidor DHCP ejecutándose en su enrutador (que es el caso en el 97% de los casos), asegúrese de asignar uno muy por encima o por debajo. Un google para "dirección IP de LAN estática" probablemente mostrará instrucciones sobre cómo configurarlo en varios sistemas operativos.
  2. Funcionará siempre que su ISP no esté bloqueando las conexiones entrantes en el puerto 80; algunos hacen esto por razones de seguridad.
  3. Tal vez. Es lo que estoy haciendo ahora con ftp, http, ssh, vnc, xmpp, y algunas otras cosas ...

También necesita ejecutar un servidor web en su computadora. Simplemente obtenga Apache, se ejecuta en casi cualquier cosa y es lo que usan la mayoría de los sitios.

marcusw
fuente
1

Después de verificar todas estas respuestas y los procedimientos vinculados, pensé que todas ellas implican configuraciones elaboradas con grandes programas (que están hechos parcialmente para otros fines) y archivos de configuración y otras cosas, así que decidí escribir mi propia solución.

https://github.com/rofl0r/nat-tunnel

Es un script de Python de 250 líneas, que puede ejecutar directamente desde el pago de git.

Ejemplo: tiene un servidor HTTP escuchando en su máquina local en el puerto 80. Desea que esté disponible en su servidor de nube / VPS / IP pública del puerto 7000. Utilizamos el puerto 8000 en el servidor de nube para el canal de control.

usar como

Servidor:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

Cliente:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000
the_JQ
fuente
0
  1. tráfico tcp de reenvío de puerto a su enrutador en el puerto 80 a su PC en port_whatever_you_are_running_your_webserver

  2. no necesita un nombre de dominio para permitir que otros accedan a su servidor web, la IP pública es suficiente. Un nombre de dominio para su IP pública es simplemente más conveniente. de lo contrario su plan se ve bien.

  3. su enrutador es simplemente "un firewall" entre el público y su servidor. Tal configuración es bastante común.

akira
fuente
0

Intenta alojar tu sitio web estático en IPFS

o sitio web dinámico en I2P

Volodimir Kopey
fuente
0

1.) Debe reenviar el puerto 80 a su dirección IP interna en el puerto 80

2.) Posiblemente. Si tiene una ip estática de su ISP, ya está listo con esa estrategia. Si no tiene una dirección IP estática, es probable que necesite usar Dynamic Dns, que es donde ejecuta un software en el servidor, y actualiza continuamente la dirección IP de su nombre de dominio, que generalmente es algo ellos asignan Sin embargo, puede configurar un registro CNAME en su dominio que apunte al del proveedor de dns dinámico.

3.) Yo personalmente no diría que es común, pero tampoco es raro.

JCA122204
fuente
-2

Su estrategia es bastante común y si compró una IP pública, entonces es bastante bueno.

Deberías obtener XAMPP. XAMMP preconfigurado y Apache usará el puerto 80 por defecto. Asegúrese de que no se ejecute ningún otro proceso en el puerto 80 o Apache no se ejecutará. En general, Skype (si usas skype) juega deportes en mal estado y acapara el puerto 80, debes deshabilitarlo desde la configuración de tus conexiones.

Contiene Apache, PHP y Mysql se encargará de todas sus necesidades. Simplemente no olvides asegurarlo bien .

Solo tenga en cuenta que XAMPP no es un software de producción, sino que debe satisfacer sus necesidades de alojar un sitio web / blog personal.

Una cosa más, si desea que este sitio web esté abierto las 24 horas del día, los 7 días de la semana, deberá mantener su computadora encendida las 24 horas del día, los 7 días de la semana.

Si necesita un dominio gratuito, puede obtener un co.cc para uso personal, y lo renuevan cada año.

rzlines
fuente