Para quien tenga un router que no soporte los sistemas actuales de DDNS. Si tenéis algún tipo de servidor con Linux, incluso algunos routers puede que lo tengan accesible por telnet/ssh. Los requisitos son que tenga cron y curl.
- Nos buscamos el método de request, por ejemplo para no-ip.com aquí está.
http://www.noip.com/integrate/request- Creamos un script para que se ejecute cada X tiempo, por ejemplo lo más cómodo seria meter el script en /etc/cron.hourly/
#!/bin/sh
PUBLIC_IP=`wget http://ipecho.net/plain -O - -q ; echo`
curl --ssl-reqd --silent https://usuario:contraseña@dynupdate.no-ip.com/nic/update?hostname=host.dominio&myip=$PUBLIC_IP
En este caso usando una cuenta gratis, el dominio es forzosamente ddns.net. Así por ejemplo quedaría, para un host llamado "micacharro".
curl --ssl-reqd --silent https://usuario:contraseña@dynupdate.no-ip.com/nic/update?hostname=micacharro.ddns.net&myip=$PUBLIC_IP
Acordaros de darle permisos de ejecución pero no de lectura (ahí va el password) salvo al propietario, basta un:
# chmod 711 nombre_script
Si tenemos varios host, pues añadir más líneas y listo.
Fijaros que uso HTTS, lo recomiendo casi obligatorio, no mola eso de que tu login viaje en texto plano por la red. Con el parámetro --ssl-reqd de curl obligamos a que lo use y de no estar disponible no envía nada.
Si un servicio DDNS no soporta modo seguro, yo no lo usaría simplemente.