15-01-2017, 06:06 PM
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:
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:
- Añadimos la linea: 5 * * * * /bin/bash /share/CACHEDEV1_DATA/homes/admin/actualizaip.sh
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.
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:
- 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