Dyndns.org es un servicio gratuito orientado a personas que tengan una IP dinámica (de las que van cambiando) y necesitan un IP que no cambie nunca (IP Estática).
Evidentemente, si conoces algo básico de redes, no se puede substituir una IP por otra salvo que seas el proveedor de la IP. Como podrás imaginar, si no conocías ya el servicio, lo que hace dyndns es asociar un hostname (dirección de internet) del tipo usuario.dyndns.org a tu IP. Como decíamos antes, tu proveedor de internet puede que te cambie tu dirección IP sin avisar, incluso mientras estas conectado. El servicio de Dyndns incluye un pequeño software que se encarga de actualizar tu información para que la dirección registrada siempre apunte hacia tu equipo, sea cual sea la IP que tengas.
Bien, la cosa es que el modo de hacerse, según los chicos de dyndns.org usando un software llamado ddclient sobre sistemas rpm (Red Hat es el que usan como ejemplo, cuyo sistema de gestión de servicios o demonios difiere de las derivadas de Debian, como Ubuntu), me parece algo complejo para un usuario medio de escritorio. Así que estuve buscando fuentes externas y como no, existen mil formas de hacerlo con sistemas Linux. Finalmente me decanté por esta opción que pasa por instalar un pequeño servicio, que muy probablemente podáis encontrar en otras distribuciones (ipcheck), crear un sencillísimo script de shell (que funcionara en cualquier "distro" basada en POSIX y con el interprete sh, osea todos los GNU/Linux y quizás otras como BSD o Solaris...) y programar una tarea para que ejecute dicho script cada cierto tiempo...
Vamos a instalar el servicio que nos actualizara nuestra información de dyndns.org con nuestra IP, desde Ubuntu abre una terminal y escribe:
sudo aptitude install ipcheck
Ahora crearemos un directorio para nuestra configuración personal (evitando tocar la configuración general del sistema). Nuevamente en una terminal, situaos en vuestro directorio personal y escribid estos comando para crear la carpeta y el script:
cd
mkdir ~/.dyndns
touch ~/.dyndns/dyndns-update.sh
chmod 700 ~/.dyndns/dyndns-update.sh
Con el último comando lo hemos hecho ejecutable y quitamos permisos de lectura/escritura a otros usuarios. Vamos a editar el contenido del script (que ahora mismo esta vacío):
gedit ~/.dyndns/dyndns-update.shPega este texto en el editor:
#!/bin/sh
USERNAME=undukito
PASSWORD=********
HOSTNAME=undukito.dyndns.org
cd ~/.dyndns
if [ -f ~/.dyndns/ipcheck.dat ]; then
/usr/sbin/ipcheck -r checkip.dyndns.org:8245 \
$USERNAME $PASSWORD $HOSTNAME
else
/usr/sbin/ipcheck --makedat -r checkip.dyndns.org:8245 \
$USERNAME $PASSWORD $HOSTNAME
fi
Ahora substituye en las 3 primeras lineas (omitiendo la de #!/bin/sh), poniendo vuestros datos de dyndns.org y el dominio que queréis mantener actualizado. Cierra el editor guardando los cambios y a partir de ahora cada vez que ejecutes el script creado (el archivo .sh), se actualizará la IP de vuestro dominio por la que tengáis en ese momento en el PC (o el router mas bien, jeje). ¿Pero como hacer para que se ejecute cada X tiempo, de forma automática?
Esto lo lograremos con el poderoso (pero sencillo) programador de tareas de Unix; Cron
Si hechas un vistazo al enlace dado comprobaras que programar una tarea de cron es tan sencillo como añadir el momento que quieres que se ejecute y que quieres ejecutar a un fichero de texto y ya esta!
Añadiré que al momento de introducir el momento * es equivalente a "todo".
Ejecuta este comando en una terminal para abrir el fichero de cron de tu usuario:
crontab -e
Rellena una nueva linea abajo. Los 5 primeros datos serán referentes a cuando se ejecuta: minutos-horas-diadelmes-mes-diadesemana. El 6º será la ruta del script. Los minutos pueden ser del 0 al 59 o todos (*). Las horas pueden ser de 0 a 23 o todas (*). Los días del mes pueden ser del 1 al 31 o todos (*). Los meses pueden ser del 1 al 12 o todos (*). Y los días de la semana serían desde el 0 (Lunes) hasta el 6 (Domingo) o todos (*).
También puede decirle que se ejecute a varios minutos concretos (u horas o lo que sea) poniéndolos entre comas. Por ejemplo una alarma que me avise del trabajo la programaría así:
# m h dom mon dow command
15 9,16 * * 0,1,2,3,4,5 /home/dukkon/alarma
Y se ejecutará la alarma a las 9:15 y las 16:15 todos los días menos el Domingo.
Pero vamos a programar el "actualizador de dyndns". En mi caso he optado por que se actualice cada hora por que el proveedor que tengo actualmente es algo malote y me cambia la IP a cada momento. Así que le digo al cron que me ejecute el actualizador el minuto 0 de cualquier hora, día o mes. Esta es mi linea de crontab:
# m h dom mon dow command
0 * * * * /home/dukkon/.dyndns/dyndns-update.sh
Así se ejecutara el "actualizador" el minuto sesenta de todas las horas, todos los días.
Si usas tu equipo como servidor web, para probar trabajos, o simplemente para acceder a los datos de tu equipo remotamente, seguro te vendrá bien tenerlo fácilmente accesible mediante un nombre de los que dyndns te puede brindar.
Fuente: Pixels and Politics
No hay comentarios:
Publicar un comentario