sábado, 26 de septiembre de 2009

Servicio de No-IP para host gratuito

Acerca de No-IP
Supongamos que tenemos un computador con algún servicio que podemos acceder desde otro computador y queremos compartir eso por internet con algún amigo, lo tradicional sería utilizar la IP de nuestro computador para que nuestro amigo pueda disfrutar del servicio, pero acá es donde empieza el problema. Actualmente muchos proveedores de internet -por no decir todos- brindan un servicio de IP dinámica, no vale que nos aprendamos la IP hoy si tal vez más tarde o mañana tendremos otra... no creo tener tan buena memoria :P


Es en este punto donde aparece el proveedor de servicios de DNS dinámico (DDNS) conocido como "No-IP", la gracia es que asocia una IP con un nombre estático :D, todo esto de forma gratuita mientras se usa de forma personal (no comercial).
Volviendo a nuestro ejemplo, ya no sería necesario entregar la IP a nuestro amigo, sino que le entregaríamos algún nombre del tipo juanito.no-ip.com o juanito.sytes.net o juanito.zapto.org o etc, teniendo cerca de 20 subdominios para elegir.
Para utilizar el servicio que nos da no-ip, debemos crear una cuenta en este sitio utilizando como usuario alguno de nuestros e-mails, esto para temas de validación. Ya con la cuenta creada elegimos un nombre (host) para utilizar con nuestra IP, lo agregamos a nuestra cuenta y listo.
Para asociar nuestra IP dinámica con el sitio, o host, que recién creamos lo podemos hacer de dos maneras:

1) directamente en la página web de no-ip
2) usando un programa en el computador que queremos asociar al sitio que creamos en no-ip

Es en el punto 2 donde me centraré dado que es lo más práctico y que trae mayores beneficios, especialmente cuando cambia la IP sin que lo sepamos y queremos acceder a nuestro computador desde otro lado.

Instalar cliente para No-IP
Lo primero es descargar el programa según el sistema operativo que estemos utilizando y luego configurarlo para que actualice nuestra información. La información de configuración debe ser la misma que se usa para ingresar a la página de No-IP: nombre de usuario (correo) y contraseña de inicio en No-IP (no la contraseña de nuestro correo... lo digo por si acaso :P).

Windows
Ejecutar el archivo descargado para instalar el programa, ahí se puede modificar el lugar de instalación que por defecto es "Archivos de programa" y algunas otras cosas más.
Luego de instalar, el programa automáticamente nos pedirá que se ingresen los datos: correo y contraseña (la de No-IP), seleccionar el host que queremos asociar  -si es que hay más de uno- y listo, ya tenemos funcionando y configurado el programa.
Para darle un toque extra de autonomía, podemos crear un acceso directo y dejarlo en la carpeta de inicio de windows, así se ejecutará de forma automática cada vez que iniciemos sesión: 

En el caso de win XP la ruta sería: C:\Documents and Settings\usuario\Menú Inicio\Programas\Inicio
 
Linux
Esta prueba la hice en un Fedora por lo que pueden variar un poco las rutas; en esencia la idea es la misma para la mayoría de las distros. Al momento de escribir esta entrada, la versión del programa es la 2.1.9-1.
Descargar el tar.gz y como superusuario descomprimir en /opt/, ingresar a la carpeta, ejecutar make y luego make install. 
Los comandos serían algo como:

su -
cd /opt/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xvzf noip-duc-linux.tar.gz
cd noip-2.1.9-1
make
make install

Al término de la instalación automáticamente nos pedirá que se ingresen los datos de configuración: correo y contraseña (la de No-IP), seleccionar el host  que queremos asociar -si es que hay más de uno- y listo, ya tenemos funcionando y configurado el programa.
La forma rápida para que se ejecute cada vez que se encienda el computador es agregar el comando al archivo /etc/rc.local. Por mi parte lo que hice fue editar ese archivo y agregar una línea con el texto "/usr/local/bin/noip2" (sin comillas). La próxima vez que se reinicie el computador se ejecutará ese comando al final del inicio dado que se carga en cada nivel de ejecución (los famosos "runlevel") después de ejecutar todos los scripts correspondientes.
Otra forma sería crear un script con el código que aparece en el archivo "LEEME" y guardarlo en /etc/init.d/, además de crear los respectivos enlaces simbólicos en los niveles de ejecución 3, 4 y 5: /etc/rcX.d/SYYnoip, donde X corresponde al nivel (3, 4 ó 5) e YY al número de "importancia" o "posición" para ejecutar el script.
La única diferencia entre una forma y otra de cargar el programa en el inicio es que con la segunda tenemos la opción de comenzar y detener el programa como si fuera un servicio: /etc/init.d/noip2 (start|stop), fuera de eso por ahora no se me ocurre otra diferencia (en realidad sí, pero escapan a la idea de esta publicación :P).

Tras instalar/configurar ya podemos utilizar nuestro nuevo host y compartirlo con los demás.

Referencias:

No hay comentarios:

-