Herramientas de usuario

Herramientas del sitio


servidores:dns:bind9_configuracion

Configurando Bind9

Por Félix Molinuevo, 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

$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.

db.tomate

$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

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.

//
// 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; };
};

named.conf.options

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

};

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.

  1. Congelar la zona en cuestión:
    rndc freeze tomate
  2. Agregar algo como lo siguiente en el archivo de configuración de zona forward (p.ej. db.tomate):
    pc10                  A       192.168.11.110

    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:

    $TTL 86400      ; 1 day

    Las secciones como la siguiente indican que fueron agregadas por DHCP en forma automática:

    $TTL 300        ; 5 minutes

    y no deben agregarse hosts dentro de ellas

  3. Agregar algo como lo siguiente en el archivo de zona reverse (p.ej. db.192.168.11):
    110                      PTR     pc10.proios.

    Notar que debe haber un punto luego del nombre de host, y que también debe estar dentro de una sección:

    $TTL 86400      ; 1 day
  4. Descongelar la zona:
    rndc thaw tomate
  5. Agregar algo como lo siguiente en dhcpd.conf:
    host pc10 {
        hardware ethernet 00:16:ec:3e:32:8e;
        use-host-decl-names on;
        fixed-address pc10.tomate;
    }
  6. 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:

zone "tomate" {
             [...]
             
             allow-transfer { ip_secundario; };
};

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:

        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; };
        };

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