Servidor de DNS com DNS reverso, DHCP3 e wpad.dat

Este artigo mostra como fazer de forma simples a instalação e configuração de: DHCP comunicando com DNS e DNS reverso. Este tipo de comunicação é conhecida como DNS dinâmico. Também aborda a configuração do wpad.dat. Os arquivos wpad.dat e proxy.pac informarão o proxy para os computadores da rede.

[ Hits: 54.377 ]

Por: Lucas Tavares Soares em 13/03/2009


Configuração do Bind9



Edite o arquivo /etc/bind/named.conf deixando-o com o seguinte conteúdo:

// "/etc/named.conf"

// secret must be the same as in /etc/named/rndc.conf
include "/etc/bind/rndc.key";

acl "dominio.net" { 192.168.1.0/24; 127.0.0.1; };

controls {
   inet 127.0.0.1 port 953 allow { "dominio.net"; } keys { "DHCP_DNS_CRYPT"; };
};

key "DHCP_DNS_CRYPT" {
   algorithm   hmac-md5;
   secret      "a6ge8gAHB7RCEkNkACFKFQ";
};

logging {
   channel "named_log" {
      // send most BIND logs to a dedicated log file
      file "/var/log/named/named.log" versions 10 size 500k;
      severity dynamic;
      print-category yes;
      print-severity yes;
      print-time yes;
   };

   channel "query_log" {
      // query logs go to a separate file
      file "/var/log/named/query.log" versions 10 size 500k;
      severity debug;
      print-severity yes;
      print-time yes;
   };

   category default { named_log; };
   category queries { query_log; };
};

options {
   directory "/var/named";
   pid-file "/var/run/bind/named.pid";
   statistics-file "named.stats";
   dump-file "named.dump";
   listen-on { "dominio.net"; };
   allow-query { "dominio.net"; };
   allow-transfer { key "DHCP_DNS_CRYPT"; };
   notify no;
};
//////////////////////////////////////////
zone "." {
   type hint;
   file "caching-example/named.ca";
};

zone "localhost" in {
   type master;
   file "caching-example/named.local";
   notify no;
};
///////////////////////////////////////////

zone "0.0.127.in-addr.arpa" in {
   type master;
   file "caching-example/rev.named";
   notify no;
};

///////////////////////////////////////////
// ---- Redes Reversas. ----
///////////////////////////////////////////

zone "1.168.192.in-addr.arpa" in {
   type master;
   file "dominio/rev.1.168.192";
   allow-update { key DHCP_DNS_CRYPT; };
   allow-transfer { key "DHCP_DNS_CRYPT"; };
};

/////////////////////////////////////////
// ---- Rede DOMINIO.NET. ----
/////////////////////////////////////////
zone "dominio.net" in {
   type master;
   file "dominio/db.dominio.net";
   allow-update { key DHCP_DNS_CRYPT; };
   allow-transfer { key "DHCP_DNS_CRYPT"; };
};

Edite o arquivo /etc/bind/rndc.key deixando-o com o seguinte conteúdo:

key "rndc-key" {
   algorithm hmac-md5;
   secret "a6ge8gAHB7RCEkNkACFKFQ";
};

Edite o arquivo /var/named/dominio/rev.1.168.192 com o seguinte conteúdo:

$ORIGIN .
$TTL 43200   ; 12 hours
1.168.192.in-addr.arpa   IN SOA   dominio.net. root.dominio.net. (
         4          ; serial 
         28800      ; refresh (8 hours) 
         14400      ; retry (4 hours)
         3600000    ; expire (5 weeks 6 days 16 hours)
         86400      ; minimum (1 day)
         )
         NS   dominio.net.
 $ORIGIN 1.168.192.in-addr.arpa.
 1         PTR   fw.dominio.net.
 2         PTR   pdc.dominio.net.
 3         PTR   wts.dominio.net.

Edite o arquivo /var/named/dominio/db.dominio.net com o seguinte conteúdo:

$ORIGIN .
$TTL 43200   ; 12 hours
dominio.net   IN SOA   dominio.net. root.exemplo. (
             6          ; serial 
             28800      ; refresh (8 hours)
             14400      ; retry (4 hours)
             3600000    ; expire (5 weeks 6 days 16 hours)
             86400      ; minimum (1 day)
             )
          NS   dominio.net.
$ORIGIN dominio.net.
fw         A   192.168.1.1
pdc         A   192.168.1.2
proxy         CNAME   fw
servidor      CNAME   pdc
wts         A   192.168.1.3

Edite o arquivo /var/named/caching-example/named.ca com o seguinte conteúdo:

; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File

Edite o arquivo /var/named/caching-example/rev.named com o seguinte conteúdo:

$TTL 86400
@       IN      SOA     localhost.       root.localhost. (
            2009031200  ; Serial (Serial )
            1h          ; Atualização (Refresh)
            30m         ; Tentativas (Retry)
            7d          ; Expira (Expire )
            1h )        ; TTL minimo (Time to Live)
            NS      localhost.
;;
1           PTR     localhost.
;;

Edite o arquivo /var/named/caching-example/named.local com o seguinte conteúdo:

$TTL 86400
@       IN      SOA     localhost.      root.localhost. (
            2009031200; Serial (Serial)
            1h        ; Atualizacao (Refresh)
            30m       ; Tentativas (Retry)
            7d        ; Expira (Expire)
            1h )      ; TTL minimo (Time To Live)
 
 @          IN      MX      10 localhost.
            NS      localhost.
            A       127.0.0.1

Página anterior     Próxima página

Páginas do artigo
   1. Iniciando as configurações padrões
   2. Configuração do Bind9
   3. Configuração do dhcp3-server
   4. Configuração dos arquivos wpad.dat e proxy.pac
Outros artigos deste autor

Squid transparente com cache de arquivos + Windows Update + taxa de transferência em downloads

Autenticando cliente Linux Ubuntu 8.10 no PDC Samba com perfil móvel

Leitura recomendada

Melhorias generalizadas de segurança (parte 2)

Entendendo um pouco sobre os daemons

Bloqueio de usuários com o chroot

Instalação do Freeradius com suporte a EAP-TLS e PEAP-TTLS MSCHAPv2 no Ubuntu

IDS com Debian 4, Snort 2.8.3.1 e BASE 1.4.1

  
Comentários
[1] Comentário enviado por andriopj em 13/03/2009 - 21:06h

excellente artigo...
daqui a uns dias, ireia comecar a estudar sobre dns, comecarei primeiro somente com o cache dns. quem sabe depois, me aprofundo mais.
mas por enquanto, vc poderia me responder uma pergunta?

referente ao bind, somente para cache dns...
bastaria instalar ele (seguir o tutorial: http://www.vivaolinux.com.br/artigo/DNS-Cache-no-Bind9?pagina=1) e pronto?
ou teria que alterar algo no resolv.conf e dhcpd.conf?

[2] Comentário enviado por dfsantos em 17/03/2009 - 15:24h

Parabens pelo artigo, muito bom... assim que possivel irei testar.

[3] Comentário enviado por jgama em 22/10/2009 - 03:52h

Muito bom o exemplo de DNS dinamico, mas aqui quando startei o bind aparece este erro:

$/etc/init.d/bind9 restart
* Stopping domain name service... bind9 rndc: decode base64 secret: bad base64 encoding
[ OK ]
* Starting domain name service... bind9 [fail]

Já verifiquei o /etc/bind/rndc.key mas não encontrei o erro.

e nos log também aparece este oitro erro:

Oct 22 04:48:42 firewall1 kernel: [50744.114454] type=1503 audit(1256194122.751:15): operation="inode_permission" requested_mask="r::" denied_mask="r::" fsuid=106 name="/var/named/caching-example/named.ca" pid=31961 profile="/usr/sbin/named"
Oct 22 04:48:42 firewall1 named[31960]: could not configure root hints from 'caching-example/named.ca': permission denied
Oct 22 04:48:42 firewall1 named[31960]: loading configuration: permission denied
Oct 22 04:48:42 firewall1 named[31960]: exiting (due to fatal error)

tentei dar permissão para usuario bind e não tive exito.

o que pode ser?

Abraço

[4] Comentário enviado por rogeriojlle em 13/04/2010 - 20:11h

para que serve o proxy.pac?
não há refeências a ele no dhcpd

[5] Comentário enviado por liciomz em 05/11/2012 - 20:58h


[3] Comentário enviado por jgama em 22/10/2009 - 03:52h:

Muito bom o exemplo de DNS dinamico, mas aqui quando startei o bind aparece este erro:

$/etc/init.d/bind9 restart
* Stopping domain name service... bind9 rndc: decode base64 secret: bad base64 encoding
[ OK ]
* Starting domain name service... bind9 [fail]

Já verifiquei o /etc/bind/rndc.key mas não encontrei o erro.

e nos log também aparece este oitro erro:

Oct 22 04:48:42 firewall1 kernel: [50744.114454] type=1503 audit(1256194122.751:15): operation="inode_permission" requested_mask="r::" denied_mask="r::" fsuid=106 name="/var/named/caching-example/named.ca" pid=31961 profile="/usr/sbin/named"
Oct 22 04:48:42 firewall1 named[31960]: could not configure root hints from 'caching-example/named.ca': permission denied
Oct 22 04:48:42 firewall1 named[31960]: loading configuration: permission denied
Oct 22 04:48:42 firewall1 named[31960]: exiting (due to fatal error)

tentei dar permissão para usuario bind e não tive exito.

o que pode ser?

Abraço


Estou com o mesmo problema, conseguiu resolver?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts