Como ejemplo, vamos a utilizar las siguientes direcciones IP para los servidores de DNS:
En esta guía, explicare como montar un servidor BIND 9 primario con servidores de DNS esclavos, siempre utilizando BIND 9 en todos los servidores.
Servidor Primario de DNS: 10.1.1.1 – ns1.hola.comInstalemos el paquete bind9. Esto lo hacemos de la siguiente manera:
Servidor Secundario de DNS: 10.1.1.2 – ns2.hola.com
Servidor Terciario de DNS: 10.1.1.3 – ns3.hola.com
Listo, ya esta instalado bind9.
Yo necesito que el servidor lleve un historial de las peticiones que hacen al servidor, así que modifico el archivo /etc/bind/named.conf y agrego lo siguiente al final:
logging {Ademas de esto, tengo que configurar el servidor BIND primario para que solo acepte peticiones hacia los dominios de los cuales es un Servidor de Dominio, (los dominios de los cuales el va a ser un name server) y también las direcciones IP de los servidores BIND esclavos.
channel “querylog” { file “/var/log/bind9.log”; print-time yes; };
category queries { querylog; };
};
El archivo /etc/bind/named.conf.options se encuentra configurado de la siguiente manera:
options {Le haré los siguientes cambios:
directory “/var/cache/bind”;
// If there is a firewall between you and nameservers you want
// to talk to, you might need to uncomment the query-source
// directive below. Previous versions of BIND always asked
// questions using port 53, but BIND 8.1 and later use an unprivileged
// port by default.
// query-source address * port 53;
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0′s placeholder.
// forwarders {
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
options {Explicare cada campo.
directory “/var/cache/bind”;
allow-query { 10.1.1.1/28; } ;
allow-transfer { none; };
// If there is a firewall between you and nameservers you want
// to talk to, you might need to uncomment the query-source
// directive below. Previous versions of BIND always asked
// questions using port 53, but BIND 8.1 and later use an unprivileged
// port by default.
// query-source address * port 53;
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0′s placeholder.
// forwarders {
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
recursion no;
};
acl slaves {
10.1.1.2/29; // ns2
10.1.1.3/29; // ns3
};
allow-query { 10.1.1.1/28; } ;
IP del servidor Primario de DNS
allow-transfer { none; };
Con este parámetro restringimos la transferencia de zonas a Servidores DNS esclavos que no estén autorizados. Esta es una buena medida de seguridad, ya que evitamos que personas ajenas se enteren de las direcciones IP que están dentro de la zona de DNS de un dominio.
acl slaves {
10.1.1.2/29; // ns2
10.1.1.3/29; // ns3
};
Listado de acceso (access list) de los servidores de DNS esclavos.
Después de hacer estos cambios vamos a crear una zona de DNS para el dominio hola.com.Creamos un archivo llamado hola.com.hosts en el directorio /var/cache/bind. Dentro de este archivo pondremos lo siguiente:
$TTL 86400Con esta zona de DNS de hola.com estamos apuntando, hola.com y www.hola.com hacia la IP 10.1.1.5.
@ IN SOA ns1.hola.com. root.hola.com. (
2008281000 ; serial
3600 ; refresh
7200 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS ns1.hola.com.
@ IN NS ns2.hola.com.
@ IN NS ns3.hola.com.
IN A 10.1.1.5
www IN CNAME hola.com.
Hay que tener en cuenta que los sub dominios ns1.hola.com, ns2.hola.com y ns3.hola.com, los configure con mi proveedor de dominio, (Godaddy) ya que desde el proveedor del dominio (Godaddy) indicaremos al mundo de Internet que ns1.hola.com apunta a 10.1.1.1 y asi sucesivamente con los otros servidores de DNS. Sin esto, nuestros servidores de DNS no van a funcionar.En las zonas del dominio definiremos quien puede hacer una petición de resolución de nombre al dominio, a quien le damos permiso para que pueda copiar las zonas; que en este caso solo seria a los servidores de DNS esclavos.
Agregamos la zona en el servidor primario de DNS, del dominio hola.com en el archivo /etc/bind/named.conf.localExplico que significa cada campo.
zone “hola.com” {
type master;
notify no;
allow-query { any; };
allow-transfer { slaves; };
file “hola.com.hosts”;
};
En los servidores esclavos de DNS la configuración seria la siguiente en /etc/named.conf.local:
zone “hola.com” {
type slave; masters { 10.1.1.1; };
allow-query { any; };
file “hola.com.hosts”;
};
En el servidor primario de DNS:
zone “hola.com” { Definimos el dominio.
allow-query { any; }; Cualquier computadora puede hacer una petición de DNS a este dominio.allow-transfer { slaves; }; Con este parámetro le damos permiso a los servidores esclavos de DNS que puedan hacer una copia de la zona de DNS para el dominio hola.comfile “hola.com.hosts”; Archivo donde se encuentra los parámetros de la zona para el dominio hola.com.
En los servidores de DNS secundarios:
zone “hola.com” { Dominio.type slave; masters { 10.1.1.1; }; Definimos a quien le debe pedir una copia de la zona de DNS para el dominio hola.com que en nuestro caso seria el servidor de DNS primario.allow-query { any; }; Cualquier computadora puede hacer una petición de DNS a este dominio.file “hola.com.hosts”; Archivo donde se encuentra los parámetros de la zona para el dominio hola.com.
Reiniciaremos el servicio de BIND en el servidor primario de DNS antes que los secundarios. Esto lo hacemos con el siguiente comando:
/etc/init.d/bind9 restartDespues de reiniciarlos, verificaremos en el el “syslog” que nuestros servidores de DNS secundarios esten copiando la zona de DNS para hola.com. Encontraremos un registro similar a este:
tail -f /var/log/syslog
Nov 5 15:43:57 ns1 named[1966]: client 10.1.1.2#48716: transfer of ‘hola.com.us/IN’: AXFR startedCon esto confirmamos que las zonas de DNS para hola.com fueron transferidas hacia los servidores de DNS secundarios.
Nov 5 15:43:57 ns1 named[1966]: client 10.1.1.2#48716: transfer of ‘hola.com/IN’: AXFR ended
Nov 5 15:43:57 ns1 named[1966]: client 10.1.1.3#48716: transfer of ‘hola.com/IN’: AXFR started
Nov 5 15:43:57 ns1 named[1966]: client 10.1.1.3#48716: transfer of ‘hola.com/IN’: AXFR ended
Ahora es necesario confirmar que los archivos de las zonas de DNS en los servidores secundarios se esten creando correctamente. Entramos a los servidores de DNS secundarios, y hacemos un “cat” al archivo hola.com.hosts en el directorio /var/cache/bind.
Si todo esta bien mirarian algo similiar a esto:
Felicidades, han montado un servidor de DNS primario con 2 secundarios. Cualquier duda o comentario es bienvenido.raspberry@pi:$ /var/cache/bind$ cat hola.com.hosts$ORIGIN .
$TTL 86400 ; 1 day
hola.com IN SOA ns1.hola.com. root.hola.com. (
2008281000 ; serial
3600 ; refresh (1 hour)
7200 ; retry (2 hours)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS ns1.hola.com.
NS ns2.hola.com.
NS ns3.hola.com.
A 10.1.1.5
$ORIGIN hola.com.
www CNAME hola.com.
Excelente. Claro y conciso. Gracias
ResponderEliminarHola que tal hace dias he estado intentando con servidor opnedns , ya ya lo tenia al menos con el ip pero ahora que formatie la SD y vuelvo ha ser , segun lo mismo ni puedo levantarl el servidor estoy usando una raspberry pi
ResponderEliminarGracias