Como configurar No-Ip DDNS en Linux Debian

terminal-153150_960_720

El DNS dinámico (DDNS) es un servicio que permite la actualización en tiempo real de la información sobre nombres de dominio situada en un servidor de nombres. El uso más común que se le da es permitir la asignación de un nombre de dominio de Internet a un dispositivo con dirección IP variable (dinámica). Esto permite conectarse con la máquina en cuestión sin necesidad de tener conocimiento de que dirección IP posee en ese momento.

El DNS dinámico hace posible utilizar un software de servidor en un dispositivo con dirección IP dinámica (como la suelen facilitar muchos ISP) para, por ejemplo, alojar un sitio web en la PC de nuestra casa, sin necesidad de contratar un hosting de terceros; pero hay que tener en cuenta que las PC caseras posiblemente no estén tan bien dotadas como los servidores de un Datacenter, ni tengan toda la infraestructura que poseen estos lugares.

Luego de esta introducción sobre el DNS Dinámico veamos como configurar un equipo Debian con Proxmox.

Vamos a instalar el cliente DUC (Dynamic Update Client) de no-ip en Linux, en este caso en Debian Wheezy, y hacer que inicie automáticamente al arrancar la máquina.

Instalación del Cliente (DUC)

Desde una terminal con acceso root instalamos el paquete GCC

“GCC es parte del proyecto GNU, y tiene como objetivo mejorar el compilador usado en todos los sistemas GNU, incluyendo la variante GNU/Linux. El desarrollo de GCC usa un entorno de desarrollo abierto y soporta muchas plataformas con el fin de fomentar el uso de un compilador-optimizador de clase global, que pueda atraer muchos equipos de desarrollo, y asegure que GCC y los sistemas GNU funcionen en diferentes arquitecturas y diferentes entornos, y más aún, para extender y mejorar las características de GCC.”

debemos ejecutar la siguiente linea de comandos:

aptitude install build-essential gcc

Una vez instalado bajamos el cliente, para eso ingresamos a la siguiente ruta:

cd /usr/local/src

Y bajamos el archivo que tenemos que instalar:

wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

Procedemos a descomprimirlo:

tar xzf noip-duc-linux.tar.gz

Y luego a cambiarnos de directorio

cd noip-2.1.9-1

Ahora procedemos con la instalación ejecutando estas dos líneas

make

 

make install

Si aparece un mensaje como “make not found” o “missing gcc” es que no has instalado el GCC del primer paso.

Configuración del Cliente

Ahora procederemos a configurar el cliente, para esto debemos ejecutar desde la misma consola el siguiente comando:

/usr/local/bin/noip2 -C

Debemos respetar que el comodín sea mayúscula -C con esto comenzará a pedirnos datos como el correo y la contraseña con el que entramos en No-Ip. Luego viene una pregunta importante “Do you wish to update ALL hosts?”. Si tenemos varios host creados y respondemos “Yes” nos va a actualizar todos ellos, si respondemos “No” nos va a ir preguntando uno a uno cuales queremos actualizar y luego cada cuantos minutos queremos actualizar.

Con esto ya tenemos el cliente configurado con nuestra información, ahora podemos ejecutarlo para que comience a trabajar en segundo plano con la siguiente linea de comando:

/usr/local/bin/noip2

Inicio automático del Cliente

Ahora para que nuestro cliente pueda quedar funcionando de manera automática debemos crear un script en “/etc/init.d” con el siguiente comando:

nano /etc/init.d/noip2

Y pegar el siguiente código:

#! /bin/sh
# /etc/init.d/noip2

# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <eivind@rygge.org>
# Updated by David Courtney to not use pidfile 130130 for Debian 6.
# Updated again by David Courtney to "LSBize" the script for Debian 7.

### BEGIN INIT INFO
# Provides:     noip2
# Required-Start: networking
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start noip2 at boot time
# Description: Start noip2 at boot time
### END INIT INFO

# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc

DAEMON=/usr/local/bin/noip2
NAME=noip2

test -x $DAEMON || exit 0

case "$1" in
    start)
    echo -n "Starting dynamic address update: "
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;
    stop)
    echo -n "Shutting down dynamic address update:"
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    echo "noip2."
    ;;

    restart)
    echo -n "Restarting dynamic address update: "
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;

    *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac
exit 0

Guardamos los cambios y cerramos el archivo. Ahora le damos permisos de ejecución con el siguiente comando:

chmod +x /etc/init.d/noip2

Y lo agregamos al incio:

update-rc.d noip2 defaults

Para poder validar el correcto funcionamiento, podemos ejecutar el siguiente comando

/usr/local/bin/noip2 -S

En donde nos entregará algo así:

Using configuration from /usr/local/etc/no-ip2.conf
Last IP Address set xx.xx.xx.xx
Account xxxxx@xxxxx.com
configured for:
host xxx.no-ip.biz
host xxx.no-ip.info
host xxx.no-ip.org
Updating every 30 minutes via /dev/eth0 with NAT enabled.

 

Fuente de Definiciones:

Wikipedia