[Tutorial] Configuración DDNS custom
#1
Hola,

Hace poco tuve que configurar un ddns custom (ovh.com) que no esta incluido por defecto en  QNAP. La forma más sencilla y eficaz que he encontrado ha sido la de añadir al crontab la ejecución de un script que obtiene nuestra dirección ip pública y la actualiza en el servidor ddns.

El script en cuestión es el siguiente:

Quote:#!/bin/bash
PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin

USERNAME="XXX"
PASSWORD="XXX"
HOSTNAME="XXX"
IP=`curl -s http://lared.com.es/ip.php`
ABUSE_LOCK_FILE="/share/CACHEDEV1_DATA/homes/admin/ovh.abuse"
LAST_IP_FILE="/share/CACHEDEV1_DATA/homes/admin/lastip"
LAST_IP=`cat $LAST_IP_FILE`


if [ -e "$ABUSE_LOCK_FILE" ]; then
 echo "DynHost abuse lockfile exisits: $ABUSE_LOCK_FILE" 
 exit 1
fi


if [ "$IP" != "$LAST_IP" ]; then
 echo "Actual IP: $IP"
 RESULT=`curl -s "http://$USERNAME:$PASSWORD@www.ovh.com/nic/update?hostname=$HOSTNAME&myip=$IP&system=dyndns"`
 echo "ovh.com nos dice que: $RESULT!"
else
 echo "IP es la misma no necesita cambiarse: $LAST_IP"
fi
 
if [ "$RESULT" == "abuse" ]; then
 echo "Demasiados cambios!"
 echo "Abuse lock!" > "$ABUSE_LOCK_FILE"
fi
 
echo "$IP" > "$LAST_IP_FILE"

Donde:

  USERNAME = nombre de usuario
  PASSWORD = contraseña de usuario
  HOSTNAME = dirección ddns

Una vez que tengamos el script configurado y guardado como "actualizaip.sh", nos conectamos al QNAP por ssh y realizamos los siguientes pasos:
  • Copiamos el script actualizaip.sh a /share/CACHEDEV1_DATA/homes/admin/actualizaip.sh
  • Damos permisos al script: chmod +x /share/CACHEDEV1_DATA/homes/admin/actualizaip.sh
  • Añadimos el script al crontab:
          - vi /etc/config/crontab
          - Añadimos la linea: 5 * * * * /bin/bash /share/CACHEDEV1_DATA/homes/admin/actualizaip.sh
  • Reiniciamos el cron: crontab /etc/config/crontab && /etc/init.d/crond.sh restart


Decir que la ruta donde guardemos el script no tiene porque ser la misma que yo he usado.

Espero que os sirva de ayuda. Un saludo.
• Modelo de NAS:  TS-453B mini 8GB
  Reply
#2
Gracias por el tutorial!!

Saludos.
  Reply
#3
Buen aporte!

Sabes como poder ejecutar ese script al inicio del qnap?
  Reply
#4
(17-01-2017, 12:55 PM)Cromo24Cr Wrote: Buen aporte!

Sabes como poder ejecutar ese script al inicio del qnap?

En el último paso digo como se hace.
Un saludo!
• Modelo de NAS:  TS-453B mini 8GB
  Reply
#5
Hablo de ejecutarlo al inicio del NAS,
  Reply
#6
(17-01-2017, 06:30 PM)Cromo24Cr Wrote: Hablo de ejecutarlo al inicio del NAS,

Perdonad mi ignorancia; pero tengo gran curiosidad, lo de con figurar un DDNS es crear una ruta o nombre fijo cuando tenemos ip dionamica.
¿ pero esto mismo no lo hacemos con myQnapcloud?

Saludos.
Hasta luego lucas... beepp, beepp
[Image: XRAKW0em.jpg]
  Reply
#7
(10-02-2017, 12:30 AM)Rayeta76 Wrote:
(17-01-2017, 06:30 PM)Cromo24Cr Wrote: Hablo de ejecutarlo al inicio del NAS,

Perdonad mi ignorancia; pero tengo gran curiosidad, lo de con figurar un DDNS es crear una ruta o nombre fijo cuando tenemos ip dionamica.
¿ pero esto mismo no lo hacemos con myQnapcloud?

Saludos.

Yo lo uso para tener el nas en un subdominio de mi dominio, así lo tengo todo centralizado.

Un saludo.
• Modelo de NAS:  TS-453B mini 8GB
  Reply
#8
Para los mas novatos en el tema de poner dominios al nas o router, ¿ no es mas sencillo y seguro trabajar tramite cloudlink y abrir los puertos necesarios para el web server y poco mas?
Pregunto porque nunca me he daddo de alta en Dnns.org y no se la seguridad que ofrece.

Agradeceria una breve explicacion par niños, algunos documentos que he leido me lian mas que me aclaran.

Gracias a todos.
Hasta luego lucas... beepp, beepp
[Image: XRAKW0em.jpg]
  Reply
#9
(17-01-2017, 06:30 PM)Cromo24Cr Wrote: Hablo de ejecutarlo al inicio del NAS,


Has de hacerte un qpkg "ficticio" que sea un autorun que ejecute un archivo .sh que contenga lo que quieras lanzar al inicio.

Te pego de notas mías

Autorun en QNAP mediante QPKG

Este método consiste en la declaración de un paquete QPKG que lanza un script al
Inició de la nas.

Mediante SSH o telnet accederemos a la QNAP , con Putty también podemos hacerlo

Editamos el archivo de configuración QPKG :
# vi /etc/config/qpkg.conf

Declaramos el paquete nuevo añadiendo algo similar a esto :

[autorun]
Name = autorun
Version = 0.1
Author = qnapclubes
Date = 2013-05-06
Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun
Enable = TRUE

Note: tendremos que poner la ruta adecuada de nuestra nas e incluso podemos cambiar el nombre del directorio y archivo .sh a crear.

Crearemos el directorio :
# mkdir /share/MD0_DATA/.qpkg/autorun

Crearemos el archivo .sh con las instrucciones y comandos que deseemos :
# vi /share/MD0_DATA/.qpkg/autorun/autorun.sh
Note: hay que poner en la primera línea "#!/bin/sh"

Cambiamos el atributo del script para que sea ejecutable:
# chmod +x /share/MD0_DATA/.qpkg/autorun/autorun.sh

Ahora al reiniciar se ejecutará el script

Ojo, has de asegurarte que la ubicación es MD0_DATA, dependiendo del raid tendrá otros nombres.



Un saludo
Agur eta ondo ibili
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply
#10
(03-04-2017, 07:52 AM)Ganekogorta Wrote:
(17-01-2017, 06:30 PM)Cromo24Cr Wrote: Hablo de ejecutarlo al inicio del NAS,


Has de hacerte un qpkg "ficticio" que sea un autorun que ejecute un archivo .sh que contenga lo que quieras lanzar al inicio.

Te pego de notas mías

Autorun en QNAP mediante QPKG

Este método consiste en la declaración de un paquete QPKG que lanza un script al
Inició de la nas.

Mediante SSH o telnet accederemos a la QNAP , con Putty también podemos hacerlo

Editamos el archivo de configuración QPKG :
# vi /etc/config/qpkg.conf

Declaramos el paquete nuevo añadiendo algo similar a esto :

[autorun]
Name = autorun
Version = 0.1
Author = qnapclubes
Date = 2013-05-06
Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun
Enable = TRUE

Note: tendremos que poner la ruta adecuada de nuestra nas e incluso podemos cambiar el nombre del directorio y archivo .sh a crear.

Crearemos el directorio :
# mkdir /share/MD0_DATA/.qpkg/autorun

Crearemos el archivo .sh con las instrucciones y comandos que deseemos :
# vi /share/MD0_DATA/.qpkg/autorun/autorun.sh
Note: hay que poner en la primera línea  "#!/bin/sh"

Cambiamos el atributo del script para que sea ejecutable:
# chmod +x /share/MD0_DATA/.qpkg/autorun/autorun.sh

Ahora al reiniciar se ejecutará el script

Ojo, has de asegurarte que la ubicación es MD0_DATA, dependiendo del raid tendrá otros nombres.



Un saludo
Agur eta ondo ibili

Hola Ganekogorta!
Gracias por el aporte.

Yo también necesito ejecutar un script al reinicio del nas y me surge una duda cuando dices:
Note: hay que poner en la primera línea  "#!/bin/sh" 

Exactamente dónde hay que añadirlo?

Justo después de declarar la creación del paquete, antes de # mkdir o donde?
Disculpa pero mis nociones de programación son prácticamente nulas...

Gracias y saludos.
  Reply




Users browsing this thread: 1 Guest(s)