Skip to main content

Configuración Bind9

Pasos a seguir para la instalación y configuración del servidor DNS BInd9 en entorno Debian 0 que hará de interno y externo usando visitas.

NOTA: Dentro de la configuración no se toma en cuenta el SPF, DKIM o DMARK.

Instalación:

sudo apt install bind9 

Habilitar bind en modo ipv4:

sudo nano /etc/default/bind9
OPTIONS="-u bind -4"
Reiniciar el servidor:
sudo systemctl restart bind9

Generar respaldos de los siguientes archivos del directorio /etc/bind/

  • named.conf
  • named.conf.locla
  • named.conf.options

Crear directorios para zonas directas e inversas tanto para resolución interna y externa:

cd /etc/bind/
sudo mkdir zones
cd zones
sudo mkdir internal
sudo mkdir external 

Editar el archivo named.conf.local para establecer la vista interna y externa, así como sus zonas directas e inversas. Se toma como ejemplo el dominio obscd.gob.bo

acl "red-interna" {
	192.168.100.0/24; 
};

view "interno" {
	match-clients { red-interna; };
	recursion yes;
	allow-recursion { red-interna; };
	# zona directa
	zone "obscd.gob.bo" {
		type master;
		file "/etc/bind/zones/internal/db.obscd.gob.bo";
		allow-transfer { none; };
		forwarders {
			1.1.1.1;
			8.8.8.8;
		};
	};
	# zona inversa
	zone "100.168.192.in-addr.arpa" {	
		type master;
		file "/etc/bind/zones/internal/db.100.168.192";
		allow-transfer { none; };
	};
	include "/etc/bind/zones.rfc1918";
	include "/etc/bind/named.conf.default-zones";
};

view "externo" {
	match-clients { any; };
	recursion no;
	# zona directa
	zone "obscd.gob.bo" {
		type master;
		file "/etc/bind/zones/external/db.obscd.gob.bo";
		allow-transfer { none; };
	};
	# zona inversa
	zone "146.243.121.186.in-addr.arpa" {	
		type master;
		file "/etc/bind/zones/external/db.146.243.121.186";	
		allow-transfer { none; };
	};
	include "/etc/bind/zones.rfc1918";
	include "/etc/bind/named.conf.default-zones";
};

Editar el archivo named.conf y comentar la última línea

include "/etc/bind/named.conf.default-zones";

Crear el archivo de zona directa para la vista interna /et/bind/zones/internal/db.obscd.gob.bo

;
; BIND data file for local loopback interface
;
$TTL	604800
@	IN	SOA	ns.obscd.gob.bo. admin.obscd.gob.bo. (
			      4		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
; name server - NS records
@	IN	NS	ns.obscd.gob.bo.
@	IN	A	192.168.100.31
; name server - A records
ns	IN	A	192.168.100.31
; A records
www	IN	A	192.168.100.31
smtp	IN	A	192.168.100.31
; MX records
@	IN	MX	10	smtp.obscd.gob.bo.

Crear el archivo de zona inversa para la vista interna /et/bind/zones/internal/db.100.168.192

;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	ns.obscd.gob.bo. admin.obscd.gob.bo. (
			      4		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	ns.obscd.gob.bo.
31	IN	PTR	ns.obscd.gob.bo.
32	IN	PTR	mail.obscd.gob.bo.
33	IN	PTR	www.obscd.gob.bo.
34	IN	PTR	smtp.obscd.gob.bo.

Crear el archivo de zona directa para la vista externa /et/bind/zones/external/db.obscd.gob.bo

;
; BIND data file for local loopback interface
;
$TTL	604800
@	IN	SOA	ns.obscd.gob.bo. admin.obscd.gob.bo. (
			      4		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
; name server - NS records
@	IN	NS	ns.obscd.gob.bo.
@	IN	A	186.121.243.146
; name server - A records
ns	IN	A	186.121.243.146
; A records
www	IN	A	186.121.243.146
smtp	IN	A	186.121.243.146
; MX records
@	IN	MX	10	smtp.obscd.gob.bo.

Crear el archivo de zona inversa para la vista externa /et/bind/zones/external/db.146.243.121.186

;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	ns.obscd.gob.bo. admin.obscd.gob.bo. (
			      3		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	ns.obscd.gob.bo.
146	IN	PTR	ns.obscd.gob.bo.
147	IN	PTR	smtp.obscd.gob.bo.
148	IN	PTR	www.obscd.gob.bo

Probar la configuración de zonas, el resultado esperado es OK

sudo named-checkconf
sudo named-checkzone obscd.gob.bo  /etc/bind/zones/internal/db.obscd.gob.bo
sudo named-checkzone obscd.gob.bo  /etc/bind/zones/external/db.obscd.gob.bo
sudo named-checkzone 100.168.192.-in-addr-arpa /etc/bind/zones/internal/db.100.168.192
sudo named-checkzone 100.168.192.-in-addr-arpa /etc/bind/zones/external/db.146.243.121.186

Aplicar la configuración

sudo systemctl reload bind9.service

Si hubiera errores al probar o aplicar la configuración se recomienda analizar los mensajes de error para posteriormente solucionar.