Differences

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

Link to this comparison view

bind_trabalhando_servidor_cache_dns_debian_squeeze_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== ​ Bind trabalhando como servidor de Cache DNS + Debian Squeeze ======
  
 +
 +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: 10.13.0.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;​ 10.13.0.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 ​
 +Jul  5 21:15:39 debian named[8212]:​ listening on IPv4 interface eth0, 10.13.0.254#​53
 +Jul  5 21:15:39 debian named[8212]:​ generating session key for dynamic DNS
 +Jul  5 21:15:39 debian named[8212]:​ set up managed keys zone for view _default, file '​managed-keys.bind'​
 +Jul  5 21:15:39 debian named[8212]:​ command channel listening on 127.0.0.1#​953
 +Jul  5 21:15:39 debian named[8212]:​ zone 0.in-addr.arpa/​IN:​ loaded serial 1
 +Jul  5 21:15:39 debian named[8212]:​ zone 127.in-addr.arpa/​IN:​ loaded serial 1
 +Jul  5 21:15:39 debian named[8212]:​ zone 255.in-addr.arpa/​IN:​ loaded serial 1
 +Jul  5 21:15:39 debian named[8212]:​ zone localhost/​IN:​ loaded serial 2
 +Jul  5 21:15:39 debian named[8212]:​ managed-keys-zone ./IN: loaded serial 0
 +Jul  5 21:15:39 debian named[8212]:​ 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: 200.154.56.80
 +</​sxh>​
 +
 +Vamos efetuar uma consulta agora com o dig 
 +
 +<sxh bash>
 +
 +dig -t any terra.com.br
 + 
 +; <<>>​ DiG 9.7.3 <<>>​ -t any terra.com.br
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>​HEADER<<​- opcode: QUERY, status: NOERROR, id: 64643
 +;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 4
 + 
 +;; QUESTION SECTION:
 +;​terra.com.br. ​     IN  ANY
 + 
 +;; ANSWER SECTION:
 +terra.com.br. ​  ​9874 ​ IN  NS  c.dns.terra.com.
 +terra.com.br. ​  ​9874 ​ IN  NS  d.dns.terra.com.br.
 +terra.com.br. ​  ​9874 ​ IN  NS  a.dns.terra.com.
 +terra.com.br. ​  ​9874 ​ IN  NS  b.dns.terra.com.br.
 + 
 +;; AUTHORITY SECTION:
 +terra.com.br. ​  ​9874 ​ IN  NS  a.dns.terra.com.
 +terra.com.br. ​  ​9874 ​ IN  NS  b.dns.terra.com.br.
 +terra.com.br. ​  ​9874 ​ IN  NS  c.dns.terra.com.
 +terra.com.br. ​  ​9874 ​ IN  NS  d.dns.terra.com.br.
 + 
 +;; ADDITIONAL SECTION:
 +a.dns.terra.com. ​ 9777  IN  A 200.215.193.1
 +b.dns.terra.com.br. 73372 IN  A 200.215.193.1
 +c.dns.terra.com. ​ 9777  IN  A 200.215.194.1
 +d.dns.terra.com.br. 73372 IN  A 200.215.194.1
 + 
 +;; Query time: 2 msec
 +;; SERVER: 127.0.0.1#​53(172.31.0.120)
 +;; WHEN: Thu Jul  5 21:15:39 2012
 +;; MSG SIZE  rcvd: 231
 +</​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