1. Antes de configurar o DNS, repita os mesmos procedimentos de instalação e configuração do sistema operacional e configuração das interfaces (placas) de rede.
Estando o DHCP/compartilhamento devidamente configurado e funcionando, verifique se a interface eth0 (offboard) do DHCP/compartilhamento e as duas interfaces de rede do DNS estão conectadas no switch e se o cabo de entrada dos dados/Internet está conectado na eth1 (onboard) do DHCP.
As interfaces de rede do DNS deverão ficar como abaixo:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The looback network interface
auto lo
iface lo inet loopback
# Primeira interface de rede -offboard
allow-hotplug eth0
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
broadcast 192.168.2.255
# Segunda interface de rede - onboard
allow-hotplug eth1
iface eth1 inet dhcp
Salve e saia do arquivo.
Reinicie:
# shutdown -r now
A Internet deverá estar funcionando no DNS, caso contrário verifique as configurações do servidor DHCP/compartilhamento.
2. Instale o serviço de DNS:
# aptitude install bind9 bind9-doc dnsutils
Se pedir confirmação para continuar, confirme "S" ou "Y".
Aguarde terminar.
3. Primeiro devemos configurar o cache. Um cache DNS guarda localmente os resultados da pesquisa para utilização futura, evitando a repetição de pesquisas e aumentando drasticamente a velocidade de resposta.
Entre no aquivo
/etc/bind/named.conf.options:
# vim /etc/bind/named.conf.options
Deixe como abaixo:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
// Servidores DNSs abertos. Você coloca a sua escolha.
8.8.8.8;
189.38.95.95;
// ADSL router. Aqui você deve ter o cuidado de colocar o IP do gateway/roteador da sua rede.
192.168.2.1;
};
// Opcoes de seguranca.
listen-on port 53 { 127.0.0.1; 192.168.2.2; };
allow-query { 127.0.0.1; 192.168.2.0/24; };
allow-recursion { 127.0.0.1; 192.168.2.0/24; };
allow-transfer { none; };
auth-nxdomain no; # conforme RFC1035
// listen-on-v6 { any; };
};
Salve e saia do arquivo.
Os forwarders são servidores DNS abertos e estáveis, os quais o nosso servidor irá procurar em caso de necessidade.
Por segurança só serão aceitas as ligações recebidas pela interface local ou pela destinada à rede interna (listen-on { 127.0.0.1; 192.168.2.2; };). Também só serão respondidos os pedidos de resolução que partirem do próprio posto ou da rede interna (allow-query { 127.0.0.1; 192.168.2.0/24; };). Todos os outros serão ignorados de modo a evitar eventuais utilizações abusivas do nosso servidor DNS por parte de terceiros.
Verificar se o arquivo de configuração foi corretamente editado:
# named-checkconf
O comando acima só dará uma resposta se o arquivo contiver um erro.
Atualizar o arquivo
/etc/resolv.conf para que a resolução de nomes passe a ser feita localmente:
# vim /etc/resolv.conf
Deixe nele somente o que está abaixo:
nameserver 127.0.0.1
Salve e saia.
Verificar também no arquivo
/etc/nsswitch.conf se a resolução de nomes passa também pelo serviço DNS:
# [...]
hosts: files dns
# [...]
Reiniciar o serviço DNS:
# /etc/init.d/bind9 restart
Como verificação, basta procurar o endereço IP de qualquer site na Internet. O servidor DNS deverá ser o nosso (127.0.0.1) e os endereços IP do site deverão ser corretamente mostrados:
# nslookup www.debian.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: www.debian.org
Address: 206.12.19.7
Name: www.debian.org
Address: 128.31.0.51
Pode procurar também pelo número do IP:
# nslookup 206.12.19.7
4. Agora vamos configurar o DNS propriamente dito.
A configuração consiste, basicamente na criação de duas zonas, uma (zone "enterbras.com", você pode dar o nome que quiser) que converte nomes em endereços IP e outra (zone "2.168.192.in-addr.arpa") que converte endereços IP no respectivo nome de domínio.
As zonas são declaradas no arquivo
/etc/bind/named.conf.local:
# vim /etc/bind/named.conf.local
//
// Do any local configuration here
//
zone "enterbras.com" {
type master;
file "/etc/bind/db.enterbras.com";
};
zone "2.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.2.168.192";
};
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
Salve e saia do arquivo.
Verifique se o arquivo de configuração não contém erros:
# named-checkconf
A resolução de nomes transforma os nomes de domínios nos endereços IP correspondentes.
Para a zona "enterbras.com", os nomes "server", "virtual", "ns" e "router" são associados aos respectivos endereços. A base de dados para a resolução de nomes na zona home.lan é guardada no arquivo
/etc/bind/db.enterbras.com:
# vim /etc/bind/db.enterbras.com
O arquivo será criado vazio. Coloque o conteúdo abaixo nele:
;
; BIND arquivo da zona "enterbras.com"
;
$TTL 3D
@ IN SOA ns.enterbras.com. root.enterbras.com. (
2012091101 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns ; Endereço do DNS
MX 10 mail ; Endereço servidor email
ns A 192.168.2.2 ; IP do DNS
mail A 192.168.2.2
enterbras.com. A 192.168.2.2
server A 192.168.2.2
virtual A 192.168.2.3 ; Se tiver Servidor Web
router A 192.168.2.1 ; router ADSL ou gateway da rede
gateway CNAME router
bola CNAME server
pedra CNAME router
Salve e saia do arquivo.
No serial geralmente se coloca a data a qual se está configurando o DNS no formato AnoMêsDia seguido dos dígitos 01 para o arquivo da zona de resolução de nomes e 02 para o arquivo de resolução inversa.
O protocolo DNS permite também a criação de aliases, ou canonical names, identificados pelo tipo de registo CNAME. Um alias é um nome alternativo de um sistema.
No final do arquivo poderão ser declarados alguns aliases: o sistema "server" passará também a ser conhecido (CNAME ou canonical name) como "bola" e o router responderá também pelo nome "pedra". Você pode criar vários CNAMEs.
Verificando se o arquivo de configuração da zona enterbras.com não contém erros:
# named-checkzone enterbras.com /etc/bind/db.enterbras.com
Veja a saída:
zone enterbras.com/IN: loaded serial 2012091101
OK
Configurar a resolução inversa. A resolução de inversa transforma endereços IP nos correspondentes nomes de domínios.
A resolução inversa é implementada no arquivo
/etc/bind/db.2.168.192:
# vim /etc/bind/db.2.168.192
O arquivo será criado vazio. Coloque o conteúdo abaixo nele:
;
; BIND arquivo da zona 192.168.2.xxx
;
$TTL 3D
@ IN SOA ns.enterbras.com. root.enterbras.com. (
2012091102 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns.enterbras.com. ; Endereço dos Servidores DNS
2 PTR server.enterbras.com.
2 PTR ns.enterbras.com.
2 PTR mail.enterbras.com.
3 PTR virtual.enterbras.com. ; Se tiver Servidor Web
1 PTR router.enterbras.com.
Salve e saia.
Verificar se o arquivo de configuração da zona 2.168.192.in-addr.arpa não contém erros:
# named-checkzone 2.168.192.in-addr.arpa /etc/bind/db.2.168.192
Veja saída:
zone 2.168.192.in-addr.arpa/IN: loaded serial 2012091102
OK
Reiniciar o serviço:
# /etc/init.d/bind9 restart
Acrescentar o domínio enterbras.com no arquivo
/etc/resolv.conf:
# [...]
domain enterbras.com
search enterbras.com
nameserver 127.0.0.1
# [...]
Verificar a resolução de nomes:
# nslookup server
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: server.enterbras.com
Address: 192.168.2.2
Verificar se os aliases também são resolvidos:
# nslookup gateway
Server: 127.0.0.1
Address: 127.0.0.1#53
gateway.enterbras.com canonical name = router.enterbras.com.
Name: router.enterbras.com
Address: 192.168.2.1
Finalmente, verificar a resolução inversa:
# nslookup 192.168.2.3
Server: 127.0.0.1
Address: 127.0.0.1#53
3.2.168.192.in-addr.arpa name =virtual.enterbras.com.
E seu servidor DNS está pronto para sua rede interna.
Referências