Servidor dedicado con IP dinámica.

Debe hacer unos dos años que utilizo un servidor local (un Poweredge t105) de verdad, nada de LAMP’s en local ni programas como xampp ó easyphp, este tipo de software acaba limitando al usuario en muchos sentidos y aunque puedan ser usables en emergéncias o casos aislados, no recomiendo a nadie que los use. La verdad es que es mejor invertir el tiempo en aprender un mínimo de sistemas para poder preparar un entorno de desarrollo de calidad que invertir el tiempo en hacer que un programa de terceros le imite.

Entonces lo que quería era tener un servidor LAMP pero completamente independiente del ordenador con que se trabajase, y es lo que hice. El sistema sería un Debian o Ubuntu (para servidores) con Apache 2, PHP 5, MySQL, Samba y opcionalmente algún servidor FTP como vsftpd ó proftpd, SSH… y todo lo que se quiera, pero lo básico es eso.

No voy a explicar como se hace eso ya que en otros sitios hay más información de la que yo sería capaz de dar. Lo que quiero explicar es cómo se prepara el servidor para que sea accesible desde internet (desde fuera) con un dominio normal y corriente. Puede parecer fácil pero no lo és tanto, resulta un problema tener una conexión con IP dinámica, pero no es nada que no se pueda solucionar.

La estructura de lo que quiero hacer sería esta:

SERVIDOR DEDICADO > SERVIDOR DNS 2 > SERVIDOR DNS 1 > ESTACIÓN DE TRABAJO

Es sencillo, pero como ya he dicho el problema es la IP dinámica. Ese problema se soluciona con un servidor dinámico de DNS y un proceso de Cron en el servidor

Cuando en la estación de trabajo se intenta acceder a un dominio – p.ej. devicelost.com – lo que hará es ir al primer servidor de DNS (sabrá cual és porque es parte de la configuración del router ó el ISP) para buscar la información de ese dominio, en concreto las direcciones del segundo servidor de DNS (que será el dinámico) con la IP del servidor dedicado actualizada.

Hay otros servicios de DNS dinámica, pero el que yo utilizo (y me funciona muy bien) es afraid.org, que nos permite actualizar la IP del dedicado de una forma sencilla, con cron, sin tener que instalar nada en el servidor. Una vez registrados en Afraid, podemos añadir nuestro dominio (que deberá tener asignadas las direcciones DNS de afraid).

DNS de Afraid.org

NS1.AFRAID.ORG
NS2.AFRAID.ORG
NS3.AFRAID.ORG
NS4.AFRAID.ORG

Esas DNS son las que hay que ponerle al dominio que se quiere utilizar, si no sabes como, hablalo con tu proveedor o la persona que lo registró.

Ahora sólo queda preparar el cron del servidor dedicado para que actualice la IP del segundo servidor DNS (el de Afraid).

Para editar el archivo de cron, sólo hay que escribir crontab -e en terminal y podremos editarlo, para que funcione con vuestro dominio deberíais tener algo como esto:

# m h  dom mon dow   command
0 * * * * wget -q --background http://freedns.afraid.org/dynamic/update.php?U2NBR2FrTVRTTUlBQVExZks4NDozNDU5NTgx
0 * * * * rm wget-log*

Cambiando esa URL por la vuestra, que podréis encontrarla en http://freedns.afraid.org/dynamic/ es el enlace a Direct URL que os aparecerá por cada dominio agregado, de esta manera la IP se actualizará automáticamente cada hora (dependiendo de la configuración que se escriba en el cron).




Josep Viciana

Programador de 28 años con una década de experiencia como programador. interesado en el diseño, ilustración y nuevas tecnologías. Dedicado desde siempre a la programación Web y desde hace algunos años también a la móvil.

5 comentarios

Muy buena la ayuda con el freedns.afraid.org pero me gustaría saber como hacer si contara con varios dominios. Y si podes comentar que hace cada comando. Gracias

Para poder tener varios dominios tienes que utilizar los virtualhost de apache. Es un archivo que tienes que editar es /etc/apache2/sites-enabled/000-default (puede ser otra ruta, en mi caso es esta).

Si yo fuera tu, haría una copia del archivo (cp 000-default 000-default.backup), borraría el original (rm 000-default) y volvería a crearlo de nuevo (nano 000-default) escribiendo la configuración que quieras, así borras el contenido de muestra.

Puedes probar a usar esto:

Listen 80

ServerName server.domain.com
DocumentRoot /www/mainserver

NameVirtualHost 172.20.30.50
<VirtualHost 172.20.30.50&rt;
   DocumentRoot /www/example1
   ServerName www.example1.com
</VirtualHost&rt;
<VirtualHost 172.20.30.50&rt;
   DocumentRoot /www/example2
   ServerName www.example2.org
</VirtualHost&rt;

Si necesitas más información mirate la página de apache:
http://httpd.apache.org/docs/2.0/vhosts/examples.html

Disculpa por no haber sido más específico en la pregunta anterior. Pero lo que preguntaba era si a medida que voy creando dominios los tengo que agregar en el crontab para que la ip con el servidor dns se actualize o con una sirve para todos los casos. Gracias por tu tiempo.
Ejemplo:

# m h  dom mon dow   command
0 * * * * wget -q --background http://freedns.afraid.org/dynamic/update.php?U2NBR***
0 * * * * wget -q --background http://freedns.afraid.org/dynamic/update.php?U2NBR***
0 * * * * rm wget-log*

Eso depende de como lo tengas configurado en la página de Afraid.

Puedes tener un dominio que sea el principal y este apunte a una dirección ip, pero el resto, sin van a ir al mismo servidor pueden “apuntar” a un dominio (el principal) en lugar de a una IP. Para eso, los siguientes dominios en lugar de estar configurados como A, tienen que configurarse como CNAME.

En la Wikipedia tienes más información: http://es.wikipedia.org/wiki/Domain_Name_System#Tipos_de_registros_DNS

Un saludo : )

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *