Escrito este "Tutorial" porque me he visto en la necesidad de realizar esto en mi raspberry pi... y decidí poner aquí como lo hice por si le viene bien a alguien. NOTA: esto lo estoy escribiendo a día 16/10/2017, si cuando leas esto han pasado 3 años o mas es posible que no coincida con la actualidad.
Estaba (y estoy) harto de No-IP que cada mes hay que confirmar el host, o si no no actualiza, etc.... así que busqué una alternativa Gratuita..... y encontré esta.
Antes de que nadie me diga "Estas robando" o alguna cosa de estas que dicen en los foros, esto es una "transcipción" básicamente de lo que se indica en esta pagina.
https://thelastmaimou.wordpress.com/201 ... s-service/
Yo esto lo estoy realizando en una Raspberry PI con OSMC. Pero tiene que funcionar casi en cualquier sistema linux, salvo Libreelec y similares que traen el sistema de ficheros capadisimo...
1º Crear usuario en Freedns
-Entrar en la url Freedns.afraid.org (DNS Dinamico Gratuito)
Nota. si no aparece esta pagina entrar en mail menu normal y como no tendras usuario y contraseña indicara para que hay que logarse y debajo pondrá un texto como "Setup an account here" pinchar en el.
-Rellenar los datos
-En el correo indicado revisar, pues tiene que llegar un mail para confirmar la creación de la cuenta . En algunos correos puede llegar en SPAM o Correo no deseado.
-Confirmar la cuenta.
2º Crear Subdominio.
-Acceder a la URL https://freedns.afraid.org
-En el lateral izquierdo de la pagina pinchar en "[ Subdomains ]" (Si no estas Logado pedira usuario y clave)

-Pinchar sobre "Add" para crear uno nuevo (Es posible que si no tienes ninguno aparezca directamente la opción de crear)

-Rellenar los datos (Mantener como Type A).

En este ejemplo quedaría de la siguiente manera "DominioDePrueba.mooo.com"
NOTA - Si no os gusta los nombres que propone desde ahí es posible elegir un nombre entre varios miles. pinchando en [ Registry ] y eligiendo entre los miles de posibles "dominios" cedidos y rellenando los datos.

3º Obtener dirección de actualización de IP.
-En el lateral izquierdo pinchamos sobre [Dynamic DNS]
-En la parte inferior de la pagina nos mostrara el/los dominios creados.
-En cada dominio aparecerán varias opciones, una de ellas es "Direct URL"

-Pulsamos botón derecho sobre esa opción y "Copiar Enlace" (Dependiendo del navegador puede aparecer de otra manera)
-Copiamos nos tendremos que quedar con el hash que hay a partir de la Interrogación "?"
Sera un "chorizo como" "https://freedns.afraid.org/dynamic/upda ... 4gw3tggs3S[/b]" (o similar)
4º Crear Script para actualización.
NOTA: Si usas OSMC tendras que instalar desde su "tienda" (gratis) el servicio Cron.
- Acceder a una terminal de nuestra Raspberry (Putty ssh o si tienes un raspbian de escritorio o similar abriendo la terminal)
-Crear un script en la carpeta /etc/cron.d , yo uso nano para editarlo .
Código: Seleccionar todo
sudo nano /etc/cron.d/freedns_update.sh
Código: Seleccionar todo
#!/bin/sh
# freedns_update.sh: Update the public IP on freedns.afraid.org only if it has changed.
## Place this script in the cron's job directory /etc/cron.d and assign the proper permissions
## and owner
## sudo chmod 500 /etc/cron.d/freedns_update.sh
## sudo chown root:root /etc/cron.d/freedns_update.sh
## Add to /etc/crontab to execute on reboot and every 5 minutes
## Edit /etc/crontab and append these two lines:
## @reboot root /etc/cron.d/freedns_update.sh >/dev/null
## */5 * * * * root /etc/cron.d/freedns_update.sh >/dev/null
#Use your own values
DOMAIN=raspberry.liar.info.tm
HASHKEY=c29Q2s1Ml9df604bba2b1359ff62MTEyMT185e7=
UPDATE_URL="http://freedns.afraid.org/dynamic/update.php?${HASHKEY}"
current_ip=$(wget -q --output-document - http://checkip.dyndns.org | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}')
registered_ip=$(ping -qn -c 1 $DOMAIN | head -n 1 | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}')
if [ "${current_ip}" != "${registered_ip}" ]; then
wget -q --read-timeout=0.0 --waitretry=5 --tries=400 --output-document /dev/null $UPDATE_URL
if [ $? -eq 0 ]; then
echo "$(date +"%b %_d %T") $(hostname) $0: IP address updated on freedns.afraid.org: new IP '${current_ip}', old IP '${registered_ip}'" >> /var/log/messages
else
echo "$(date +"%b %_d %T") $(hostname) $0: ERROR IP address could not be updated on freedns.afraid.org: current IP '${current_ip}', registered IP '${registered_ip}'" >> /var/log/messages
fi
fi
Código: Seleccionar todo
DOMAIN=Por el Subdominio que hemos creado en el paso 2
HASHKEY=Por lo que hay a partir de la ? en Direct URL
CTRL + o (para guardar)
CTRL + x (Para salir del editor)
-Ahora damos permisos de ejecución al fichero
Código: Seleccionar todo
sudo chmod 555 /etc/cron.d/freedns_update.sh
Código: Seleccionar todo
sudo chmod 500 /etc/cron.d/freedns_update.sh
sudo chown root:root /etc/cron.d/freedns_update.sh
Si hemos ubicado el archivo donde se indica en /etc/cron.d ... realizamos lo siguiente
Código: Seleccionar todo
sudo nano /etc/crontab
Código: Seleccionar todo
@reboot root /etc/cron.d/freedns_update.sh >/dev/null
*/5 * * * * root /etc/cron.d/freedns_update.sh >/dev/null
CTRL + x (Para salir del editor)
Ahora podemos o reiniciar la raspberry o realizar un
Código: Seleccionar todo
sudo /etc/init.d/cron restart
Intentaré modificar este POST para añadir pantallazos. y dejar todo mas bonito, pero me encuentro en un sitio con el internet Capado en este momento.