DDNS dinámicas con duckdns en Raspberry P i

2017-07-18

Índice

  1. Registrar una cuenta
  2. Script para actualizar la dirección IP
  3. Programar la ejecución del script

Actualmente la mayoría de los proveedores de Internet asignan direcciones IP dinámicas a nuestro router, es decir, cada cierto tiempo esa dirección IP va cambiando.

Para solucionar ese problema y poder tener accesible nuestra red domestica desde el exterior, existen una serie de servicios gratuitos como DuckDNS, que mediante un nombre de dominio tipo micasa.duckdns.org nos permite acceder a nuestro router sin necesidad de saber su dirección IP.

Como paso previo a instalar un servidor VPN vamos a ver como instalar este servicio en nuestra rpi.

Registrar una cuenta

El primer paso, será ir a la página web del servicio DuckDNS y acceder con nuestra cuenta de facebook, gmail, twiteer o reddit

img

Elegimos un nombre de dominio que aún no haya sido dado de alta por otros usuarios, como ejemplo he elegido carlosrpi

img

Si todo ha ido bien deberías de tener una pantalla parecida a esta:

img

Podemos dar de alta hasta 5 nombres de dominio.

Script para actualizar la dirección IP

Una vez que ya tenemos nuestro nombre de domino, vamos a proceder a instalar un pequeño script que mediante el cron de nuestra rpi ira actualizando la dirección IP en el nombre de dominio elegido.

Seleccionamos Install

img

Seleccionamos el nombre de dominio para el que vamos a generar el script:

img

Y el sistema operativo, en nuestro caso, vamos a ejecutar el script bajo un cron en gnu/linux.

img

Bastará con conectarnos a la rpi y seguir la instrucciones que nos dan en la página web, en este caso:

img

Programar la ejecución del script

Tendremos que tener instalado cron y curl

sudo apt-get install cron curl

Comprobamos si cron se esta ejecutando:

ps -ef | grep cr[o]n
root       464     1  0 jun16 ?        00:00:01 /usr/sbin/cron -f

En el caso de que no devuelva nada puede ser debido a que no tengamos instalado cron o que todavia no hayamos programado ninguna acción.

Creamos la carpeta que va a contener el script

mkdir duckdns
cd duckdns

Creamos el fichero

nano duck.sh

Y copiamos el texto que tienes en la pagina web con el token de tu nombre de dominio

echo url="https://www.duckdns.org/update?domains=carlosrpi&token=tu_token" | curl -k -o ~/duckdns/duck.log -K -

Damos permisos de ejecución al fichero

chmod 700 duck.sh

Editamos el servicio cron para hacer que el fichero se ejecute cada 5 minutos

crontab -e

Y copiamos el siguiente texto

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Para guardar el fichero pulsamos CTRL+x

Probamos que el script funciona

./duck.sh
   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100     2    0     2    0     0      2      0 --:--:-- --:--:-- --:--:--     2

Esto creará un fichero llamado duck.log, el cual tendrá dos valores OK, si todo ha ido bien o bad KO si ha habido algún problema.

cat duck.log
OK

A partir de ahora., cada vez que se acceda al nombre de dominio carlosrpi.duckdns.org estaró accediendo al router de mi casa, concretamente al puerto 80 (puerto por defecto)

Espero que te haya gustado, pasa un buen día. 🐧


Ingrese la dirección de su instancia