miércoles, 27 de mayo de 2009

Configurar Bind9 en Debian Squeeze/Testing, DNS Server


Vaya!!! tiempo sin actualizar el Blog, la verdad es que he tenido un par de semanas algo pesaditas, la primera configurando unos servidores y la siguiente de exámenes y tareas... pero al fin aquí traigo una entrada más...

DNS... Domain Name System...

es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio. (Fuente: es.wikipedia.org)

Bind9...

BIND (Berkeley Internet Name Domain, anteriormente : Berkeley Internet Name Daemon) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estándar de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la DEC.

Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas Linux.
(Fuente es.wikipedia.org)

Instalar Bind9...

En Debian es muy sencillo hacerlo desde los repositorios, basta con abrir una terminal y ponernos como usuario root y luego escribir:

#apt-get install bind9

Configurar Bind9...


La configuración que aquí voy a explicar es para una LAN, no he intentado hacerla para Internet, pero sí utilizaremos los DNS de algún ISP para la resolución de dominios de Internet, en mi caso usaré los de Telmex...

El directorio donde se encuentran los archivos de configuración de Bind9 es:
/etc/bind/
Ahora, los archivos de configuración principales son:
  • named.conf
  • named.conf.local
  • named.conf.options
De los cuales, sólo modificaremos los últimos dos, así que comenzamos con el named.conf.local abriendolo con algún editor como root:
#nano /etc/bind/named.conf.local
Le agregamos lo siguiente:
zone "divas.com" {
type master;
file "/etc/bind/db.divas.com";
};

zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/192.168.1.rev";
};
El dominio que estoy usando como ejemplo es divas.com (no pregunten por qué jejeje) así que sólo sustituyan divas.com por el dominio que quieran... el fichero db.divas.com es donde configuramos la zona, y el fichero 192.168.1.rev es para la resolución inversa... así que pasemos a crear y configurar el fichero de la zona... como root en una terminal:
#nano /etc/bind/db.divas.com
y a continuación le agregamos lo siguiente:
$TTL 604800
@ IN SOA divas.com. admin.divas.com. (
2008080101 ;serial
04800 ;refresh
86400 ;retry
2419200 ;expire
604800 ;negative cache TTL
)
@ IN NS dns.divas.com.
@ IN A 192.168.1.75
@ IN MX 10 main.divas.com.
dns IN A 192.168.1.72
main IN A 192.168.1.75
www IN CNAME main
ftp IN CNAME main
mail IN CNAME main
vale ahora una pequeña explicación de lo anterior:
Tengo dos ordenadores, uno es exclusivamente el Servidor DNS y el otro es Servidor web, ftp, mail, ssh, samba... el Server DNS tiene la ip 192.168.1.72 y el otro la 192.168.1.75...

Al servidor multiple le denomino main, pero también le doy otros Alias, se les llama nombre canónico, para que también me pueda referir a él como www, ftp o mail.
continuemos con la zona de resolución inversa... en una terminal como root:
#nano /etc/bind/192.168.1.rev
y le agregamos lo siguiente:
$TTL 604800
@ IN SOA divas.com. admin.divas.com. (
2008080101 ;serial
04800 ;refresh
86400 ;retry
2419200 ;expire
604800 ;negative cache TTL
)
@ IN NS dns.divas.com.
@ IN A 192.168.1.75
72 IN PTR dns.divas.com.
75 IN PTR main.divas.com.

Sólo es poner la última cifra de IP de cada ordenador, ahora configuremos el named.conf.options para que utilice los DNS de nuestro ISP... yo los conseguí accesando al router con su ip, 192.168.1.254 en la sección Broadband Link>View Connection Details, ahora sólo abrimos como root el archivo named.conf.options:
#nano /etc/bind/named.conf.options
y descomentamos la parte de forwarders y lo dejamos de tal manera que quede así:

forwarders{
200.33.146.209;
200.33.146.218;
};
Esas IP's pertenecen a los servidores DNS que me proporciona Telmex....


Aplicando los cambios....

Para que todo lo que acabamos de configurar surta efecto es necesario reiniciar el daemon del bind, como root en una terminal lo siguiente:
#/etc/init.d/bind9 restart
Ahora, como muy probablemente tenemos el DHCP habilitado, se nos asigna automáticamente los servidores DNS de Telmex, así que tenemos que editar el archivo resolv.conf ubicato en /etc/ tanto de nuestro servidor DNS como de todas los demás ordenadores que quieran utilizar nuestro Servidor DNS así que como root primero editaremos el resolv.conf de nuestro Servidor DNS:
#nano /etc/resolv.conf
y le ponemos lo siguiente:
domain divas.com
search divas.com
nameserver 127.0.0.1
La IP 127.0.0.1 es para indicar que sea local, ahora editaremos el resolv.conf de todas las otras PC's que quieran que use nuestro Servidor DNS, como root:
domain divas.com
search divas.com
nameserver 192.168.1.72
Es básicamente lo mismo, sólo que ahora ponemos la IP de nuestro Servidor DNS.... ahora tenemos reiniciamos el daemon de networking en todos los ordenadores a los que hayamos modificado el fichero resolv.conf.... como root:
#/etc/init.d/networking restart

Comprobando que todo funciona...

Nos apoyaremos en el comando nslookup para este paso... en una terminal poner lo siguiente:

$ nslookup dns.divas.com
Server: 127.0.0.1
Address: 127.0.0.1#53

Name: dns.divas.com
Address: 192.168.1.72
Algo parecido a eso es lo que deberían ver si todo ha ido bien, ahora main.divas.com:
$ nslookup main.divas.com
Server: 127.0.0.1
Address: 127.0.0.1#53

Name: main.divas.com
Address: 192.168.1.75
Ahora las resoluciones inversas... es decir con las IP...
$ nslookup 192.168.1.72
Server: 127.0.0.1
Address: 127.0.0.1#53

72.1.168.192.in-addr.arpa name = dns.divas.com.

$ nslookup 192.168.1.75
Server: 127.0.0.1
Address: 127.0.0.1#53

75.1.168.192.in-addr.arpa name = main.divas.com.
vale... creo que eso sería todo por esta vez... cualquier duda o corrección por favor comentenla, que yo apenas estoy aprendiendo esto jejeje....


9 comentarios:

Jorge on 11 de julio de 2010, 12:39 dijo...

hola, he configurado el servidor DNS en mi lenny y si funciona, resuelve a las consultas que hago, nslookup, ping, pero cuando uso una maquina en XP que le pongo con dns la ip de mi servidor, no me resuelve la ip de los nombres que he configurado en el named.conf.local. Porfa si as tenido alguna experiencia con esta configuración me pasas el dato, graxias...

Pyr0S-9889 on 11 de julio de 2010, 12:46 dijo...

@Jorge

mmmm..... pues las veces que he configurado el DNS en XP siempre me funciona bien...

prueba usando un LiveCD de alguna distro y cambia el resolv.conf

también puedes probar con nmap para ver si está corriendo el servicio:

#nmap -sV IP_de_tu_server

me comentas como te fue..

Saludos

Jorge on 11 de julio de 2010, 21:02 dijo...

hola y gracias por responder, bueno el problema específico que tenía era que por ejemplo ponía nslookup maquina1 en la terminal de windows y no me respondía la consulta, pero si colocaba nslookup maquina1.midominio.com si me resolvía la consulta dandome la ip de la maquina, Entonces lo que hice fue configurar en configuraciones avanzadas de la red de xp en la parte de dns agregar midominio.com como sufijo DNS, y asi solo tengo que poner el nslookup maquina1 y no todo completando con el dominio,
Pero habrá alguna manera de no tener que colocar el sufijo en cada maquina y que coja la configuracion del servidor DNS?, graxias

Pyr0S-9889 on 12 de julio de 2010, 10:34 dijo...

@Jorge

en el ejemplo que posteo aquí, si mal no recuerdo con hacer:

nslookup main

o

nslookup dns

me respondia con las ip's de dichas maquinas... prueba a ver si así te funciona... es lo más sencillo que se me ocurre en este momento..

si no es lo que buscas me comentas y trataré de ayudarte lo más que pueda...

Saludos!

Anónimo dijo...

se puede acceder a tu servidor desde interrnet
podemos poner en internet www.divas.com y me mandaria atu server del servicio??

Pyr0S-9889 on 20 de julio de 2010, 23:03 dijo...

no... para eso tendría que registrar el dominio divas.com pero ya se encuentra registrado por alguien mas....

Anónimo dijo...

jajaja lo ponia de ejemplo , digo si tengo un dominio registrado apuntando a el servidor dns podria tener 5 servidores detras del dns y brindar servicios por sub dominio ??

Pyr0S-9889 on 21 de julio de 2010, 12:31 dijo...

mmmm.... la verdad no tengo idea XD..... pero supongo que funcionaria... puedes hacer la prueba con no-ip por ejemplo...

Anónimo dijo...

ok, lo compruevo y paso a decir que resulto de eso

Publicar un comentario

 

Pyr0S-9889 © 2008 Business Ads Ready is Designed by Ipiet Supported by Tadpole's Notez