jueves, 26 de agosto de 2010

DynDns y Ez-Ipupdate detrás de un Firewall

Hace un tiempito que estoy probando como firewall un dispositivo Mikrotik y la verdad que si bien no exploré al 100% estoy muy conforme con su funcionamiento. En Mikrotik existe una forma de ejecutar script con la cual se puede actualizar DynDns y otros , pero en mi caso quería saber como hacer funcionar Ez-ipupdate detrás de un firewall. Vengo usando hace tiempo Ez-ipupdate y al momento de instalarlo nos pregunta que interfase vamos a "escuchar", en este caso la IP publica la va a tener el Mikrotik por ende no funcionaría. Googleando un poco encontré este script echo el cual voy a copiar obviando algunas partes para que sea más cortito y visible. Como primera cosa tenemos que hacer un apt-get install ez-ipupdate y en la parte de configuración lo ponemos manualmente.
Creamos nuestro script en el path que queremos en mi caso vim /usr/local/bin/DynDnsUpdate

#!/bin/bash

## *** version 0.01 *** Works as designed :-)
## *** Usage ***
#add to crontab 5 * * * * /bin/sh /path-to-script/DynDnsUpdate.sh

##### Config Section
## Valid service types: null ezip pgpow dhs dyndns dyndns-static dyndns-custom ods tzo easydns easydns-partner gnudip justlinux dyns hn zoneedit heipv6tb
SERVICETYPE=dyndns

## Users name used to login to your Dyndns provider.
USER=NombreUsuario

## The users password
PASSWD=Contraseña

## The Dyndns host name you have defined on your Dyndns provider server.
DYNHOSTNAME=host.dyn-dns.com

## The directory where we will write a pid file.
PIDDIR=/tmp

## The name of our pid file.
PIDFILE=ez-ipupdate.pid

## The directory where we want to write a cache file
CACHEDIR=/tmp

## The file used for caching the ipaddress. If you are going to run more instances of this
## script on the same box, then change the cache file name below to be unique for each instance of the script.
CACHEFILE=ez-ipupdate.cache
##Log directory
LOGDIR=/tmp

## Log file
LOGFILE=dyndns-up-2-date.log

##### End Config Section

##### Best you don't mess with this line if you don't know what you are changing
IP=`wget --quiet -O - http://checkip.dyndns.org/ | awk '{print $6}' | cut -d"<" -f1`

##### the magic happens in this lines that follow... don't change anything if you don't know what you are changing.
echo >> $LOGDIR/$LOGFILE
ez-ipupdate -S $SERVICETYPE \
-u $USER:$PASSWD \
-a $IP -h $DYNHOSTNAME \
-b $CACHEDIR/$CACHEFILE \
-F $PIDDIR/$PIDFILE 2>> $LOGDIR/$LOGFILE
echo “last update done at: `/bin/date`” >> $LOGDIR/$LOGFILE
#####################################################################################

Como dice en el encabezado del script con crontab -e lo podemos ejecutar cada 5 minutos

5 * * * * /bin/sh /path-to-script/DynDnsUpdate.sh

Los meritos del script son de esta pagina: http://www.osoffice.de/

PD= También tienen un script de backup para el Zimbra que lo voy a revisar

No hay comentarios: