Differences

This shows you the differences between two versions of the page.

Link to this comparison view

bind_trabalhando_servidor_cache_dns_debian_wheezy_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== ​ Bind trabalhando como servidor de Cache DNS + Debian Wheezy ======
  
 +
 +E ai galera, aqui vou abordar a instalação de um servidor DNS somente para cache, em alguns casos precisamos de um servidor de dns somente para agilizar um serviço de proxy ou trabalhar como encaminhador de um servidor DNS Windows, com isso podemos configurar o Bind para trabalhar somente fazendo cache.
 +
 +  * Rede que vou levar em consideração que vai poder consultar o servidor: 192.168.1.0/​24
 +
 +Prepare o seu sistema com o seguinte script [[https://​github.com/​douglasqsantos/​easy-debian|Easy-Debian]] para que não falte nenhum pacote ou configuração.
 +
 +Agora vamos instalar o DNS Bind
 +
 +Vamos instalar os pacotes necessários ​
 +
 +<sxh bash>
 +aptitude install bind9 dnsutils -y
 +</​sxh>​
 +
 +Agora vamos para o bind para podemos efetuar as modificações necessárias. ​
 +
 +<sxh bash>
 +/​etc/​init.d/​bind9 stop
 +</​sxh>​
 +
 +Agora vamos criar os diretórios necessários para a jaula 
 +
 +<sxh bash>
 +mkdir -p /​var/​lib/​named/​etc
 +mkdir -p /​var/​lib/​named/​dev
 +mkdir -p /​var/​lib/​named/​var/​log
 +mkdir -p /​var/​lib/​named/​var/​cache/​bind
 +mkdir -p /​var/​lib/​named/​var/​cache/​bind/​dynamic
 +mkdir -p /​var/​lib/​named/​var/​run/​bind/​run
 +mknod /​var/​lib/​named/​dev/​null c 1 3
 +mknod /​var/​lib/​named/​dev/​random c 1 8
 +mknod /​var/​lib/​named/​dev/​zero c 1 5
 +</​sxh>​
 +
 +Agora vamos acertar as permissões da jaula 
 +
 +<sxh bash>
 +chmod 666 /​var/​lib/​named/​dev/​{null,​random,​zero}
 +chown -R bind:bind /​var/​lib/​named/​var/​*
 +</​sxh>​
 +
 +Agora vamos ajudar a localização dos diretórios ​
 +
 +<sxh bash>
 +mv /etc/bind /​var/​lib/​named/​etc
 +ln -sf /​var/​lib/​named/​etc/​bind /etc/bind
 +cp /​etc/​localtime /​var/​lib/​named/​etc
 +chown -R bind:bind /​var/​lib/​named/​etc/​bind
 +chown -R root:bind /​var/​lib/​named/​var/​cache/​bind/​dynamic
 +chmod -R 775 /​var/​lib/​named/​var/​cache/​bind/​dynamic
 +</​sxh>​
 +
 +Agora vamos acertar o arquivo default do bind para que o bind reconheça a jaula 
 +
 +<sxh bash>
 +vim /​etc/​default/​bind9
 +RESOLVCONF=yes
 +OPTIONS="​-u bind -t /​var/​lib/​named"​
 +</​sxh>​
 +
 +Vamos agora ajustar o /​etc/​resolv.conf ​
 +
 +<sxh bash>
 +vim /​etc/​resolv.conf
 +nameserver 127.0.0.1
 +</​sxh>​
 +
 +Agora vamos acertar o arquivo de controle da versão e acesso ao dns 
 +
 +<sxh bash>
 +vim /​etc/​bind/​named.conf.options
 +#/​etc/​bind/​named.conf.options
 +options {
 + ​directory "/​var/​cache/​bind";​
 + ​managed-keys-directory "/​var/​cache/​bind/​dynamic";​
 + ​auth-nxdomain no;
 + ​listen-on-v6 { any; };
 + ​listen-on { 127.0.0.1/​32;​ 192.168.1.0/​24;​ };
 + ​allow-query { any; };
 + ​recursion yes;
 + ​version "Nao Disponivel";​
 + ### DNSSEC ###
 + ​dnssec-enable no;
 + ​dnssec-validation no;
 + ​dnssec-lookaside auto;
 +};
 + 
 +#​Controles ​
 +include "/​etc/​bind/​rndc.key";​
 +controls {
 +        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
 +};
 + 
 +#LOGS
 +logging {
 + ​channel xfer-log {
 + file "/​var/​log/​named.log";​
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time yes;
 + ​severity info;
 + };
 + ​category xfer-in { xfer-log; };
 + ​category xfer-out { xfer-log; };
 + ​category notify { xfer-log; };
 + 
 + ​channel update-debug {
 + file "/​var/​log/​named-update-debug.log";​
 + ​severity ​ debug 3;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​channel security-info ​   {
 + file "/​var/​log/​named-auth-info.log";​
 + ​severity ​ info;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​category update { update-debug;​ };
 + ​category security { security-info;​ };
 + 
 + };
 +</​sxh>​
 +
 +Agora já podemos iniciar o nosso bind 
 +<sxh bash>
 +/​etc/​init.d/​bind9 start
 +</​sxh>​
 +
 +Vamos analisar os logs para ver se não temos nada de errado ​
 +
 +<sxh bash>
 +tail -f /​var/​log/​syslog ​
 +May 31 17:58:51 deb-srv001 named[3125]:​ using default UDP/IPv4 port range: [1024, 65535]
 +May 31 17:58:51 deb-srv001 named[3125]:​ using default UDP/IPv6 port range: [1024, 65535]
 +May 31 17:58:51 deb-srv001 named[3125]:​ listening on IPv6 interfaces, port 53
 +May 31 17:58:51 deb-srv001 named[3125]:​ listening on IPv4 interface lo, 127.0.0.1#​53
 +May 31 17:58:51 deb-srv001 named[3125]:​ listening on IPv4 interface eth0, 192.168.1.40#​53
 +May 31 17:58:51 deb-srv001 named[3125]:​ generating session key for dynamic DNS
 +May 31 17:58:51 deb-srv001 named[3125]:​ sizing zone task pool based on 5 zones
 +May 31 17:58:51 deb-srv001 named[3125]:​ using built-in DLV key for view _default
 +May 31 17:58:51 deb-srv001 named[3125]:​ set up managed keys zone for view _default, file '/​var/​cache/​bind/​dynamic/​managed-keys.bind'​
 +May 31 17:58:51 deb-srv001 named[3125]:​ Warning: '​empty-zones-enable/​disable-empty-zone'​ not set: disabling RFC 1918 empty zones
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 254.169.IN-ADDR.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 2.0.192.IN-ADDR.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 100.51.198.IN-ADDR.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 113.0.203.IN-ADDR.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: D.F.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 8.E.F.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 9.E.F.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: A.E.F.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: B.E.F.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
 +May 31 17:58:51 deb-srv001 named[3125]:​ command channel listening on 127.0.0.1#​953
 +May 31 17:58:51 deb-srv001 named[3125]:​ zone 0.in-addr.arpa/​IN:​ loaded serial 1
 +May 31 17:58:51 deb-srv001 named[3125]:​ zone 127.in-addr.arpa/​IN:​ loaded serial 1
 +May 31 17:58:51 deb-srv001 named[3125]:​ zone 255.in-addr.arpa/​IN:​ loaded serial 1
 +May 31 17:58:51 deb-srv001 named[3125]:​ zone localhost/​IN:​ loaded serial 2
 +May 31 17:58:51 deb-srv001 named[3125]:​ managed-keys-zone ./IN: loaded serial 0
 +May 31 17:58:51 deb-srv001 named[3125]:​ running
 +</​sxh>​
 +
 +Vamos efetuar uma consultar para teste 
 +
 +<sxh bash>
 +nslookup www.terra.com.br
 +Server: ​  ​127.0.0.1
 +Address: ​ 127.0.0.1#​53
 +
 +Non-authoritative answer:
 +Name: www.terra.com.br
 +Address: 208.84.244.116
 +</​sxh>​
 +
 +Vamos efetuar uma consulta agora com o dig 
 +
 +<sxh bash>
 +dig -t any terra.com.br
 +
 +; <<>>​ DiG 9.8.4-rpz2+rl005.12-P1 <<>>​ -t any terra.com.br
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>​HEADER<<​- opcode: QUERY, status: NOERROR, id: 45213
 +;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 6
 +
 +;; QUESTION SECTION:
 +;​terra.com.br. ​     IN  ANY
 +
 +;; ANSWER SECTION:
 +terra.com.br. ​  86372 IN  NS  a.dns.terra.com.
 +terra.com.br. ​  86372 IN  NS  b.dns.terra.com.br.
 +terra.com.br. ​  86372 IN  NS  d.dns.terra.com.br.
 +terra.com.br. ​  86372 IN  NS  c.dns.terra.com.
 +
 +;; AUTHORITY SECTION:
 +terra.com.br. ​  86372 IN  NS  c.dns.terra.com.
 +terra.com.br. ​  86372 IN  NS  b.dns.terra.com.br.
 +terra.com.br. ​  86372 IN  NS  d.dns.terra.com.br.
 +terra.com.br. ​  86372 IN  NS  a.dns.terra.com.
 +
 +;; ADDITIONAL SECTION:
 +a.dns.terra.com. ​ 172772 ​ IN  A 200.215.193.1
 +b.dns.terra.com.br. 86372 IN  A 200.215.193.1
 +b.dns.terra.com.br. 86372 IN  AAAA  2001:​12c0:​0:​2151:​200:​154:​46:​20
 +c.dns.terra.com. ​ 172772 ​ IN  A 200.215.194.1
 +d.dns.terra.com.br. 86372 IN  A 200.215.194.1
 +d.dns.terra.com.br. 86372 IN  AAAA  2001:​12c0:​0:​2151:​200:​154:​46:​21
 +
 +;; Query time: 2 msec
 +;; SERVER: 127.0.0.1#​53(127.0.0.1)
 +;; WHEN: Sat May 31 18:00:13 2014
 +;; MSG SIZE  rcvd: 287
 +</​sxh>​
 +
 +Agora configurar os clientes para utilizar este servidor como servidor de DNS, ou podemos configurar ele como sendo um encaminhador do Windows ;) 
 +
 +
 +====== Referências ======
 +
 +  - http://​www.isc.org/​software/​bind
 +  - http://​www.isc.org/​software/​bind/​history
 +  - http://​www.isc.org/​software/​bind/​whatis
 +  - http://​www.isc.org/​software/​bind/​versions
 +  - http://​ftp.isc.org/​isc/​bind9/​
 +  - http://​www.isc.org/​software/​bind/​documentation