Hola:

Les envío el siguiente documento, acerca de cómo configuré el servicio de DNS dinámico en e-smith 5.6, por favor, espero que lo revisen y me hagan notar las correcciones necesarias, y si he olvidado algo Gracias!

How To: DNS Dinámico utilizando Zoneedit y DDClient 3.0 (al escribir este documento) en e-smith 5.6

Este documento explica cómo utilizar el servicio de DNS dinámico proporcionado por el proveedor gratuito Zoneedit www.zoneedit.com, utilizando el cliente escrito en Perl DDClient 3.0 (al escribir este documento), el cual se encuentra en http://members.rogers.com/ddclient/pub/ddclient.tar.gz.

_ Paso número 1: Necesitamos darnos de alta en Zoneedit http://www.zoneedit.com/signup.html, para obtener una nueva cuenta de este servicio, el cual nos permite tener hasta 5 "zonas" o dominios registrados en forma gratuita en él; información más detallada acerca de cómo podemos hacer esto la podemos encontrar en http://www.dslwebserver.com/main/sbs-zoneedit-registration.html?ref=ze (vínculo tomado de http://www.zoneedit.com/doc/dynamic.html? ), hay que resaltar que la configuración inicial se hace exactamente como si se tratara de una ip estática y no dinámica;

Paso número 2: Cuando ya tengamos configuradas los registros correspondientes a nuestras zonas, necesitamos asignales a éstos la ip que tengamos asignada en ese momento por nuestro proveedor (en nuestro caso hemos utilizado una conexión dsl); Paso número 3: Necesitamos descargar el cliente DDClient 3.0 desde http://members.rogers.com/ddclient/pub/ddclient.tar.gz, descomprimirlo con tar -xvfz ddcliente.tar.gz, movernos al directorio donde se descomprimió y proceder a su instalación: a) Copiar el archivo ddclient a /usr/sbin/ cp ddclient /usr/sbin/

b) editar el archivo sample-etc_ddclient.conf, esto para cambiar los nombre de dominio, usuarios y contraseñas, tenemos que editar los siguientes campos:

Aquí le indicamos al script que obtenga la ip actual

desde la página web de zoneedit

1. To obtain an IP address from Web status page (using

the proxy if defined) use=web, web=dinamic.zoneedit.com/checkip.html, web-skip='Ip Address:' # found after IP Address

A continuación, buscamos la sección correspondiente a ZoneEdit?, descomentamos los campos correspondientes y editamos los demás de la siguiente forma, asumiendo que nuestro dominio es dominio1.com, habiendo configurado www.dominio1.com, mail.dominio1.com y

dominio1.com apuntando a la misma ip

1. ZoneEdit? (zoneedit.com)

2.

server=www.zoneedit.com, protocol=zoneedit1, login=Miloginenzoneedit password=nuestracontraseña www.dominio1.com,mail.dominio1.com,dominio1.com

c) Copiar sample-etc_ddclient.conf, a /etc/ : cp sample-etc_ddclient.conf /etc/ddclient.conf

d) Para que ddclient se inicie como un daemon: cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient

e) Para que se inicie automáticamente: /sbin/chkconfig --add ddclient

d) Iniciar la primera vez ddclient: /etc/rc.d/init.d/ddclient start

En mi caso, por ser un servidor en uso, no he podido comprobar si realmente se inicia automáticamente ddclient al reiniciar el servidor, la única ocasión que lo he reiniciado, lo volví a iniciar manualmente.

Esto ha sido probado en un e-smith 5.6, y se encuentra funcionando adecuadamente; en este caso, hemos utilizado la página web de zoneedit para obtener la ip actual, el modem dsl está conectado a un router, y a éste está conectado el servidor e-smith por un enlace wireless de algunos kilómetros con una ip privada, el router cuenta con un panel para configurar port forwading a el servidor e-smith, pudiendo accesar desde internet a nuestra página web y recibiendo el correo en forma normal.

NOVEDAD:

Para aquellos que deseen una solución más sencilla, probada en SME 7.0 (vale para versiones anteriores), que funciona cuando tenemos un servidor en modalidad "Server-only" detrás de un Cortafuegos/Enrutador, les presento este libreto shell:

#!/bin/sh
#------------------------------------------------------------
# ZoneEdit dynamic DNS update handler.
#------------------------------------------------------------


IPADDR=`lynx --dump http://checkip.dyndns.org | awk '{print $4}'`
USERID=$2
PASSWD=$3
DOMAIN=$4
logfile=/tmp/dyndns.log

# This script will set your zone root and a wildcard A-record.
# Thus, if your domain is mydomain.org, www.mydomain.org
# will resolve as well.


wget -O $logfile \
--http-user="$USERID" \
--http-passwd="$PASSWD" \
http://dynamic.zoneedit.com/auth/dynamic.html?host="$DOMAIN",*."$DOMAIN"&dnsto="$IPADDR"


RESULT=`cat $logfile`

case "$RESULT" in
        *200*)
            logger -t zoneedit.com "Update succeeded. Domain=$DOMAIN" ;;
        *201*)
            logger -t zoneedit.com "No records need updating. Domain=$DOMAIN" ;;
        *701*)
            logger -t zoneedit.com "DOMAIN is not set up in this account. Domain=$DOMAIN" ;;
        *702*)
            logger -t zoneedit.com "Update failed. Domain=$DOMAIN" ;;
        *703*)
            logger -t zoneedit.com "One of either parameters 'DOMAINs' or 'host' are required." ;;
        *704*)
            logger -t zoneedit.com "DOMAIN must be a valid 'dotted' internet name. Domain=$DOMAIN" ;;
        *705*)
            logger -t zoneedit.com "DOMAIN cannot be empty. Domain=$DOMAIN" ;;
        *706*)
            logger -t zoneedit.com "Too frequent updates for the same host, adjust client settings. Domain=$DOMAIN" ;;
        *707*)
            logger -t zoneedit.com "Duplicate updates for the same host/ip, adjust client settings. Domain=$DOMAIN" ;;
        *)
            logger -t zoneedit.com "Unknown response $RESULT. Status was $?";;
esac

exit 0
#################################
# Shell script end
#################################

Deberán crear el fichero del libreto, llamado zoneedit, en /sbin/e-smith/dynamic-dns y luego realizar los siguientes cambios a la base de datos de configuración:

/sbin/e-smith/config setprop DynDNS Service zoneedit

Listo!


Back to Spanish documentation