Configurar un servidor DNS con BIND en Centos-5

Imagen de Monkito

Explicación básica para hacer un servidor de nombres de dominio

Requerimientos

  • bind-9.3.3-8.el5
  • bind-utils-9.3.3-8.el5
  • bind-chroot-9.3.3-8.el5
  • bind-libs-9.3.3-8.el5
  • Almenos una dirección IP pública
  • Un nombre de dominio

Suponiendo que:

  • Tenemos todos los paquetes antes mencionados ya instalados en nuestra pc
  • nuestro dominio es "midominio.com"
  • nuestra ip pública es 200.199.198.197

empezamos editando el fichero /var/named/chroot/etc/named.conf ha de salir algo como esto:


options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
query-source address * port 53;
};

zone "." IN {
type hint;
file "named.root";
};

zone "localdomain." IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

zone "localhost." IN {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "255.in-addr.arpa." IN {
type master;
file "named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa." IN {
type master;
file "named.zero";
allow-update { none; };
};

#include rndc.key

Le agregamos esto al final, antes de include por estética

# configuración para midominio
zone "midominio.com." {
type master;
file "midominio.com.zone";
allow-update { none; };
};

zone "198.199.200.in-addr.arpa" {
type master;
file "198.199.200.in-addr.arpa.zone";
};

Ya está la primera parte, note que si la dirección es 200.199.198.197 quiere decir que al menos pertenece a la red 200.199.198.0/24 por lo que en la resolución inversa debemos poner 198.199.200.in-addr.arpa ya que el 197 estará especificado dentro de dicho archivo.
NOTA: no es relevante que sólo nos hayan asigado algún subrango ej x.x.x.x/29 x.x.x.x/255.255.255.248

Ahora debemos crear los archivos en cuestion en el directorio /var/named/chroot/var/named/ empezando con:

  • /var/named/chroot/var/named/midominio.com.zone


; Configuración de midominio.com
$TTL 86400
@ IN SOA dns administrador (
200706247 ; Serial formato: yyyymmddn donde n es un número cualquiera
10800 ; Refresh después de tres horas
3600 ; Reintentar después de una hora
604800 ; Expirar después de una semana
86400 ) ; TTL(Time to Live) mínimo de un día

IN NS dns
midominio.com. IN A 200.199.198.197
IN MX 10 midominio.com.
dns IN CNAME midominio.com.
www IN CNAME midominio.com.

y luego el archivo de resolución inversa que deberá tener lo siguiente:

  • /var/named/chroot/var/named/198.199.200.in-addr.arpa.zone


; Resolución inversa para 200.199.198.x
$TTL 86400
@ IN SOA midominio.com. administrador (
200706246 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS midominio.com.
NS dns.midominio.com.
;
; Servers
;
197 PTR midominio.com.
197 PTR dns.midominio.com.
197 PTR www.midominio.com.

Debemos tambien cambiar el nombre de nuestra pc en la red, editando el archivo /etc/sysconfig/network

HOSTNAME=dns.midominio.com

reiniciamos y listo, solo falta un:

chkconfig named on
service named restart

Ya podemos agregar la dirección 200.199.198.197 con nombre dns.midominio.com como dns del dominio midominio.com, es necesario para la mayoría de vendedores directos de dominio como nic.ec

Para comprobar esto debemos hacer pruebas desde otra pc en la misma red con nslookup

nslookup
>www.midominio.com
>
>200.199.198.197
>

otra herramienta bajo linux bien útil es:

host midominio.com 200.199.198.197

si está en la misma pc en que siguió estos pasos puede reemplazar la ip por localhost

para saber si se tiene acceso al dns desde internet ésta página nos ofrece un nslookup on line http://centralops.net/co/

si a alguien tiene problemas con esto puedo postearlo que seguro responderé como mejor pueda.

bye

Comentarios

Link logico

Imagen de dgonzaleznet

Hay veces que hay que crear un link logico a /etc/named.conf pilas con eso me di cuenta en /var/log/messages que me pedia iniciar desde esa ubicacion y como tenia el named.conf en otro lado tuve que crear un link lógico del named.conf que tenia en /var/named/chroot/etc/named.conf y funciono, asi:

#ln -sf /var/named/chroot/etc/named.conf /etc/named.conf

version de bind 9.3.6-20 en centos 5.6

Saludos Cordiales,
Daniel González Peña

Páginas