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: 53.722 ]

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

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

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

Leitura recomendada

SSH: Métodos e ferramentas para invasão

Bloqueio de Países com IPTables

Buffer Overflow: Entendendo e explorando

Resetando senha de usuário root em sistemas Debian e Red Hat

Servidor de autenticação 802.1x com Freeradius

  
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