Objectivo
Embora se possa atribuir nomes aos diversos sistemas de uma rede, estes não se conseguem reconhecer entre eles sem um sistema de resolução de nomes. Para que um sistema consiga localizar o endereço IP associado ao nome de outro sistema, é necessário que este esteja registado num servidor DNS, de modo a permitir a resolução de nomes.
- NOTA:
- Antes de instalar o servidor DNS, a Cache DNS deverá estar previamente configurada e testada.
Instalação
root@server:~# aptitude install bind9 bind9-doc dnsutils
Configuração
A resolução de nomes converte nomes de sistemas no seu endereço IP e vice-versa. Assim, a configuração consiste, basicamente na criação de 2 zonas, uma (zone "home.lan") que converte nomes em endereços IP e outra (zone "1.168.192.in-addr.arpa") que converte endereços IP no respectivo nome de sistema.
Zonas
As zonas são declaradas no ficheiro /etc/bind/named.conf.local:
//
// Do any local configuration here
//
zone "home.lan" {
type master;
file "/etc/bind/db.home.lan";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.1.168.192";
};
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
Verificar que o ficheiro de configuração não contém erros:
root@server:~# named-checkconf
root@server:~#
Resolução de nomes
A resolução de nomes transforma os nomes dos sistemas nos endereços IP correspondentes.
Para a zona "home.lan", 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 ficheiro /etc/bind/db.home.lan:
;
; BIND zone file for home.lan
;
$TTL 3D
@ IN SOA ns.home.lan. root.home.lan. (
2010111101 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns ; Inet address of name server
MX 10 mail ; Primary mail exchanger
ns A 192.168.1.100
mail A 192.168.1.100
home.lan. A 192.168.1.100
server A 192.168.1.100
virtual A 192.168.1.101
router A 192.168.1.1 ; router ADSL
gateway CNAME router
gw CNAME router
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 ficheiro poderão ser declarados alguns aliases: o sistema "server" passará também a ser conhecido (CNAME ou canonical name) como "proxy" e o servidor "virtual" responderá também pelos nomes "www" e "ftp":
// [...]
proxy CNAME server
www CNAME virtual
ftp CNAME virtual
// [...]
Verificar que o ficheiro de configuração da zona home.lan não contém erros:
root@server:~# named-checkzone home.lan /etc/bind/db.home.lan
zone home.lan/IN: loaded serial 2010111101
OK
Resolução Inversa
A resolução de inversa transforma endereços IP nos correspondentes nomes dos sistemas.
A resolução inversa é implementada no ficheiro /etc/bind/db.1.168.192:
;
; BIND zone file for 192.168.1.xxx
;
$TTL 3D
@ IN SOA ns.home.lan. root.home.lan. (
2010111101 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns.home.lan. ; Nameserver address
100 PTR server.home.lan.
100 PTR ns.home.lan.
100 PTR mail.home.lan.
101 PTR virtual.home.lan.
1 PTR router.home.lan.
Verificar que o ficheiro de configuração da zona 1.168.192.in-addr.arpa não contém erros:
root@server:~# named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.1.168.192
zone 1.168.192.in-addr.arpa/IN: loaded serial 2008121701
OK
Reiniciar o serviço:
root@server:~# /etc/init.d/bind9 restart
Acrescentar o domínio home.lan no ficheiro /etc/resolv.conf:
# [...]
domain home.lan
search home.lan
nameserver 127.0.0.1
# [...]
Assim, quando nos referirmos ao sistema "server", este será procurado no domínio "home.lan", resultando no nome "server.home.lan".
Verificação
Verificar a resolução de nomes:
root@server:~# nslookup server
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: server.home.lan
Address: 192.168.1.100
Verificar que os aliases também são resolvidos:
root@server:~# nslookup gateway
Server: 127.0.0.1
Address: 127.0.0.1#53
gateway.home.lan canonical name = router.home.lan.
Name: router.home.lan
Address: 192.168.1.1
Finalmente, verificar que a resolução inversa:
root@server:~# nslookup 192.168.1.101
Server: 127.0.0.1
Address: 127.0.0.1#53
101.1.168.192.in-addr.arpa name = virtual.home.lan.
Referências
- ISC Bind (https://www.isc.org/software/bind/)
- Linux Home Networking: Quick HOWTO: Ch18 Configuring DNS (http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch18_:_Configuring_DNS)
- DNS Howto, 5. A simple domain (http://tldp.org/HOWTO/DNS-HOWTO-5.html)
- Securing Debian Manual (http://www.debian.org/doc/manuals/securing-debian-howto/ch-sec-services.en.html#s-sec-bind)
- Debian Clusters, Name Service: DNS and BIND: (http://debianclusters.cs.uni.edu/index.php/Name_Service:_DNS_and_BIND)



Bom dia pinguimRibeiro, primeiramente parabéns pelos excelentes materiais, e com certeza estarei divulgando seu wikidot.
Bom, estava seguindo seu tutorial 3.1.3. Servidor DNS, alterando os ranges para minha classe 192.168.0.0/24, mas chegou na parte de checar a Resolução Inversa, e me dá o seguinte erro que eu nao consegui até agora resolver.
mauricio@debian-t:~$ sudo named-checkzone 0.168.192.in-addr.arpa /etc/bind/db.0.168.192
/etc/bind/db.0.168.192:1: unknown RR type 'zone'
zone 0.168.192.in-addr.arpa/IN: loading from master file /etc/bind/db.0.168.192 failed: unknown class/type
zone 0.168.192.in-addr.arpa/IN: not loaded due to errors.
Poderia me ajudar?
seguem meus configs:
db.home.lan:
;
; BIND zone file for home.lan
;
$TTL 3D
@ IN SOA ns.home.lan. root.home.lan. (
2010111101 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns ; Inet address of name server
MX 10 mail ; Primary mail exchanger
ns A 192.168.0.241
mail A 192.168.0.241
home.lan. A 192.168.0.241
server A 192.168.0.241
virtual A 192.168.0.241
router A 192.168.0.100 ; router ADSL
;
gateway CNAME router
gw CNAME router
proxy CNAME server
www CNAME virtual
ftp CNAME virtual
e o db.0.168.192:
ND zone file for 192.168.0.xxx
;
$TTL 3D
@ IN SOA ns.home.lan. root.home.lan. (
2010111101 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns.home.lan. ; Nameserver address
241 PTR server.home.lan.
241 PTR ns.home.lan.
241 PTR mail.home.lan.
241 PTR virtual.home.lan.
100 PTR router.home.lan.
Olá Maurício,
Cuidado ao fazer o copiar/colar!
Creio que te esqueceste da parte inicial do ficheiro db.0.168.192: falta a parte:
o ficheiro deverá iniciar por
e tu tens
Abraço!
oproblema pode estar neste arquivo
/etc/bind/named.conf.local
O dns reverso não funciona.
vamos primeiro aos arquivos:
/etc/bind/named.conf.local
Do any local configuration here
zone "xyz.com" {
type master;
file "/etc/bind/server01.xyz.com";
};
zone "0.168.192.in-addr-arpa" {
type master;
file "/etc/bind/server01.0.168.192";
};
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/etc/bind/server01.0.168.192
;
; BIND zone file for 192.168.0.xxx
;
$TTL 3D
@ IN SOA ns.xyz.com. root.xyz.com. (
2010111101 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns.xyz.com. ; Nameserver address
5 PTR SERVER01.xyz.com.
5 PTR ns.xyz.com.
5 PTR mail.xyz.com.
5 PTR virtual.xyz.com.
225 PTR router.xyz.com.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/etc/bind/server01.xyz.com
;
; BIND zone file for xyz.com
;
$TTL 3D
@ IN SOA ns.xyz.com. root.xyz.com. (
2010111101 ; serial
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns ; Inet address of name server
MX 10 mail ; Primary mail exchanger
ns A 192.168.0.5
mail A 192.168.0.5
uniafra.com. A 192.168.0.5
SERVER01 A 192.168.0.5
virtual A 192.168.0.5
router A xxx.xx.xxx.225 ; router ADSL
gateway CNAME router
gw CNAME router
proxy CNAME SERVER01
www CNAME virtual
ftp CNAME virtual
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
O problema:
nslookup 192.168.0.5 (já que usei o virtual como sendo este)
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find 5.0.168.192.in-addr.arpa.: NXDOMAIN
Já olhei tudo e nada, outra coisa, meu "router" é link dedicado, uso um cisco 1841 que tem ligação direta com meu server. O ip dele está em uma faixa diferente.