BIND9 – Instalação via source da versão 9.11.x no debian 9.4

Introdução

Na configuração padrão de instalação do Bind de muitas distribuições, você descobrirá que as atualizações seguras não funcionam com o Samba 4. Você receberá erros em /var/log/messages ou /var/log/syslog indicando que a atualização ‘<nome do cliente>’ foi negada. Isso ocorre porque o rpm/deb/pkg foi compilado com o sinalizador ‘disable-isc-spnego’ e/ou sem suporte a bind-dlz. Para corrigir isso, você precisará recompilar ou instalar via source a distribuição rpm/deb/pkg.

https://wiki.samba.org/index.php/Using_BIND_DLZ_backend_with_secured_/_signed_DNS_updates

Exemplos

Instalação feita via apt install bind9:

# named -V
BIND 9.10.3-P4-Debian <id:ebd72b3>
built by make with '--prefix=/usr' '--mandir=/usr/share/man' '--libdir=/usr/lib/x86_64-linux-gnu' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--with-python=python3' '--localstatedir=/' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-gost=no' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--with-atf=no' '--enable-ipv6' '--enable-rrl' '--enable-filter-aaaa' '--enable-native-pkcs11' '--with-pkcs11=/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so' '--with-randomdev=/dev/urandom' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/bind9-zVMG3I/bind9-9.10.3.dfsg.P4=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing -fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
compiled by GCC 6.3.0 20170516
compiled with OpenSSL version: OpenSSL 1.0.2l  25 May 2017
linked to OpenSSL version: OpenSSL 1.0.2l  25 May 2017
compiled with libxml2 version: 2.9.4
linked to libxml2 version: 20904

Instalação/compilação feita a partir do source:

# named -V
BIND 9.11.0 (Development Release) <id:29b3a7d>
running on Linux x86_64 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28)
built by make with '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--localstatedir=/var' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-dlz-postgres=no' '--with-dlz-mysql=no' '--with-dlz-bdb=yes' '--with-dlz-filesystem=yes' '--with-dlz-ldap=yes' '--with-dlz-stub=yes' '--with-dlopen=yes' '--with-geoip=/usr' '--enable-ipv6' 'CFLAGS=-fno-strict-aliasing'
compiled by GCC 6.3.0 20170516
compiled with OpenSSL version: OpenSSL 1.1.0f  25 May 2017
linked to OpenSSL version: OpenSSL 1.1.0f  25 May 2017
compiled with libxml2 version: 2.9.4
linked to libxml2 version: 20904
compiled with zlib version: 1.2.8
linked to zlib version: 1.2.8
threads support is enabled

Note que na versão instalada via apt, as opções --with-dlz-ldap--with-dlz-filesystem=yes não estão presentes.

Sugiro a instalação via source.

OBS: Uma desvantagem da instalação via source é que não faz a criação dos arquivos de configurações. Dessa forma sugiro antes da instalação via source fazer uma instalação normal.

apt-get install bind9

E logo apos isso realizar a desinstalação.

apt-get remove bind9

Dependências

Execute em um terminal:

apt-get update
apt-get install devscripts build-essential libkrb5-dev debhelper libssl-dev libtool bison libdb-dev libldap2-dev libxml2-dev libgeoip-dev dpkg-dev

Download

O download da versão estável do bind pode ser feito abaixo.

ftp://ftp.isc.org/isc/bind9/

Acesse o link e escolha a versão 9.11.x, pois ainda é a unica suportada pelo samba4 na questão do bind0_dlz.

Em um terminal execute:

cd /usr/src
wget ftp://ftp.isc.org/isc/bind9/9.11.4rc1/bind-9.11.4rc1.tar.gz

Instalações

É necessário instalar algumas dependências para o bind.

Instalação do bind9

Descompacte o bind com o comando:

tar -xvzf bind-9.11.x.tar.gz

Acesse a pasta descompactada e execute o comando abaixo.

cd bind-9.11.x/
fakeroot ./configure --prefix=/usr --mandir=/usr/share/man \
--infodir=/usr/share/info --sysconfdir=/etc/bind \
--localstatedir=/var --enable-threads --enable-largefile \
--with-libtool --enable-shared --enable-static \
--with-openssl=/usr --with-gssapi=/usr --with-gnu-ld \
--with-dlz-postgres=no --with-dlz-mysql=no \
--with-dlz-bdb=yes --with-dlz-filesystem=yes \
--with-dlz-ldap=yes --with-dlz-stub=yes --with-dlopen=yes \
--with-geoip=/usr --enable-ipv6 CFLAGS=-fno-strict-aliasing

Após isso execute:

make install

Aguarde o termino da instalação, habilite e inicie o serviço do bind.

systemctl unmask bind9.service
systemctl enable bind9.service
systemctl start bind9.service

ou, copie e cole todo o comando abaixo para executar de uma vez só.

systemctl unmask bind9.service \
systemctl enable bind9.service \
systemctl start bind9.service

Após isso, tudo estará pronto para o provisionamento do samba4.

Ultimas orientações

  • NÃO execute o bind “chrooted ” com o samba4 ADDC e certifique-se de que cada arquivo tenha os privilégios corretos;
  • Certifique-se de executar as etapas de provisionamento novamente com o bind9 em execução;
  • O status do serviço bind9 deve estar ok;
  • Verifique nos logs do bind se as as zonas do samba-dlz carregaram corretamente.

Elias

Authenticated at 2018-10-24 07:59:28

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *