viernes, 8 de noviembre de 2013

Cliente DDNS para usar con Dyndns

Si la conexión que tenemos para acceder a internet nos proporciona una ip pública y queremos publicar unos servicios ddclient es una buena opción. Ddclient es un cliente que actualiza nuestra ip dinámica en un registro A del un dominio de DynDns. Previamente hay que tener una cuenta abierta con DynDns.
Firewalls como fortinet 60B tiene la fucionalidad de DDNS incorporada pero hace falta una licencia activa. ASA 5505 de cisco todavía no esta implementado. Este cliente lo tendremos que instalar en un PC detrás de nuestro router o fw.




Instalamos el cliente:

sudo apt-get install ddclient

sudo cat /etc/ddclient.conf
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='IP Address'
server=members.dyndns.org
login=ejemplo.dyndns.org
password='12345'
Comprobamos que cliente está corriendo como proceso:
ps -aux | grep ddcli
root      4440  0.0  0.0  43992  7256 ?        S    16:55   0:00 ddclient - sleeping for 260 seconds
1000      4890  0.0  0.0  13596   940 pts/3    S+   17:06   0:00 grep --color=auto ddcli
En caso que tengamos este error:

sudo ddclient -daemon=0 -noquiet -debug
DEBUG:    proxy  = 
DEBUG:    url    = checkip.dyndns.com
DEBUG:    server = checkip.dyndns.com
DEBUG:    get_ip: using web, checkip.dyndns.com reports <undefined>
WARNING:  unable to determine IP address

Es debido a un bug conocido causado por el proveedor DynDns usando incorrectamente el protocolo dyndns2 y mandaba un respuesta malformada.

Para solucionar el problema:

Añadir:
  1. sudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (Si ya está instalado lo actualizará)