Manual de configuración DynDNS / NoIP (o similar) para Raspbian + DNSomatic

Si vas a utilizar una Raspberry Pi con Raspbian (o algún sistema “Debian based“) como servidor casero y necesitas tener accesible tu ip desde el exterior, pero no tienes IP estática, la mejor solución es utilizar alguno de los múltiples servicios de resolución IP (dinámica) a nombre de (sub)dominio.

Lo recomendable es no confiar la resolución a un solo servicio, y es aquí donde entra DNS-O-Matic, el cual hace de puente entre tu servidor  y los múltiples servicios de DNS dinámico (hn.org, ddns.org, no-ip.com, etc…). Si bien hay múltiples clientes válidos para actualizar contra ellos, no todos lo hacen correctamente con varios servicios a la vez.

Requisitos

.- Una cuenta en DNS-O-Matic
.- Una raspberry Pi, modelo al gusto
.- Raspbian (o sistema debian) instalado en la RPi
.- Una o varias cuentas de cliente en algún servicio de dyndns compatible con DNS-O-Matic

Instalar y configurar ddclient en debian

En nuestro caso, usaremos el cliente “ddclient” que recomienda la propia web de DNS-O-Matic.
Descargamos la última versión desde sourceforge:

wget -O ddclient-3.8.3.tar.bz2 “http://nbtelecom.dl.sourceforge.net/project/ddclient/ddclient/ddclient-3.8.3.tar.bz2

Nota: Si NO descarga, accede con tu navegador a la web de descargas del programa, pincha en descargar y copia el enlace directo (donde pone “this direct link“) que te dan en la web de la descarga.

Descomprimimos:

 tar jxvf ddclient-3.8.3.tar.bz2

Entramos al directorio

cd ddclient-3.8.3

Creamos el directorio donde el ejecutable lee la configuración

mkdir /etc/ddclient

Copiamos y renombramos el archivo base de configuración a ese directorio

cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf

Editamos el fichero a nuestro gusto. Los únicos cambios que yo he hecho es subir el daemon a 900 segundos (actualizar cada 15 mins) y comentar las líneas de mail para que no envíe correos.

pico /etc/ddclient/ddclient.conf

 

daemon=900 # 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

Nota: Si quieres que sendmail te envíe correos al actualizar y/o al tener errores, tendrías que instalar y configurar sendmail o similar en tu Raspbian.

Añadiremos al final del archivo esto, para que actualice con DNS-O-Matic. Cambiamos lo que está en verde:

##
## DNS-O-Matic account-configuration
##
use=web, web=myip.dnsomatic.com
server=updates.dnsomatic.com, \
protocol=dyndns2, \
login=tu@usuario.com, \
password=TuClave \
all.dnsomatic.com

Guardamos los cambios. Instalamos la librería que ddclient necesita para utilizar conexión por SSL

apt-get install libio-socket-ssl-perl

Copiamos y renombramos el ejecutable de ddclient al directorio de scripts de arranque

cp sample-etc_rc.d_init.d_ddclient.ubuntu /etc/init.d/ddclient

Lo editamos para hacer coincidir los segundos de actualización con los que hemos puesto en el fichero de configuración (si no, a veces se puede dar un comportamiento errático)

pico /etc/init.d/ddclient

El apartado

start)
log_begin_msg “Starting ddclient…”
DELAY=`grep -v ‘^\s*#’ $CONF | grep -i -m 1 “daemon” | awk -F ‘=’ ‘{print $2}’`
if [ -z “$DELAY” ] ; then
DELAY=”-daemon 300

Lo cambiamos por

start)
log_begin_msg “Starting ddclient…”
DELAY=`grep -v ‘^\s*#’ $CONF | grep -i -m 1 “daemon” | awk -F ‘=’ ‘{print $2}’`
if [ -z “$DELAY” ] ; then
DELAY=”-daemon 900

Guardamos los cambios. Lo hacemos ejecutable

chmod +x /etc/init.d/ddclient

Hacemos una prueba en modo debug para comprobar que todo funciona OK

/etc/init.t/ddclient -daemon=0 -debug -verbose -noquiet

Si todo está bien, al final saldrá una línea tal que así:

SUCCESS:  updating all.dnsomatic.com: good: IP address set to 87.121.123.xx

En caso contrario, debemos leer detenídamente los mensajes de error. Si no sabes interpretarlo, ponlo en los comentarios y lo resolvemos entre todos.

Actualizamos el sistema para que lo ejecute al inicio

sudo update-rc.d ddclient defaults

Y al no ser un inicio de sistema lo que tienes ahora, lo iniciamos manualmente, con alguna de éstas opciones:

1.- /etc/init.d/ddclient start
2.- service ddclient start
3.- /etc/init.t/ddclient -daemon=1

Comprobamos que está ejecutado filtrando en los procesos

[email protected]:/etc/init.d # ps aux | grep ddclient
root 27547 1.5 0.7 10488 7220 pts/0 S 13:00 0:00 ddclient – sleeping for 60 seconds
root 27584 0.0 0.1 4276 1848 pts/0 S+ 13:00 0:00 grep ddc

 

En cuanto al servicio DNS-O-Matic, como comentaba al principio, se recomienda tener al menos un par de servicios suscritos, incluso tres mejor que dos, ya que si falla alguno, siempre podremos probar con otros hostnames.

 

 

En mi caso, usaré Raspbian como centralita PBX IP. ¿Qué uso le estás dando tu?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Do NOT follow this link or you will be banned from the site!