crear multiples zonas de DNS con bind9 rapidamente0
Administrator posted in Desarrollo de Aplicaciones Web, linux on November 28th, 2008
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