Linux: Integrando BIND do Debian Lenny 5.0 com Active Directory do Windows 2003 Server

Linux: Integrando BIND do Debian Lenny 5.0 com Active Directory do Windows 2003 Server

Uma dor de cabeça tremenda! É assim que classifico os depoimentos lidos em fóruns e listas de discussão quando o assunto é integrar o BIND (servidor de nomes – DNS) do Linux com o Active Directory do Windows 2003 Server. Eu realmente levei um bom tempo para conseguir cumprir esta tarefa, mas o mais interessante é que o processo de configuração é extremamente simples, porém não considero que o processo abaixo descrito possui as considerações de segurança mínima.

 Para executar as configurações abaixo utilizei o ambiente descrito no post: Bind (DNS), Apache, DNS Cache, DDNS e integração com Active Directory.

Configurando a atualização dinâmica (dynamic update) no BIND

Lembrando que, em nosso ambiente, o Active Directory, cujo nome (hostname) é amoroso.bugre.local, está configurado para responder no IP 192.168.0.3. Já o servidor de nomes (DNS), que atende pelo nome zenon.bugre.local está configurado com o IP 192.168.0.2.

Vale ressaltar também que já fizemos a instalação do BIND no post Linux: Instalação do Bind, cache de DNS, logging e BindGraph no Ubuntu Intrepid Ibex (Ubuntu 8.10).

O primeiro passo é criar uma ACL, que em meu exemplo, chama-se WinAD no arquivo /etc/bind/named.conf.local. Após criarmos a ACL, então vamos editar as configurações da zona bugre.local, para que seja permitida a atualização, consulta e transferência de zona pelo servidor Windows 2003 com Active Directory. Depois vamos adicionar as mesmas regras na zona reversa. Abaixo segue o trecho do arquivo named.conf.local:

acl "WinAD" { 192.168.0.3; };

zone "bugre.local" {
type master;
file "/etc/bind/zonas/db.bugre.local";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/zonas/db.192";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

As principais configurações, ou seja, que irão influenciar a comunicação entre o Active Directory e o BIND estão em negrito.

Agora vamos configurar as zonas necessárias para que o Active Directory funcione corretamente:

zone "_msdcs.bugre.local" {
check-names ignore;
type master;
file "/etc/bind/adzonas/_msdcs.bugre.local";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

zone "_tcp.bugre.local" {
check-names ignore;
type master;
file "/etc/bind/adzonas/_tcp.bugre.local";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

zone "_udp.bugre.local" {
check-names ignore;
type master;
file "/etc/bind/adzonas/_udp.bugre.local";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

zone "_sites.bugre.local" {
check-names ignore;
type master;
file "/etc/bind/adzonas/_sites.bugre.local";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

zone "ForestDNSZones.bugre.local" {
check-names ignore;
type master;
file "/etc/bind/adzonas/ForestDNSZones.bugre.local";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

zone "DomainDNSZones.bugre.local" {
check-names ignore;
type master;
file "/etc/bind/adzonas/DomainDNSZones.bugre.local";
allow-update {WinAD;};
allow-query {WinAD;};
allow-transfer {WinAD;};
};

Após termos todas as zonas configuradas em nosso named.conf.local, então agora precisamos criar o diretório das zonas, criar os arquivos de cada zona e por fim definir o usuário bind como proprietário da pasta e dos arquivos.

Serão necessários seis arquivos conforme a configuração acima. Abaixo segue a estrutura de cada um deles:

Arquivo /etc/bind/adzonas/DomainDNSZones.bugre.local:

$TTL 3D
DomainDNSZones.bugre.local. IN      SOA     zenon.bugre.local.        root.zenon.bugre.local. (
        2009050301;Serial
        43200;Refresh
        900;Retry
        2419200;Expire
        3600);Negative Cache TTL
@       IN      NS      zenon.bugre.local.

Arquivo /etc/bind/adzonas/ForestDNSZones.bugre.local:

$TTL 3D
ForestDNSZones.bugre.local. IN      SOA     zenon.bugre.local.        root.zenon.bugre.local. (
        2009050301;Serial
        43200;Refresh
        900;Retry
        2419200;Expire
        3600);Negative Cache TTL
@       IN      NS      zenon.bugre.local.

 

Arquivo /etc/bind/adzonas/_msdcs.bugre.local:

$ORIGIN .
$TTL 3D
_msdcs.bugre.local. IN      SOA     zenon.bugre.local.        root.zenon.bugre.local. (
        2009050301;Serial
        43200;Refresh
        900;Retry
        2419200;Expire
        3600);Negative Cache TTL
@       IN      NS      zenon.bugre.local.
$ORIGIN _msdcs.mundoclick.corp.

 

Arquivo /etc/bind/adzonas/_sites.bugre.local:

$ORIGIN .
$TTL 3D
_sites.bugre.local. IN      SOA     zenon.bugre.local.        root.zenon.bugre.local. (
        2009050301;Serial
        43200;Refresh
        900;Retry
        2419200;Expire
        3600);Negative Cache TTL
@       IN      NS      zenon.bugre.local.
$ORIGIN _sites.mundoclick.corp.

 

Arquivo /etc/bind/adzonas/_tcp.bugre.local:

$ORIGIN .
$TTL 3D
_tcp.bugre.local. IN      SOA     zenon.bugre.local.        root.zenon.bugre.local. (
        2009050301;Serial
        43200;Refresh
        900;Retry
        2419200;Expire
        3600);Negative Cache TTL
@       IN      NS      zenon.bugre.local.
$ORIGIN _tcp.mundoclick.corp.

Arquivo /etc/bind/adzonas/_udp.bugre.local:

$ORIGIN .
$TTL 3D
_udp.bugre.local. IN      SOA     zenon.bugre.local.        root.zenon.bugre.local. (
        2009050301;Serial
        43200;Refresh
        900;Retry
        2419200;Expire
        3600);Negative Cache TTL
@       IN      NS      zenon.bugre.local.
$ORIGIN _udp.mundoclick.corp.

Após criarmos os seis arquivos contendo as configurações das zonas de DNS para integração com o Active Directory, agora precisamos definir o proprietário do diretório com o comando:

# chown bind -R /etc/bind/adzonas

Não esqueça de fazer o mesmo para o diretório onde ficam as configurações de zona do domínio, que no exemplo está em /etc/bind/zonas.

Agora vamos reinicializar o BIND com o comando:

# /etc/init.d/bind9 restart

Verifique o arquivo de log /var/log/syslog se ocorreu algum problema:

# tail -f -n 30 /var/log/syslog | grep named

Se seguiu todos os passos então as informações contidas serão referentes ao carregamento correto das zonas DNS.

Agora no Windows 2003 Server você precisará “apontar” o DNS para o IP 192.168.0.2 e proceder com a instalação do Active Directory. Repare que após a configuração e a primeira reinicialização do Windows que na pasta /etc/bind/adzonas serão criados arquivos JNL que são arquivos onde são armazenadas as informações necessárias para que o Active Directory funcione corretamente.

3 Comentários

  1. Cara, o que são esses $ORIGIN _udp.mundoclick.corp.???

    É necessário mesmo?

    • Não não… comi bola… segue o domínio do tutorial. Vlw pelo toq.

  2. Andre,

    A ACL que vc pedi pra criar no aquivo named.conf.local dá erro na hora de reiniciar o bind, porém quando coloquei no named.conf funcionou.


Comente

*
*