Herramientas de usuario

Herramientas del sitio


servidores:dns:bind9_configuracion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
servidores:dns:bind9_configuracion [2008/10/03 17:01]
fmolinuevo
servidores:dns:bind9_configuracion [2019/07/11 01:04]
fmolinuevo [Agregado de IPs fijas]
Línea 1: Línea 1:
 +====== Configurando Bind9 ======
 +
 +//Por Félix Molinuevo, [[fmsi>​|FMSI Sistemas de Informática]]//​
 +
 +Lo primero es instalar el demonio, y algunos utilitarios. En Debian y derivados:
 +
 +  aptitude install bind9 dnsutils
 +
 +Luego, agregar en /etc/bind los archivos para la zona forward y reverse a crear, cambiando en todos los lugares necesarios por los valores adecuados. En este caso la zona es "​tomate":​
 +
 +===== db.192.168.11 =====
 +
 +<​code>​
 +$ORIGIN .
 +$TTL 86400 ; 1 day
 +11.168.192.in-addr.arpa IN SOA srv11.tomate. root.srv11.tomate. (
 + 961703055 ​ ; serial
 + 30 ​        ; refresh (30 seconds)
 + 600 ​       ; retry (10 minutes)
 + 604800 ​    ; expire (1 week)
 + 86400 ​     ; minimum (1 day)
 + )
 + NS srv11.tomate.
 +$ORIGIN 11.168.192.in-addr.arpa.
 +1 PTR srv11.tomate.
 +</​code>​
 +
 +===== db.tomate =====
 +
 +<​code>​
 +$ORIGIN .
 +$TTL 86400 ; 1 day
 +tomate IN SOA srv11.tomate. root.srv11.tomate. (
 + 961902882 ​ ; serial
 + 30 ​        ; refresh (30 seconds)
 + 600 ​       ; retry (10 minutes)
 + 604800 ​    ; expire (1 week)
 + 86400 ​     ; minimum (1 day)
 + )
 + NS dns.tomate.
 + MX 0 correo.tomate.
 +$ORIGIN tomate.
 +srv11 A 192.168.11.1
 +dns A 192.168.11.1
 +servidor CNAME srv11
 +correo CNAME srv11
 +</​code>​
 +
 +
 +**Importante:​** estos archivos de zona deben ser hardlinkeados a /​var/​lib/​bind para permitir que el demonio DHCP tenga acceso a modificarlos,​ ya que de otra manera AppArmor impide el acceso de lectoescritura (ver configuración en /​etc/​apparmor.d/​):​
 +
 +  ln /​etc/​bind/​db.tomate /​var/​lib/​bind/​
 +  ln /​etc/​bind/​db.192.168.11 /​var/​lib/​bind/​
 +
 +
 +Finalmente modificar los siguientes archivos de configuración de Bind:
 +
 +===== named.conf.local =====
 +
 +El "​allow-update"​ desde localhost permite que la configuración de Bind9 sea modificada desde DHCP. De esa manera, si se configura el demonio DHCP adecuadamente,​ los hosts se agregan al Bind en forma dinámica, evitando el uso de direcciones IP para acceder a los hosts.
 +
 +<​code>​
 +//
 +// Do any local configuration here
 +//
 +
 +// Consider adding the 1918 zones here, if they are not used in your
 +// organization
 +//include "/​etc/​bind/​zones.rfc1918";​
 +
 +zone "​tomate"​ {
 + type master;
 + file "/​etc/​bind/​db.tomate";​
 +        allow-update { localhost; };
 +};
 +
 +zone "​11.168.192.in-addr.arpa"​ {
 + type master;
 + file "/​etc/​bind/​db.192.168.11";​
 +        allow-update { localhost; };
 +};
 +</​code>​
 +
 +===== named.conf.options =====
 +
 +<​code>​
 +options {
 + 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 {
 + 172.16.11.201;​
 + 172.16.11.2;​
 + };
 +
 + auth-nxdomain no;    # conform to RFC1035
 +
 +};
 +</​code>​
 +
 +**Nota**: es **muy** importante prestar cuidadosa atención al editar esos archivos. Una coma, punto, espacio o cualquier cosa de más o de menos, hará que el servicio no funcione.
 +
 +===== Agregado de IPs fijas =====
 +
 +Cuando se desee asignar una IP fija a un host, en conjunto con DHCP, se deben realizar los siguientes pasos. ​
 +
 +  - Congelar la zona en cuestión:<​code>​
 +rndc freeze tomate
 +</​code>​
 +  - Agregar algo como lo siguiente en el archivo de configuración de zona forward (p.ej. db.tomate):<​code>​
 +pc10                  A       ​192.168.11.110
 +</​code>​ Notar que **no debe haber un punto luego de la dirección IP**, y que esta línea debe estar dentro de una sección:<​code>​
 +$TTL 86400      ; 1 day
 +</​code>​ Las secciones como la siguiente indican que fueron agregadas por DHCP en forma automática:<​code>​
 +$TTL 300        ; 5 minutes
 +</​code>​ y no deben agregarse hosts dentro de ellas
 +  - Agregar algo como lo siguiente en el archivo de zona reverse (p.ej. db.192.168.11):<​code>​
 +110                      PTR     ​pc10.proios.
 +</​code>​ Notar que **debe haber un punto luego del nombre de host**, y que también debe estar dentro de una sección:<​code>​
 +$TTL 86400      ; 1 day
 +</​code>​
 +  - Descongelar la zona:<​code>​
 +rndc thaw tomate
 +</​code>​
 +  - Agregar algo como lo siguiente en dhcpd.conf:<​code>​
 +host pc10 {
 +    hardware ethernet 00:​16:​ec:​3e:​32:​8e;​
 +    use-host-decl-names on;
 +    fixed-address pc10.tomate;​
 +}
 +</​code>​
 +  - Reiniciar el demonio DHCP
 +
 +===== Configuración de un DNS secundario =====
 +
 +Primero se debe agregar la siguiente línea en la configuración del DNS primario, para permitir que el secundario pueda transferir las zonas:<​code>​
 +zone "​tomate"​ {
 +             [...]
 +             
 +             ​allow-transfer { ip_secundario;​ };
 +};
 +</​code>​ Reemplazando "​ip_secundario"​ por la dirección IP del DNS secundario. Esta línea debe ser agregada tanto en la configuración forward como en la reverse.
 +
 +Luego, en el DNS secundario se deben configurar también ambas zonas, pero con los siguientes cambios:<​code>​
 +        zone "​tomate"​ {
 +             type slave;
 +             file "/​var/​cache/​bind/​db.tomate";​
 +             ​masters { ip_primario;​ };
 +        };
 +
 +        zone "​11.168.192.in-addr.arpa"​ {
 +             type slave;
 +             file "/​var/​cache/​bind/​db.192.168.11";​
 +             ​masters { ip_primario;​ };
 +        };
 +
 +</​code>​ Reemplazar "​ip_primario"​ con la dirección IP del primario o master. Las zonas quedarán almacenadas en /​var/​cache/​bind/​. Sin embargo, se debe revisar que dicho directorio tenga permisos de grabación para el usuario "​bind"​.
 +
 +Finalmente, al reiniciar el servicio se notará en el syslog la transferencia de las zonas, las que serán almacenadas en /​var/​cache/​bind. Asimismo, si ocurre un error, será indicado.
 +
  
servidores/dns/bind9_configuracion.txt · Última modificación: 2019/07/11 01:04 por fmolinuevo