sábado, 20 de marzo de 2010

Tener un DNS gratis por noip

La idea es que en un equipo que tengo en casa que está conectado todo el día a internet, quería levantar una aplicación para jugar con unos amigos, entonces el primer problema que tengo es que tengo ip dinámica, entonces no podía acceder a ella si no sabía la ip.

Las soluciones pueden ser varias, una es hacer un programa que este corriendo que cuando vea que cambio de ip, envié un correo, esto lo hice en un pasado pero es algo tedioso tener que bajar el correo cuando quiero acceder a la aplicación.

La otra solución que he utilizado es usar los proveedores de dns gratis (conozco 2, dyndns, y noip).

Entonces aca se nos presenta algunos problemas, yo voy a seguir por el que me paso a mi para no mentir sobre lo que estoy explicando.

Primero el equipo que voy a exponer a internet es un ubusntu server, entonces este con un simple apt-get install noip2, y configurando todo lo que nos pide (obviamente antes debemos de tener un usuario en www.noip.com) queda levantado el servicio y debería quedar escuchando de internet con el nombre que le indiquemos (en www.noip.com).

Ahora yo tengo un problema, y es que tengo un router que es el que llama a adsl, y este también es firewall, entonces el equipo con noip, pasa por el router y luego va a noip, que es a quien le dice a alguien de internet, que cuando en el navegador escriba www.pepe.....com (la dirección que le pongan en noip) este lo redireccione al equipo (en mi caso el Ubuntu server) que hiso la comunicación con el. Pero mi equipo tiene una dirección privada (192.168…) y esta dirección es la que esta guardando noip, entonces nadie va a poder ver mi pagina.

Entonces para solucionar esto tengo varias opciones, una es que el equipo Linux que voy a exponer la aplicación sea el el que llame y obviamente va a obtener una ip publica, y esta ip publica se va a guardar en noip y va a andar todo bien. Pero no quiero esto porque tendría que modificar mucho de mi red interna.

La segunda es que el router sea quien se conecte no noip. Mi router no es un equipo que puedo instalarte cosas, es un router armado que solo puedo configurarlo, pero este tiene para configurarle dyndns.com, entonces vamos a configurar dyndns.

Para poder usar dyndns, como en noip, debemos de tener una cuenta creada en la pagina (www.dyndns.com) , luego en el router debemos de configurar el servicio dyndns. Luego tenemos que en dyndns.com, configurar el host que utilizaremos, para poder obtener el dns, es decir el nombre de la pagina publica (ejemplo www.pepe.....com).

Luego de tener todo esto configurado, tenemos que decirle al router que cuando llega un pedido para el puerto que utilicemos (ejemplo yo voy a exponer una aplicación que corre bajo tomcat, entonces tenemos que rutear el 8080, si es una aplicación web, es el 80, etc). Por consejo de seguridad, lo mejor es exponer por ejemplo el puerto 3030 y en el router redirigirlo al 8080 (o el que sea) para que no solo conociendo el puerto sabemos que es lo que esta corriendo atrás. Entonces configurando bien el router para que se comunique con dyndns y que haga el ruteo bien, y teniendo la aplicación levantada, ya deberíamos por internet con la dirección que elegimos en dyndns poder acceder a la pagina.

Bueno en mi caso no puedo, y lo que detecte es o que el router no redirección bien o no llega a abrir bien los puertos, entonces la solución final que encontré fue la siguiente.

Primero, tengo un equipo Windows xp (sé que no es lo más seguro pero por ahora no es lo que me interesa) que este llama a adsl, después este equipo Windows tiene que redirigir el puerto que expongamos, ya sea el 3030 o el 8080, al 8080 de el equipo que tiene la aplicación, para esto lo que encontré en internet es un programita muy pequeño que lo que haces es exactamente lo que necesito, es decir te redirigir un puerto a otro puerto. El programa se llama AnalogXPortMaper (hay varios mas en la vuelta pero este me gusto porque es muy básico y muy sencillo).

Y con esto la aplicación quedo arriba y listo para jugar.

Les paso el link para que vean de disfrutar una buena penca, les comento que es una penca para el mundial 2010 de futbol.

http://pencamundial2010.servegame.com:8080/mundial/servlet/login


No hay comentarios: