DNS Interno, caché y DHCP

Posted on mayo 8, 2007. Filed under: Servicios de sistema |

En este nuevo proyecto, he debido configurar DNS privado, caching y DHCP, y para no hacerlo con BIND o djbdns, me he puesto a la tarea de buscar información, todo esto requerido, para ir migrando la plataforma a software libre, sobre todo el maligno servidor AD de Mocosoft que tengo en este Organismo, al cual exorcizare con OpenLDAP.

Cuando un fulano ingresa en el explorador la direccion: http://www.dominio.com lo que hace es recurrir a un servidor de nombres para que le convierta http://www.dominio.com a una dirección IP que es en realidad la identidad verdadera del servidor, eso es en síntesis lo que hace un DNS.

En el caso del DHCP (Dynamic Host Configuration Protocol), asigna una IP aleatoria sin necesidad de que el cliente lo haga, el servicio DHCP se encargará de negociar con el host cliente (computadora) la asignación de una IP en la LAN, de este forma el proceso es automático y trasparente para el usuario.

El DNS Cache a su vez cumple la siguiente función cuando alguien dentro de la red local hace una consulta a http://www.dominio.com y el DNS traduce el nombre en una IP, el DNS Caché almacenara esta relación IP/Dominio en un caché para que cuando alguién vuelva a preguntar por http://www.dominio.com no se vaya hasta el servicio de DNS de su proveedor, sino que el DNS Caché responda inmediatamente, esto podría decirce acelera en algo nuestra consulta de nombres y mejora así el trafico de la red.

DNS Interno, lo que hace es resolver direcciones dentro de la LAN, por ejemplo si tenemos un mail.dominio.com que va asociada a una dirección IP en nuestra LAN por ejemplo 192.168.1.52 pues con DNS interno haremos este redireccionamiento de direcciones locales, esto evita que esas peticiones a mail.dominio.com se vayan hasta internet y luego regresen de nuevo, esa es mas o menos la idea.

Todo esto lo tenemos en una sola y ligera herramienta, la cual se llama “dnsmasq”, es un pequeño software que hace toda esta actividad con solo configurar unos cuantos parametros.

SO: Linux Ubuntu Server 7.4 (Debian)

Para tener en cuenta algo, el que será nuestro servidor DNS de todas formas consultará otros DNS (puede que sean los de nuestro proveedor de internet u otros como los de OpenDNS) pero tendrá la ventaja de que estará cacheando cada consulta, lo cual de todas maneras agilizará las consultas hacia el exterior. Resumen: Por todos lados salimos ganando.

Lo primero es instalar el paquete, en mi caso Ubuntu, lo haré con apt-get:

# apt-get install dnsmasq

El fichero de configuración global es: /etc/dnsmasq.conf

Editamos el fichero con:

# vi /etc/dnsmasq.conf

El fichero tiene comentarios bien puntuales, pero para lo que necesitamos basta con editar solo parametros, dado esto iremos directo a ellos:

Le colocaremos un dominio:

domain=midominio.com

Luego asignamos los rangos con los que queremos que trabaje el DHCP:

dhcp-range=192.168.10.100,192.168.10.254,12h

Se habrán percatado de que empiezo desde la 192.168.10.100 y termino en 192.168.10.254, y le coloco 12h como tiempo dedicado, luego de esto guardamos los cambios porque ya tenemos DHCP server.

DNS CACHÉ

Ahora vamos por el DNS Caché que también será el servidor DNS Interno de nuestra LAN ya que el mismo dnsmasq como dhcp se encargará de asignarselo a sus clientes.

Para esto lo único que hay que hacer es editar el fichero /etc/resolv.conf y en vez colocar los dns de nuestro proveedor, colocaremos como DNS Primario nuestro localhost (127.0.0.1), y DNS Alternativos los de nuestro proveedor, cosa que cada consulta primero ira al al localhost, algo similar a esto:

search midominio.com
# DNS INTERNO
nameserver 127.0.0.1
# DNS ISP
nameserver 200.44.32.12
nameserver 200.44.32.13

Con esto ya tenemos el DNS Caché corriendo, y lo comprobarán si previo al cambio en el resolv.conf hicieron un dig http://www.google.com.pe y analizan el tiempo de respuesta en ambos caso antes y después del cambio.

DNS Interno

Finalmente colocaremos nuestro propio DNS Resolver Interno, el cual basicamente resolverá direcciones internas, tipo IP/nombre_del_equipo, por ejemplo, como explicaba líneas arriba, si tenemos un mail.pepitochronicles.com y esta asociada a una dirección publica en internet, claro esto si nos joderá el tráfico y probablemente nos obligue a hacer cambios en firewall/router para poder cojer DNS externos y resolver la dirección, pero si tenemos un DNS resolver interno basta con configurar el /etc/hosts

# vi /etc/hosts

Deberán agregar líneas similares a estas:

192.168.10.58 mail.midominio.com mail

De este modo cualquiera que pretenda hacer ping a mail.pepitochronicles.com lo redireccionará a la IP 192.168.10.58 que es la IP del correo de modo local.

Ahora el servicio de DHCP se encargará de colocarles a los clientes como DNS Primario la IP de nuestro DNS Resolver Interno, y asi finalmente iniciamos el servicio y verificamos que funcione.

[root@vulcano]# /etc/init.d/dnsmasq start
Starting Lightweight caching nameserver (dnsmasq): OK

Verificamos con algun cliente en la LAN, en mi caso obtuve la configuración de una estación Windows, mediante: ipconfig /all

Ethernet adaptador Conexión de área local:
Sufijo DNS específico de la conexión. : midominio.com
Descripción . . . . . . . . . . . . . : Controlador Fast Ethernet
Dirección física. . . . . . . . . . . : 00-B0-C0-EC-C0-F8
DHCP habilitado . . . . . . . . . . . : Sí
Configuración automática habilitada . : Sí
Dirección IP. . . . . . . . . . . . . : 192.168.10.198
Máscara de subred . . . . . . . . . . : 255.255.255.0
Puerta de enlace predeterminada . . . : 192.168.10.1
Servidor DHCP . . . . . . . . . . . . : 192.168.10.1
Servidores DNS. . . . . . . . . . . . : 192.168.10.1

Como verán tanto DNS Caché, DNS Resolver Interno, DHCP se ven integrados en algun punto de la configuración, claro que pueden funcionar muy bien por separado, ya es cosa de cuanto queramos trabajar con la configuración.

Saludos,
Raúl Díaz Montes de Oca.

Make a Comment

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Liked it here?
Why not try sites on the blogroll...

A %d blogueros les gusta esto: