Montar un servidor web casero (Parte y II)
Ver la primera parte de este artículo.
Bueno, ya tenemos nuestro servidor instalado, y hemos configurado nuestro router para que el “mundo mundial” pueda llegar a nuestra máquina, hemos hecho la parte más difícil, vamos ahora a por unos detalles que nos facilitan la vida:
Servicio DNS dinámico
Es mucho más cómodo encontrar nuestra máquina usando http://miservidor.dominio.com que tener que memorizar una dirección IP, y que además puede cambiar en cualquier momento. Por esto y por si no eres de los pocos afortunados que tienen una dirección IP fija, necesitas los servicios de un DNS dinámico.
Existen varios servicios de este tipo en Internet, uno de los más populares y el que vamos a utilizar en esta guía es dyndns.com. Además de ofrecer otros productos típicos de cualquier ISP, la gente de DynDNS, nos permite disponer gratuitamente de un servicio de DNS dinámico. Para ello, lo primero que tenemos que hacer es registrarnos y crearnos una cuenta, este primer paso es completamente grátis y suficiente para nuestras necesidades.
En el proceso de registro, nos pedirá un nombre de usuario y dirección de correo, es muy importante que facilitemos una dirección de correo válida, porque será en esta dirección donde nos llegarán los avisos de expiración de registro, veremos más adelante que significa esto.
De momento, si ya tenemos nuestro usuario y nos hemos identificado correctamente, debemos ir a My Services:

Dentro de esta sección administramos los servicios que nos ofrece DynDNS, vamos a la opción en el menú izquierdo My Hosts > Dynamic DNS. Hacemos clic en el enlace Add Host para crear un nombre para nuestro servidor, en este formulario, hay información importante que debemos comentar:

En el campo hostname, introduciremos el nombre que queramos darle a nuestra máquina, hay que tener en cuenta que nuestro nombre de host irá sobre unos dominios de segundo nivel que DynDNS pone a nuestra disposición, por ejemplo: homeip.org, homelinux.net, etc.
Por tanto, escogeremos el dominio que más nos guste del desplegable y pondremos el nombre para nuestra máquina. En el campo IP address aparecerá informada la dirección IP externa con la que estamos saliendo a Internet, la dejamos informada y pulsamos el botón Add Host. Si tenemos suerte y nuestro nombre + dominio escogido no ha sido registrado por alguien antes, ya tendremos creado un nombre de host que direcciona a nuestro servidor de casita. Si el nombre ya existe, paciencia e ir probando combinaciones con otros dominios u otros nombres.
Bueno, pues ya tenemos un nombre para nuestro servidor, ahora para probarlo debemos intentar navegar desde fuera de nuestra LAN, o pedirle a algún coleguilla que intente acceder via http a nuestro host. Si intentamos acceder a nuestro nombre de servidor desde nuestra red privada no podremos llegar al servidor web con la dirección externa, si queremos ver nuestra web debemos utilizar la dirección interna, según nuestro ejemplo 192.168.1.15
Actualizar automáticamente nuestra IP dinámica
Vale, ya tenemos el nombre de servidor y se supone que podemos acceder, ¿Qué pasa si cambia la dirección con la que salimos a internet?
Pues sencillamente que se nos desmonta el invento, a no ser que vayamos de nuevo a nuestro panel de control del DynDNS y actualicemos la IP en nuestro host. Evidentemente, hacer esto manualmente no es la solución, así que recurrimos a la utilidad ddclient.
ddclient es una utilidad escrita en Perl, que nos permite automatizar los cambios de IP en los registros de DynDNS. Podemos configurar ddclient para que periodicamente compruebe si nuestra IP externa ha cambiado y envíe los cambios al servidor de DynDNS.
Afortunadamente, diría que ddclient está disponible para la mayoría de distribuciones de linux, así que sea cual sea nuestra distro, seguro que no tendremos dificultades en localizarlo. En nuestro ejemplo utilizamos un servidor CentOS 4.2 así que buscaremos un rpm para Red Hat Enterprise Linux 4. Lo bajamos de aquí, concretamente nos bajamos la versión 3.6.7 a nuestro servidor web. Desde una consola como usuario root, instalamos ddclient:
rpm -i ddclient-3.6.7-1.2.el4.rf.noarch.rpm
Ahora vamos a configurarlo, editamos el fichero /etc/ddclient/ddclient.conf. El fichero tiene un montón de posibles opciones comentadas, detallo las imprescindibles para que la cosa funcione:
# Muy importante retocar esta variable,
# si chequeamos muy a menudo
# nuestro servidor, la gente de DynDNS
# nos bloqueará el servicio por abusones
# un buen valor es cada hora 60 * 60 = 3600 segundos
daemon=3600
protocol=dyndns2
# Esta opcion obtiene
# automáticamente nuestra ip externa
use=web, web=checkip.dyndns.org
# Estos son los valores utilizados
# en la autenticación
server=members.dyndns.org
login=ponaquituusuariodedyndns
password=pontupassworddedyndns
# A continuación especificamos el nombre
# de nuestro host que hayamos
# registrado en DynDNS
nombredehost.dominio
Guardamos el archivo con nuestros cambios, y configuramos ddclient como daemon para que automáticamente realice las comprobaciones:
chkconfig --level 345 ddclient on
Y arrancamos el servicio:
service ddclient start
Para saber si la cosa ha ido bien, lo más rápido es consultar el log del sistema, si hacemos un:
tail /var/log/messages
Deberiamos ver algo parecido a esto:
Jan 15 19:15:10 hydra ddclient: Iniciación de ddclient succeeded
Jan 15 19:15:12 hydra ddclient[8034]: SUCCESS: updating hydra.dynalias.org: nochg: No update required; unnecessary attempts to change to the current address are considered abusive
Bueno, y con esto damos por finalizamos nuestro briconsejo de hoy. Espero que esta guía sea de vuestra ayuda.
Noviembre 1st, 2006 at 20:03
exelente yo utilizaba debian entre otras cosas por que me era muy facil l configuracion solo apt-get install ddclient y ponias todos tus datos pero ahora estoy empezando con centos y no habia en contrado la forma de instalar ddclient
pom otro lado como configuras un servidor de correos para que salga atravez dee los servidores de ddclient
y no tu ip publica
y a su vez no sean rechazados
Noviembre 16th, 2006 at 21:43
Hola Arturo,
Gracias por tu interés, pero no acabo de entender tu pregunta sobre el servidor de correo.
¿Puedes concretar un poco más?
Noviembre 20th, 2006 at 21:27
perdon por no explicarme bien
mira usando un servicio como dyndns puedes instalar un servidor de correos digamos en centos con sendamail dovecot…etc..etc
recibes bien correos de todos lados sin ningun problema la situacion es que eres considerado spam por tu ip y obviamente rechazado en muchos lugares
mi pregunta es ¿sabes como configurar sendmail para salir (pagando claro) atraves de los sevidores de dyndns?
si tienes la solucion publicala en tu pagina
gracias por tu respuesta
Agosto 7th, 2007 at 23:16
por favor nesecito ayuda para poder configurar un servidor web centos gracias
Octubre 17th, 2007 at 1:40
Hola
¿existe la posibilidad de tener acceso desde internet a tus servidores internos cuando más de uno sirve a través del puerto 80 ?
Por ejemplo (/etc/hosts):
192.168.1.1 DD-WRT
192.168.1.10 web
192.168.1.11 camaraIP1
192.168.1.12 camaraIP2
Detalles:
DD-WRT Router linksys DD-WRT VeryBusyBox v1.2.1
web Windows 2000 advanced server SP4
camaraIPx 2 Linksys Compact Wireless-G cameras.
Si el web y las 2 cámaras sirven http en el puerto 80 necesito, por ejemplo, acceder tanto a camaraIP1.midominio.com como a web.midominio.com en forma “transaparente” desde fuera.
cualquier ayuda es bienvenida
Octubre 17th, 2007 at 20:17
Hola Cotero,
Así a bote pronto se me ocurren un par de posibilidades:
No conozco con detalle tu router, pero en general la configuración de NAT sólo permite redirigir el tráfico en un puerto a una IP interna.
Lo ideal sería:
Configurar las cámaras para que “escuchen” en otro puerto y configurar el router para que redireccione los nuevos puertos.
También se me ocurre que se pueden definir más puertos en el NAT, por ejemplo el puerto 81 para que apunte a otra IP, 82 a otra, etc.
Veo que tienes Windows 2000, y ya no me acuerdo de las posibilidades del IIS, pero si tuvieras Apache con el mod_proxy y las directivas ProxyPass puedes hacer que determinadas URL se redirijan a otras máquinas de tu LAN.
Espero que te sirva de ayuda.
Junio 7th, 2008 at 3:03
hola oie el “rpm -i ddclient-3.6.7-1.2.el4.rf.noarch.rpm” no me funciono, que hago mal? io utilizo CentOS 4.4 Server..