Configurando DHCP com DNS (Bind9) na rede local - Debian Linux
Esse artigo pretende auxiliar na configuração integrada de dois serviços DNS e DHCP em um único servidor Linux. Esses serviços são extremamente úteis na administração de redes de computadores.
Parte 5: Criando zonas
Depois de configurar named.conf.local, devemos criar os arquivos que servirão de base de dados, para converter nome de hosts em ip ou vice versa.
O arquivo da base de dados da zona é composto pelos parâmetros global e outras informações (informações dos hosts que são adicionados).
Parâmetros globais:
Onde:
Outras Informações:
Onde:
Segue modelo da base de dados que será utilizado para armazenar a zona local.
# vim /etc/bind/db.exemplo
Para fazer o download do db.exemplo completo, clique aqui.
Segue modelo da base de dados, que será utilizado para armazenar a zona local reversa:
# vim /etc/bind/ db.100.168.192.in-addr.arpa
Para fazer o download do db.100.168.192.in-addr.arpa completo, clique aqui.
Para que o próprio BIND possa criar seus arquivos de zona journal é necessário dar permissão, através do comando:
# chmod g+w /etc/bind
Depois de ter realizado as devidas configurações, reinicie o serviço de DNS (BIND9) através do comando:
# /etc/init.d/bind9 restart
Log da inicialização do serviço de DNS (bind9):
Nov 28 15:39:20 server named[2905]: starting BIND 9.5.0-P2 -u bind
Nov 28 15:39:20 server named[2905]: found 2 CPUs, using 2 worker threads
Nov 28 15:39:20 server named[2905]: loading configuration from '/etc/bind/named.conf'
Nov 28 15:39:20 server named[2905]: listening on IPv6 interfaces, port 53
Nov 28 15:39:20 server named[2905]: listening on IPv4 interface lo, 127.0.0.1#53
Nov 28 15:39:20 server named[2905]: listening on IPv4 interface eth0, 192.168.100.1#53
Nov 28 15:39:20 server named[2905]: command channel listening on 127.0.0.1#953
Nov 28 15:39:20 server named[2905]: command channel listening on ::1#953
Nov 28 15:39:20 server named[2905]: zone 0.in-addr.arpa/IN: loaded serial 1
Nov 28 15:39:20 server named[2905]: zone 127.in-addr.arpa/IN: loaded serial 1
Nov 28 15:39:20 server named[2905]: zone 100.168.192.in-addr.arpa/IN: loaded serial 7
Nov 28 15:39:20 server named[2905]: zone 255.in-addr.arpa/IN: loaded serial 1
Nov 28 15:39:20 server named[2905]: zone exemplo/IN: loaded serial 11
Nov 28 15:39:20 server named[2905]: zone localhost/IN: loaded serial 2
Nov 28 15:39:20 server named[2905]: running
Testando serviço de DNS:
Caso a estação de trabalho esteja com o sistema operacional Windows, você poderá reiniciar a conexão de rede através dos comandos:
# ipconfig /release
# ipconfig /renew
Lembrando que a conexão de rede deve estar configurada para obter IP dinamicamente.
Caso a estação de trabalho seja com o sistema operacional Linux (Debian), você poderá reiniciar a conexão de rede através do comando:
# /etc/init.d/networking restart
Lembrando que a conexão de rede (/etc/network/interface) deve estar configurada para DHCP.
Testado em:
O arquivo da base de dados da zona é composto pelos parâmetros global e outras informações (informações dos hosts que são adicionados).
Parâmetros globais:
@ IN SOA server.exemplo. root.exemplo. (
2 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
2 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
Onde:
- @ --> indica o domínio, sem a necessidade de escrevê-lo;
- IN --> indica que a rede é TCP/IP;
- SOA (Start Of Authority) --> indica que esses registros são parâmetros globais;
- server.exemplo. --> indica o servidor que tem autoridade sobre a zona;
- root.exemplo. --> indica o e-mail do usuário responsável pelo domínio;
- serial --> é um contador, a cada vez que a zona é alterada esse valor aumenta, normalmente é utilizado para atualização do servidor secundário, caso o serial dele seja inferior;
- refresh --> é o período de tempo (em segundos) em que o servidor secundário se atualizará;
- retry --> é o período de tempo (em segundos) em que o servidor secundário tentará atualizar novamente caso tenha erro em alguma tentativa;
- expire --> é o tempo que o servidor secundário ficará respondendo caso não consiga se comunicar com o servidor primário;
- minimum --> é o tempo que uma consulta ficará armazenada em cache.
Outras Informações:
@ IN NS server.exemplo.
server IN A 192.168.100.1
1 IN PTR server.exemplo.
server IN A 192.168.100.1
1 IN PTR server.exemplo.
Onde:
- @ e IN --> já foram comentados acima;
- NS (Name Server) --> indica o servidor de nomes da zona;
- A (Address) --> indica os hosts com seus respectivos endereços IP, essa informação é utilizada para converter nome em endereço IP, essa informação consta na zona normal;
- PTR (Pointer) --> indica on endereço IP com seus respectivo hosts, essa informação é utilizada para endereço IP em nome, essa informação consta apenas na zona reversa.
Segue modelo da base de dados que será utilizado para armazenar a zona local.
# vim /etc/bind/db.exemplo
$TTL 43200 ; 12 hours
@ IN SOA server.exemplo. root.exemplo. (
2 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
@ IN NS server.exemplo.
server IN A 192.168.100.1
@ IN SOA server.exemplo. root.exemplo. (
2 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
@ IN NS server.exemplo.
server IN A 192.168.100.1
Para fazer o download do db.exemplo completo, clique aqui.
Segue modelo da base de dados, que será utilizado para armazenar a zona local reversa:
# vim /etc/bind/ db.100.168.192.in-addr.arpa
$TTL 43200 ; 12 hours
@ IN SOA server.exemplo. root.exemplo. (
1 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
@ IN NS server.exemplo.
1 IN PTR server.exemplo.
@ IN SOA server.exemplo. root.exemplo. (
1 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
@ IN NS server.exemplo.
1 IN PTR server.exemplo.
Para fazer o download do db.100.168.192.in-addr.arpa completo, clique aqui.
Conclusão
Mudando permissão do diretório BIND.Para que o próprio BIND possa criar seus arquivos de zona journal é necessário dar permissão, através do comando:
# chmod g+w /etc/bind
Depois de ter realizado as devidas configurações, reinicie o serviço de DNS (BIND9) através do comando:
# /etc/init.d/bind9 restart
Log da inicialização do serviço de DNS (bind9):
Nov 28 15:39:20 server named[2905]: starting BIND 9.5.0-P2 -u bind
Nov 28 15:39:20 server named[2905]: found 2 CPUs, using 2 worker threads
Nov 28 15:39:20 server named[2905]: loading configuration from '/etc/bind/named.conf'
Nov 28 15:39:20 server named[2905]: listening on IPv6 interfaces, port 53
Nov 28 15:39:20 server named[2905]: listening on IPv4 interface lo, 127.0.0.1#53
Nov 28 15:39:20 server named[2905]: listening on IPv4 interface eth0, 192.168.100.1#53
Nov 28 15:39:20 server named[2905]: command channel listening on 127.0.0.1#953
Nov 28 15:39:20 server named[2905]: command channel listening on ::1#953
Nov 28 15:39:20 server named[2905]: zone 0.in-addr.arpa/IN: loaded serial 1
Nov 28 15:39:20 server named[2905]: zone 127.in-addr.arpa/IN: loaded serial 1
Nov 28 15:39:20 server named[2905]: zone 100.168.192.in-addr.arpa/IN: loaded serial 7
Nov 28 15:39:20 server named[2905]: zone 255.in-addr.arpa/IN: loaded serial 1
Nov 28 15:39:20 server named[2905]: zone exemplo/IN: loaded serial 11
Nov 28 15:39:20 server named[2905]: zone localhost/IN: loaded serial 2
Nov 28 15:39:20 server named[2905]: running
Testando serviço de DNS:
Caso a estação de trabalho esteja com o sistema operacional Windows, você poderá reiniciar a conexão de rede através dos comandos:
# ipconfig /release
# ipconfig /renew
Lembrando que a conexão de rede deve estar configurada para obter IP dinamicamente.
Caso a estação de trabalho seja com o sistema operacional Linux (Debian), você poderá reiniciar a conexão de rede através do comando:
# /etc/init.d/networking restart
Lembrando que a conexão de rede (/etc/network/interface) deve estar configurada para DHCP.
Testado em:
- Debian Lenny 2.6.24-1-686.
- Bind 9.5.0-P2
- DHCP Server V3.1.1
`/etc/bind/', por padrão pertence ao root e suas permissões não devem ser alteradas por questões de segurança. No caso do Ubuntu, o AppArmor impede a escrita mesmo que as permissões sejam alteradas. Por isso, recomenda-se que `db.100.168.192.in-addr.arpa' seja colocado em `/var/lib/bind/'.