La mayor parte de la gente, tiene una conexión a internet con ip dinámica. Esto quiere decir, que la dirección ip va cambiando de tanto en tanto. No es fija.
Esto puede ser un gran problema si queremos conectarnos desde fuera de nuestra red, a un servicio que tenemos en nuestro servidor. Si la compañía cambia la ip en ese momento, nunca encontraremos nuestro servidor. Para solucionar este problema podemos utilizar servicios DNS como Duck DNS.
Tal como expliqué en el artículo del Docker de Letsencript, podemos crear una cuenta con un dominio o hasta 5 de forma gratuita y ejecutando un script en nuestro servidor, en nuestra red local, este script enviará cual es nuestra ip a Duck DNS, para que cada vez que introduzcamos el dominio que registramos en Duck DNS, redirija el tráfico hasta nuestra casa.
Yo finalmente por comodidad, he montado un docker de la comunidad LinuxServer que incluye este script. De esta manera solo tengo que programar en que momento del día quiero que se inicie este docker y él se encargará de enviar esta información.
Este es un ejemplo de como montar el docker. Tienes que sustituir SUBDOMAINS, en este ejemplo correspondería con la dirección ugeekpodcast.duckdns.org y angel.duckdns.org, el TOKEN aparece en la página de Duck DNS y TZ corresponde con la hora local del lugar donde vivas.
docker create \
--name=duckdns \
-e PGID=1000 -e PUID=1000 \
-e SUBDOMAINS=ugeekpodcast,angel \
-e TOKEN=adbqergh-av7654qwerg-qerg456-45qrg \
-e TZ=Europe/Madrid \
lsioarmhf/duckdns
Es un Token de ejemplo falso
El script se ejecuta cada 5 minutos y envía nuesta IP a los servidores de Duck DNS.
Para cambiar el tiempo de ejecución del script y que no sea cada 5 minutos, lo haremos de la siguiente manera:
Entraremos dentro del contenedor
docker exec -it duckdns /bin/bash
Editamos cron
crontab -e -u abc
En mi caso, voy ha hacer que se ejecute cada 30 minutos
*/30 * * * * /app/duck.sh 2>&1
Para comprobar que todo funcion bien, haremos un log del contenedor y veremos cada cuanto se ejecuta el script
docker logs -f duckdns
Publicado por Angel el Wednesday 09 October del 2019
También te puede interesar:
Powered by org-bash-blog
Written in OrgMode with Emacs and converted to HTML with Pandoc
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.