Configurar un DNS de horizonte dividido maestro/esclavo con Bind

Instalación de Bind

El primer, y necesario, paso consiste en instalar Bind. Para ello vamos a recurrir al trabajo de Ondřej Surý quien se ha encargado de disponibilizar paquetes BIND 9.16.6 para Debian GNU/Linux 9 y 10.

$ apt-get -y install apt-transport-https lsb-release ca-certificates curl
$ wget -O /etc/apt/trusted.gpg.d/bind.gpg https://packages.sury.org/bind/apt.gpg
$ sh -c 'echo "deb https://packages.sury.org/bind/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/bind.list'
$ apt-get update

Un detalle importante tiene que ver con los archivos de registro (logs) personalizados. En caso que hagamos uso de esta característica, será necesario crearlos antes de iniciar bind ya que no lo hace de manera automática. De lo contrario encontraremos mensajes de error como

ago 06 08:21:46 nssv named[2837]: isc_stdio_open '/var/log/named/rate_limit.log'
ago 06 08:21:46 nssv named[2837]: configuring logging: permission denied
ago 06 08:21:46 nssv named[2837]: loading configuration: permission denied
ago 06 08:21:46 nssv named[2837]: exiting (due to fatal error)

Así que, creamos los archivos y les asignamos los permisos necesarios.

$ mkdir -p /var/log/named
$ chmod 0775 /var/log/named
$ cd /var/log/named
$ touch {lame,queries,query-error,rate_limit,security}.log
$ chmod 664 *.log