Sep 21 2006
C?mo hacer que tu web sea visible desde Internet
He recibido un correo de Diego (s?, se llama igual que yo) desde Melilla:
He instalado un servidor UBUNTUSERVER en el VMWARE, que gracias a ti conoc?…, hasta ah? bien… Lo siguiente fue instalar Apache, que veo desde el portatil y el fijo. Lo siguiente fue hacerme una cuenta en Dyndns y g?ay, pero pongo en el navegador la direccion y me sale mi router… ?como hago para ver el servidor?… toy hecho un lio… echame un cable pleaseeeeeeeeeeee.
Veamos. Supongamos que tu port?til tiene una IP como 192.168.1.x, con x entre 1 y 254. Es decir, que est? en una red interna. Las direcciones 192.168.x.x est?n reservadas para las direcciones privadas, las que usamos en las redes locales. Hay otros rangos (10.x.x.x y 172.16.x.x)
Cuando tu port?til se trata de conectar a Google, pregunta por su direcci?n y se manda una petici?n HTTP (para ver una p?gina web) al servidor web de Google (bueno, con uno de ellos, tienen decenas de miles). El servidor web de Google debe entonces responder a tu port?til para que t? puedas ver la p?gina en tu navegador. Si se encuentra una direcci?n privada ?c?mo llegar hasta t??. ?A cual, de los miles y miles de ordenadores situados en redes privadas con las mismas IPs debe responder Google?. Evidentemente este problema no lo tienes, es decir, puedes navegar. Ello es debido a que tu router de acceso a Internet hace IP masquerading, tambi?n conocida como NAT: al detectar una conexi?n desde un ordenador de tu red hacia fuera, cambia en la cabecera del mensaje la IP original por la suya propia (por la del router) que es p?blica. Google ahora sabe a qui?n responder. Es trabajo del router (y de NAT) deshacer ahora el cambio y entregar al equipo de la red interna la p?gina web solicitada.
En tu el caso es al rev?s. Quieres que desde fuera puedan ver un servidor web en tu red interna. Usualmente este tipo de servidores se colocan en un segmento protegido de la red interna llamado DMZ (zona desmilitarizada), mientras que otro segmento queda inaccesible desde el exterior (la MZ, zona militarizada). Por sencillez puedes dejarlo en la interna, aunque es menos seguro.
El caso es que debes hacer dos cosas:
1. abrir el firewall en entrada para el puerto 80 para la IP de tu port?til, es decir, permitir a cualquiera desde fuera que se conecte al puerto 80 de tu m?quina, que est? en la red interna.
2. crear una regla en el router de "port forwarding". Esto es algo similar a NAT, pero aqu? se cambia la IP de destino, no la de origen como antes. Si alguien intenta conectarse a tu router en el puerto 80, ?ste le pasa la tarea a tu port?til. Como ves, la IP destino (originalmente la IP p?blica de tu router, que es lo que se ve desde Internet), se cambia por la IP de tu port?til (que est? en la red interna). El paso inverso (llevar la respuesta desde el port?til) lo hace el router, como antes con NAT.
Evidentemente, los firewalls deben permitir conexiones entrantes por el puerto 80. Las salientes ya las permiten porque puedes navegar ?no?