CONTENIDOS OBSOLETOS
DYNDNS EN LINUX
Esta guía explica como instalar el cliente suministrado para GNU/Linux por dyndns.com cuya función es la de asociar y actualizar la dirección IP dinámica de nuestra conexión de forma que sea resuelta como un subdominio escogido entre una gran cantidad de nombres que nos ofrece este servicio, tales como dyndns.com, homelinux.com, homeunix.com, is-a-geek.com, servebbs.com, blogdns.com, etc. Muchos de estos nombres de dominio están disponibles también en su versión .net y .org.
La utilidad de tener un nombre de dominio que se acualiza de forma dinámica es que podremos acceder al servidor que instalemos en nuestra casa a pesar de que nuestra dirección IP cambie (en el caso de que nuestro acceso a Internet incluya una IP fija no se dará esta situación) y también se nos hará más fácil de recordar un nombre de dominio que una dirección IP. Para eso existe el servicio de DNS ¿No?
INSTALACIÓN
Como paso previo, necesitaremos una cuenta en dyndns.com la cual es gratuita en su modalidad Free. Una vez dados de alta y escogido el dominio que utilizaremos, debemos descargar el
NOTA: Ya que todas las tareas a realizar son de carácter administrativo, deberemos ejecutarlas como usuario root.
wget http://cdn.dyndns.com/ddclient.tar.gz
cp ddclient.tar.gz /usr/src/
tar xfzv ddclient.tar.gz
A continuación copiamos el ejecutable al directorio /usr/sbin/ y creamos el directorio para incluir el fichero de configuración dentro de /etc.
NOTA: Si la versión descargada es distinta a la 3.7.3 se deberá reemplazar la ruta origen por la correspondiente a la versión utilizada.
cp /usr/src/ddclient-3.7.3/ddclient /usr/sbin/
mkdir /etc/ddclient
Por último copiamos (y renombramos) el fichero de configuración de ejemplo que hemos descomprimido dentro del directorio que hemos creado en el paso anterior. Una vez copiado lo editamos con nuestro editor de texto plano favorito (vi en mi caso).
cp /usr/src/ddclient-3.7.3/sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
vi /etc/ddclient/ddclient.conf
CONFIGURACIÓN (IP DINÁMICA)
Lo más reseñable en el fichero de configuración son las líneas que se detallan a continuación, en dónde se indica que se actualice la dirección IP cada 300 segundos (un intervalo menor no es recomendado ya que puede ser considerado un ataque), que se vuelquen los logs en el fichero /var/log/syslog y que los correos con los cambios de estado y errores se envíen al usuario root. Además se especifica el fichero de bloqueo (el que impide que se ejecute más de una instacia del script), que se utilicen conexiones seguras via web utilizando SSL y que el protocolo de actualización es dyndns2.
Se deberá indicar el nombre de usuario de la cuenta dyndns.com reemplazando la cadena "nombre-de-usuario" y "contraseña". El nombre del servidor de correo reemplazará a "mailer.dominio.com" (si no se tiene un servidor de correo esta línea puede comentarse con un #). Esta sección del fichero de configuración se completa indicando si el mailer es primario o de respaldo y si la resolución de dominio admite comodines.
En la segunda sección del fichero se indicará el servidor al que se conectará el script, el protocolo y el nombre para nuestro PC reemplazando a la cadena "servidor.dominio.com".
NOTA:
El resto de las líneas del fichero de configuración deberán permanecer comentadas, es decir que deberán comenzar con el carácter #.daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
mail=root # mail all msgs to root
mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.
ssl=yes # use ssl-support. Works with
# ssl-library
use=web # via web
protocol=dyndns2 # default protocol
login=nombre-de-usuario # default login
password=contraseña # default password
mx=mailer.dominio.com # default MX
backupmx=no # host is primary MX?
wildcard=yes # add wildcard CNAME?
##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
server=members.dyndns.org,
protocol=dyndns2
servidor.dominio.com
CONFIGURACIÓN (IP ESTÁTICA)
En el caso que se cuente con una dirección IP estática puede ser interesante asociarla a un nombre de dominio proporcionado por dyndns.com. En este caso el fichero de configuración sera similar al caso de dirección IP dinámica pero habrá que comentar la última sección (dyndns.org dynamic addresses) y utilizar en su lugar la especificada a continuación reemplazando "servidor.dominio.com" por el nombre de dominio escogido para nuestro PC.
##
## dyndns.org static addresses
##
## (supports variables: wildcard,mx,backupmx)
##
static=yes,
server=members.dyndns.org,
protocol=dyndns2
servidor.dominio.com
EJECUCIÓN
Antes de proceder a ejecutar el script deberemos asegurarnos que tiene los permisos adecuados, así como que el fichero de configuración sólo puede ser leído por el usuario root.
chown root.root /usr/sbin/ddclient
chmod 700 /usr/sbin/ddclient
chown root.root /etc/ddclient/ddclient.conf
chmod 600 /etc/ddclient/ddclient.conf
Además será nececesario la instalación del siguiente paquete para que las actualizaciones se realicen dentro de una comunicación segura (caso contrario indicar ssl=no en el fichero de configuración)
NOTA: La siguiente instrucción es para un sistema basado en los paquetes .deb, para otro tipo de paquetes (por ejemplo .rpm) el procedimiento será similar.
apt-get install libio-socket-ssl-perl
Por último copiamos (y renombramos) el script de arranque que viene como ejemplo, creamos los directorios que faltan, actualizamos los enlaces y ejecutamos por primera vez el servicio.
cp /usr/src/ddclient-3.7.3/sample-etc_rc.d_init.d_ddclient /etc/init.d/ddclient
mkdir /var/cache/ddclient
update-rc.d ddclient defaults
invoke-rc.d ddclient start
COMPROBACIONES
Una vez ejecutado el script podemos comprobar que se encuentra en memoria mediante el comando ps ax | grep ddclient lo que nos deberá devolver una línea similar a la del ejemplo
1935 ? S 0:04 ddclient - sleeping for 200 seconds
La siguiente comprobación consistirá en ejecutar el comando host servidor.dominio.com obviamente reemplazando el nombre del servidor por el que hemos configurado y deberemos obtener como respuesta la dirección IP de nuestro router.
Si algo va mal, habrá que comprobar las últimas líneas del fichero /var/log/syslog y el buzón de correo del root para obtener indicios de que ha fallado.