crear multiples zonas de DNS con bind9 rapidamente

este post detalla como agregar dominios con zona generica

primero debemos crear la configuracion de la zona a utilizar como genérica
$ttl 1800
@ IN SOA ns1.dominio.com. root.dominio.com. (
2008112801
10800
3600
604800
1800 )
IN NS ns1.dominio.com.
IN NS ns2.dominio.com.
IN A 192.168.10.5
www IN CNAME @

debera crearse en /var/cache/bind/[nombrequequiero].zone y los ns1 y ns2 deberan existir en la zona correspondiente a “dominio.com.”

Luego, configuramos en el master… para comenzar creamos el archivo

/etc/bind/named.conf.[nombrequequiero]

al cual se le van a colocar las definiciones de la zona de esta forma:

zone "nuevodominio1.com" {
type master;
allow-query { any; };
file "[nombrequequiero].zone";
};
zone "nuevodominio2.com" {
type master;
allow-query { any; };
file "[nombrequequiero].zone";
};

una por cada dominio que se necesite, para ello se puede utilizar el script

#!/bin/bash
DOMAINSLIST=$1
for i in $(cat $DOMAINSLIST); do
echo "zone \"$i\" {"
echo "type master;"
echo "allow-query { any; };"
echo "file \"[nombrequequiero].zone\";"
echo "};"
done

que toma como entrada el nombre de un archivo de texto que tenga todos los dominios sin ningun prefijo para concatenarlo al archivo

ejemplo:

nuevodominio1.com
nuevodominio2.com
nuevodominio3.com

En el caso de los slaves tambien creamos un archivo

/etc/bind/named.conf.[nombrequequiero]

solo que en este caso el texto a incluir es de esta forma:

zone "nuevodominio1.com" {
type slave; masters { [ipdelDNSmaster]; };
allow-query { any; };
file "[nombrequequiero].zone";
};
zone "nuevodominio2.com" {
type slave; masters { [ipdelDNSmaster]; };
allow-query { any; };
file "[nombrequequiero].zone";
};

de similar forma puede generarse con el siguiente script:

#!/bin/bash
DOMAINSLIST=$1
for i in $(cat $DOMAINSLIST); do
echo "zone \"$i\" {"
echo "type slave; masters { 209.85.29.20; };"
echo "allow-query { any; };"
echo "file \"[nombrequequiero].zone\";"
echo "};"
done

y agregarlo al archivo /etc/bind/named.conf.[nombrequequiero]

ATENCION! QUE NO SE NOS OLVIDE! HAY QUE AGREGAR LA REFERENCIA AL ARCHIVO PARA QUE SE INCLUYAN LAS ZONAS

/etc/bind/named.conf.[nombrequequiero]

EN
/etc/bind/named.conf

al final de las zonas existentes del named.conf incluimos dicho archivo de la siguiente forma:

include "/etc/bind/named.conf.3rdtierdomains";

reiniciamos el bind del slave o los slaves, si se tiene habilitada la salida a syslog, podran ver que las zonas reportan error…

Luego reiniciamos el bind del master y listo! una forma práctica de crear varias zonas de DNS

Comparte Este Post:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • FriendFeed

About fboiton

I'm a Software Developer specialized in Web Solutions for Large Scale and High Availability Applications, with more than 8 years of experience in Web Applications development. Software Architecture, Team Management and Continous Improvement are my bigger interests. Specialties ASP.NET, SQL Server, Web Development in general, Linux Servers, Software Architecture, Team Management.
This entry was posted in Desarrollo de Software, linux and tagged , , , , . Bookmark the permalink.

Leave a Reply