#!/bin/bash # ############################ Autor # Enrique Garcia # kike arroba eldemonionegro punto com # Visita # http://www.eldemonionegro.com/wordpress/archivos/2006/01/15/script-para-cdmon/ # para mas informacion # # Si mejoras o modificas este script, por favor comunica las mejoras al autor. # Gracias # # Software para la administracion de dominios # Copyright (C) 2005-2006 ############################# Licencia # Este programa es software libre. Puede redistribuirlo y/o modificarlo # bajo los teminos de la Licencia Publica General de GNU segun es publicada # por la Free Software Foundation, bien de la version 2 de dicha Licencia # o bien (segun su eleccion) de cualquier version posterior. # # Este programa se distribuye con la esperanza de que sea util, # pero SIN NINGUNA GARANTIA, incluso sin la garantia MERCANTIL implicita o # sin garantizar la CONVENIENCIA PARA UN PROPOSITO PARTICULAR. # Vease la Licencia Publica General de GNU para mas detalles. # # Deberia haber recibido una copia de la Licencia Publica General junto # con este programa. Si no ha sido asi, escriba a la # Free Software Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU. # MIRA AQUI PARA SABER MAS ==>> http://www.gnu.org/copyleft/gpl.html ############################# License # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # SEE HERE FOR MORE ==>> http://www.gnu.org/copyleft/gpl.html ########################################################################### ############################ PROTOCOLO ########################################################################### # Para poder actualizar su IP tiene que hacer una llamada a la siguiente URL: # https://www.cdmon.com/pcontrol/dnsdinamico/onlineService.php # con los argumentos via GET siguientes: # enctype=MD5 # n=nombre_de_usuario # p=contrasea_codificada_con_md5 # si la IP que quiere actualizar es diferente a la IP que le asigna el sistema # puede definir una IP propia con el argumento "cip" # cip=x.x.x.x # de modo que tendremos: # https://www.cdmon.com/pcontrol/dnsdinamico/onlineService.php?enctype=MD5&n=usuario&p=1bc29b36f623ba82aaf6724fd3b16718&cip=x.x.x.x # donde cip es opcional ya que al hacer la peticin via URL el servidor devuelve # un resultado. # # RESULTADOS: # la peticion https nos devuelve una variable con el formato siguiente: # &resultat=resultado de la peticin del servidor& # donde tenemos las siguientes opciones: # # Cuando se hace una peticin sin la variable cip y la autentificacin ha sido # correcta nos devuelve la IP actual que detecta el servidor. # &resultat=guardatok&newip=x.x.x.x& # # Cuando hemos mandado nuestra IP mediante la variable cip y la autentificacin # ha sido satisfactoria. # &resultat=customok& # # Nos devuelve este resultado cuando la autentificacin ha sido # pero la IP es erronea. # &resultat=badip& # # Nos devuelve este resultado cuando la autentificacin no ha sido satisfactoria. # &resultat=errorlogin& # # Nos devuelve este resultado en raras ocasiones, solo cuando modificamos el # archivo que procesa todas las peticiones para obligar a todos los usuarios a # actualizar a una nueva version de la aplicacion. En su caso solo tendra # que ponerse en contacto con nosotros para obtener la nueva URL para hacer la peticion. # &resultat=novaversio& # ########################################################################### ############################ BEGIN ########################################################################### ## 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=uno PASSWORDMD5=cadenainintelegible ## 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 # IFZ=ppp0 EMAIL=root@dominio #HOST=dominio 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=` IP_ACTUAL=`ifconfig $IFZ | grep "inet addr" | cut -f2 -d: | cut -f1 -d' '` echo -e $IP_DNS_ONLINE $IP_ACTUAL | mail $EMAIL -s "Reanudada la conexion a Internet" if [ "$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 ############################ END ###########################################################################