[Bash] Cdmon

Este script es uno que hice hará 4 o 5 años, cuando usaba un dominio que tenía contratado con CDMON, para poder utilizarlo con un servidor que tenía en casa (y por tanto con IP dinámica). Interactúa con la API de CDMON y actualiza la IP en el sistema de DNS Dinámica de este ISP.
Actualmente, no obstante existe una versión mejorada en http://info.cdmon.com/uploads/dnsdinamico/dincdmon.txt

## Datos de usuario de CDMON.ORG
# USUARIO = es el nombre de usuario para entrar en CDMON.ORG
# PASSWORDMD5 = Es la contrasenia para entrar en CDMON.ORG encriptada con
#el algoritmo MD5. Hay programas (tambien online) para ello.
#USUARIO=tu-usuario-de-cdmonPASSWORDMD5=tu-password-de-cdmon-encriptada
## Datos propios de la maquina donde ejecutamos el script# IFZ = Interfaz de red que se conecta a Internet
# EMAIL = Direccion de correo donde enviar las notificaciones de los cambios#comentamos esto ya que no lo necesitaremos para esta variante
#IFZ=eth1EMAIL=tu@correo.com#Dejamos de usar cdmon para obtener la IP, ya que siempre nos va a dar la IP que estamos usando en este momento
#GET_IP="https://www.cdmon.com/pcontrol/dnsdinamico/onlineService.php?enctype=MD5&n=$USUARIO&p=$PASSWORDMD5"
#IP_DNS_ONLINE=`wget $GET_IP -o /dev/null -q -O /dev/stdout | cut -f2 -d\& | cut -f2 -d=`
#En su lugar, primero observamos hacia donde esta resolviendo nuestro dominio. En mi caso concreto, como lo tengo aliaseado en host para poder acceder a traves de la DNS, especifico un servidor de dns
IP_DNS_ONLINE=$(host tu.dominio.com 212.145.4.98 | grep tu.dominio.com | awk {‘print $4′})
#Como no podemos sacar la IP a través de ifconfig, ya que nos devuelve la IP interna y nola real, la sacamos por whatismyip
IP_ACTUAL=`lynx -dump http://www.whatismyip.com | grep "Your IP Is"| cut -c 38-52`echo $IP_DNS_ONLINE $IP_ACTUAL
#Eliminamos el correo con las dos IP’s ya que si es la misma molesta más que otra cosaif [ "$IP_DNS_ONLINE" != "$IP_ACTUAL" ]; then    CHANGE_IP="https://www.cdmon.com/pcontrol/dnsdinamico/onlineService.php?enctype=MD5&n=$USUARIO&p=$PASSWORDMD5&cip=$IP_ACTUAL
RESULTADO=`wget $CHANGE_IP -o /dev/null -O /dev/stdout`
MENSAJE="Ha habido un cambio en la IP de los nombres de dominio.\n"
MENSAJE=$MENSAJE"Se han actualizado los servidores DNS dinamicos de CDMON.\n"
MENSAJE=$MENSAJE"El resultado devuelto ha sido el siguiente:\n"
echo -e $IP_DNS_ONLINE $IP_ACTUAL $MENSAJE $RESULTADO | mail $EMAIL -s "cambio de IP"
fi

3 comments for “[Bash] Cdmon

Deja un comentario