lunes, 8 de agosto de 2011

Configurar Apache detrás de un router TP-LINK TL-WR642G


Estoy desarrollando una pequeña aplicación web, sobre un servidor Apache, en una máquina con Windows XP, que se encuentra dentro de la red local de mi casa, la cual funciona con un AP TP-LINK WR642G.

Y bueno, para mostrarle la aplicación al cliente, lo que voy a hacer es configurar el router para que reenvie todas las peticiones públicas, a la dirección IP local de la máquina que tiene la aplicación. Simple.

Antes de comenzar hay que tener en cuenta que muchos ISPs bloquean los puertos conocidos (específicamente el 80, utilizado tradicionalmente para HTTP), tal es el caso de ABA en Venezuela. En este caso (es el mío), hay que configurar nuestro Apache para que permita conexiones a través de otros puertos (básicamente cualquiera por encima del 1024 está bien).

En el archivo httpd.conf, si no le hemos metido mucha mano, debemos tener un "Listen 80". Sólo basta agregar otra línea (antes o después de ésta, da igual) "Listen 1067" por ejemplo, si queremos que apache también escuche en el puerto 1067. Si tenemos una configuración más compleja, con Virtual Hosts por ejemplo, pues tendremos que hacer las modificaciones según sea nuestro caso. Para que los cambios surtan efecto, debemos reiniciar el servicio de Apache.

Luego sólo hacer falta ir a nuestro router y configurarlo para que reenvíe todas las peticiones a la máquina que tiene nuestro Apache. Esto se hace entrando a la configuración de nuestro router (http://192.168.1.1 es la dirección por omsión), y luego ir a Advanced Settings > Forwarding > Virtual Servers, y configurarlo de la siguiente manera:


No es necesario reiniciar el router. La configuración debería tomar efecto de inmediato.

Consideraciones adicionales

Debemos tener en cuenta muchas otras cosas. Menciono algunas.

La configuración del firewall de la máquina: lógicamente, si en el firewall tenemos bloqueado Apache o tenemos bloqueado el puerto, no podremos acceder.

La configuración del firewall del router: misma historia con el firewall del router.

La dirección IP de la máquina: si trabajamos bajo DHCP, eventualmente la máquina con el servidor Apache podría cambiar de dirección IP local y el router estará reenviando las peticiones web a la dirección IP antigua, que ya no se encontrará. Lo más lógico es que nuestra máquina servidor tenga dirección IP estática y/o tener el ARP binding configurado en el router, para que sólo asigne la dirección IP a la máquina servidor.


No hay comentarios: