DNS Cache no Bind9
Este artigo demonstra como podemos criar um DNS cache utilizando o Bind9. Todas as informações neste artigo tiveram como base pesquisas na internet e testes reais em produção.
[ Hits: 123.711 ]
Por: Adriano em 17/11/2008 | Blog: http://www.mendes-it.com.br
Configuração do DNS cache
Volte para o diretório raiz:
# cd /
Remova qualquer configuração de Bind que exista:
# rm -rf /chroot/named
Criando o chroot:
# mkdir -p /chroot/named
# cd /chroot/named
Criando usuário e grupo:
# groupadd named
# useradd -g named -d /chroot/named -s /bin/true named
# passwd -l named
Criando os diretórios filhos:
# mkdir dev
# mkdir etc
# mkdir logs
# mkdir -p var/run
# mkdir -p conf/secondaries
Criando os devices:
# mknod dev/null c 1 3
# mknod dev/zero c 1 5
# mknod dev/random c 1 8
Copiando o arquivo de timezone:
# cp /etc/localtime etc
Criando link simbólico:
# ln -sf /chroot/named/etc/named.conf /etc/named.conf
Página anterior Próxima página
Páginas do artigo
1.
Download e instalação
2. Configuração do DNS cache
3.
Continuando a configuração do DNS cache
4.
Configuração do DNS cache (parte 3)
5.
Configuração do DNS cache (parte 4)
6.
Configuração do DNS cache (parte 5)
Outros artigos deste autor
OpenVPN - Instalação e configuração
Squid como proxy transparente: Instalando e configurando
Squid autenticado - Instalar e configurar
Leitura recomendada
Funtoo + bspwm + Polybar + Rofi - Instalação e Configuração
Rodando um aplicativo em modo Kiosk no Ubuntu Linux 20.04
Como desabilitar RAID 1
Warcraft 3 - Eurobattle.net
Squid configurado como proxy no Ubuntu Server
Comentários
excelente artigo, gostei mesmo!
Pode tirar uma dúvida?
Caso não tenha a opção forward only no named.conf e somente a opção forwarders { name servers} o que acontece?
E também se só existir a opção forward only ele redireciona para que servidores, para o raiz "."?
Obrigado.
Mensagem
Pode tirar uma dúvida?
Caso não tenha a opção forward only no named.conf e somente a opção forwarders { name servers} o que acontece?
E também se só existir a opção forward only ele redireciona para que servidores, para o raiz "."?
Obrigado.
Pelo teste que fiz aqui se retirar a forward only ele da um erro e o serviço não inicia.
Se você quer deixar ele se nenhum forward configurado basta você comentar estas linas ou retira-las.
forward only;
forwarders { 0.0.0.0; 1.1.1.1; };
Desta forma ele faz a consulta direta nos servidores raiz.
Faz um teste retira estas linhas e acompanha o log
da um tail -f /var/log/messages vai ser este caminho nas distribuições fedora, redhat ou centOS
Desta forma você consegue ver que no momento em que ele não acha o registro em um DNS ele faz a consulta em outro servidor raiz.
Mensagem
Pelo teste que fiz aqui se retirar a forward only ele da um erro e o serviço não inicia.
Se você quer deixar ele se nenhum forward configurado basta você comentar estas linas ou retira-las.
forward only;
forwarders { 0.0.0.0; 1.1.1.1; };
Desta forma ele faz a consulta direta nos servidores raiz.
Faz um teste retira estas linhas e acompanha o log
da um tail -f /var/log/messages vai ser este caminho nas distribuições fedora, redhat ou centOS
Desta forma você consegue ver que no momento em que ele não acha o registro em um DNS ele faz a consulta em outro servidor raiz.
amigos gostaria de saber se é possível usar a tecnologia 3G no linux ubuntu ou slackware?
Grato!!!!
Mensagem
amigos gostaria de saber se é possível usar a tecnologia 3G no linux ubuntu ou slackware?
Grato!!!!
Mensagem
muito bom esse artigo...
ira me ajudar muito
mas por enquanto, vc poderia me responder uma pergunta?
para cache
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?
Para que ele trabalhe em modo cache basta seguir este tutorial que irá funcionar perfeitamente.
O resolv.conf deve apontar para a sua propria máquina conforme está descrito no artigo.
Mensagem
Para que ele trabalhe em modo cache basta seguir este tutorial que irá funcionar perfeitamente.
O resolv.conf deve apontar para a sua propria máquina conforme está descrito no artigo.
pelo yum da pra instalar ele? ou faltaria algum pacote?
Mensagem
pelo yum da pra instalar ele? ou faltaria algum pacote?
tive o seguinte erro na instalacao:
./configure --with-openssl=/usr/local/openssl --disable-ipv6 --disable-threads --prefix=/usr/local
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for ar... /usr/bin/ar
checking for etags... no
checking for emacs-etags... no
checking for perl5... no
checking for perl... /usr/bin/perl
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
o q seria isso?
Mensagem
tive o seguinte erro na instalacao:
./configure --with-openssl=/usr/local/openssl --disable-ipv6 --disable-threads --prefix=/usr/local
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for ar... /usr/bin/ar
checking for etags... no
checking for emacs-etags... no
checking for perl5... no
checking for perl... /usr/bin/perl
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
o q seria isso?
Pelo yum você consegue instalar sim pois ele resolve todas as dependências.
Mensagem
Pelo yum você consegue instalar sim pois ele resolve todas as dependências.
entao, agora que eu estive vendo
instalei ele pelo yum, e fui localizando os arquivos "locate nome do arquivo"
e modificando-os conforme descrito aqui no tutorial (porem, alguns estavam exatamente igual ao do artigo).
contudo, quando dei: rndc status
recebi a seguinte mensagem:
rndc: connect failed: 127.0.0.1#953: connection refused
em tail -f /var/log/messages
me aparece o seguinte erro:
Mar 18 07:10:52 tucana named[15337]: found 1 CPU, using 1 worker thread
Mar 18 07:10:52 tucana named[15337]: using up to 4096 sockets
Mar 18 07:10:52 tucana named[15337]: loading configuration from '/etc/named.conf'
Mar 18 07:10:52 tucana named[15337]: /etc/named.conf:46: '{' expected near '"'
Mar 18 07:10:52 tucana named[15337]: loading configuration: unexpected token
Mar 18 07:10:52 tucana named[15337]: exiting (due to fatal error)
Mensagem
entao, agora que eu estive vendo
instalei ele pelo yum, e fui localizando os arquivos "locate nome do arquivo"
e modificando-os conforme descrito aqui no tutorial (porem, alguns estavam exatamente igual ao do artigo).
contudo, quando dei: rndc status
recebi a seguinte mensagem:
rndc: connect failed: 127.0.0.1#953: connection refused
em tail -f /var/log/messages
me aparece o seguinte erro:
Mar 18 07:10:52 tucana named[15337]: found 1 CPU, using 1 worker thread
Mar 18 07:10:52 tucana named[15337]: using up to 4096 sockets
Mar 18 07:10:52 tucana named[15337]: loading configuration from '/etc/named.conf'
Mar 18 07:10:52 tucana named[15337]: /etc/named.conf:46: '{' expected near '"'
Mar 18 07:10:52 tucana named[15337]: loading configuration: unexpected token
Mar 18 07:10:52 tucana named[15337]: exiting (due to fatal error)
Caros amigos,
Excelente guia de configuração postado aqui pelo Adriano!!!
Gostaria de saber o seguinte:
- Este guia serve para Slackware?
- Como é o funcionamento? A medida que ele vai resolvendo os endereços, vai armazenando ou não?
- Para que serve ao certo o "chroot"? Li a respeito na internet, mas nada muito objetivo.
Grato!!!
Mensagem
Caros amigos,
Excelente guia de configuração postado aqui pelo Adriano!!!
Gostaria de saber o seguinte:
- Este guia serve para Slackware?
- Como é o funcionamento? A medida que ele vai resolvendo os endereços, vai armazenando ou não?
- Para que serve ao certo o "chroot"? Li a respeito na internet, mas nada muito objetivo.
Grato!!!
poderia me exclarecer uma duvida?
uso fedora 10
se eu instalar o bind atraves do yum...
ele ja instala todas as dependecias... correto!
mas no caso para ele rodar apenas para cache
eu devo adicionar no.conf dele:
forward only;
forwarders
é isso? ou eu devo criar aquelas zonas todas la?
Mensagem
poderia me exclarecer uma duvida?
uso fedora 10
se eu instalar o bind atraves do yum...
ele ja instala todas as dependecias... correto!
mas no caso para ele rodar apenas para cache
eu devo adicionar no.conf dele:
forward only;
forwarders
é isso? ou eu devo criar aquelas zonas todas la?
Pelo um eu instalei em um fedora 9
yum install bind*
E ele gerou automaticamente o arquivo /etc/named.conf com as configirações necessárias.
Com o Fedora 10 eu não testei pois achei ele muito lento durante a inicialização.
Mensagem
Pelo um eu instalei em um fedora 9
yum install bind*
E ele gerou automaticamente o arquivo /etc/named.conf com as configirações necessárias.
Com o Fedora 10 eu não testei pois achei ele muito lento durante a inicialização.
fiz conforme descrito aqui, nenhum erro...
porem...
quando dei o comando:
chmod a+x /chroot/named.start
tive a seguinte resposta:
chmod: impossivel acessar `/chroot/named.start': Arquivo ou diretorio nao encontrado
o q devo fazer?
Mensagem
fiz conforme descrito aqui, nenhum erro...
porem...
quando dei o comando:
chmod a+x /chroot/named.start
tive a seguinte resposta:
chmod: impossivel acessar `/chroot/named.start': Arquivo ou diretorio nao encontrado
o q devo fazer?
Andri
A propria mensagem diz
"" chmod: impossivel acessar `/chroot/named.start': Arquivo ou diretorio nao encontrado ""
Você verificou se o arquivo existe.
Qual a versão o seu SO ?
Mensagem
Andri
A propria mensagem diz
"" chmod: impossivel acessar `/chroot/named.start': Arquivo ou diretorio nao encontrado ""
Você verificou se o arquivo existe.
Qual a versão o seu SO ?
meu sistema eh o Fedora 10
fiz a instalacao dessa vez atraves do yum...
ele fez toda a instalacao automaticamente, dependencias, tudo...
deixei o named da seguinte forma: /etc/named.conf
#####
options {
listen-on port 53 { 172.167.0.0/16; 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 172.167.0.0/16; localhost; };
recursion yes;
tcp-clients 1000;
version "Not Available";
recursive-clients 1000;
forwarders { 201.10.128.2; 201.10.120.3; 189.38.95.95; 189.38.95.96; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
#####
alterei o resolv.conf
coloquei o dominio e 127.0.0.1
alterei o dhcpd... coloquei como dns o endereco do servidor...
dei start nele: service named start
restart no dhcpd...
bom, funcionou normalmente, estou navegando.
porem, se eu paro o named, eu continuo navegando do mesmo jeito O.o
ta certo?
como faco o teste?
PS:
se eu entro no prompt de comando em alguma maquina da rede interna e digito:
nslookup
www.terra.com.br
ele informa o endreco do servidor
e depois o endereco do terra.
Mensagem
meu sistema eh o Fedora 10
fiz a instalacao dessa vez atraves do yum...
ele fez toda a instalacao automaticamente, dependencias, tudo...
deixei o named da seguinte forma: /etc/named.conf
#####
options {
listen-on port 53 { 172.167.0.0/16; 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 172.167.0.0/16; localhost; };
recursion yes;
tcp-clients 1000;
version "Not Available";
recursive-clients 1000;
forwarders { 201.10.128.2; 201.10.120.3; 189.38.95.95; 189.38.95.96; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
#####
alterei o resolv.conf
coloquei o dominio e 127.0.0.1
alterei o dhcpd... coloquei como dns o endereco do servidor...
dei start nele: service named start
restart no dhcpd...
bom, funcionou normalmente, estou navegando.
porem, se eu paro o named, eu continuo navegando do mesmo jeito O.o
ta certo?
como faco o teste?
PS:
se eu entro no prompt de comando em alguma maquina da rede interna e digito:
nslookup www.terra.com.br
ele informa o endreco do servidor
e depois o endereco do terra.
Faz um teste simples.. tira o cabo de rede da máquina do DNS.
Você tem algum proxy ? ou dns setado dentro das configurações do proxy.
Mensagem
Faz um teste simples.. tira o cabo de rede da máquina do DNS.
Você tem algum proxy ? ou dns setado dentro das configurações do proxy.
opa.. ja consegui...
parece que era as opcaoes dns_nameservers e fqdncache do squid...
funcionando 100%
mas me diz... falam que eh sempre bom colocar no squid os servidores dns...
como adiciono agora, para ele procurar na mesma maquina? 127.0.0.1?
Mensagem
opa.. ja consegui...
parece que era as opcaoes dns_nameservers e fqdncache do squid...
funcionando 100%
mas me diz... falam que eh sempre bom colocar no squid os servidores dns...
como adiciono agora, para ele procurar na mesma maquina? 127.0.0.1?
O DNS da sua máquina deve ser 127.0.0.1 ou o ip da propria máquina.
Se o proxy estiver na mesmo servidor pode ser 127.0.0.1 ou o proprio ip da máquina.
Para ver o log do dns você tem que dar um cat /var/log/messages.
Mas lembre que nas configurações do DNS você deve habilitar o ip 127.0.0.1 para resolver nome e o ip do servidor.
Mensagem
O DNS da sua máquina deve ser 127.0.0.1 ou o ip da propria máquina.
Se o proxy estiver na mesmo servidor pode ser 127.0.0.1 ou o proprio ip da máquina.
Para ver o log do dns você tem que dar um cat /var/log/messages.
Mas lembre que nas configurações do DNS você deve habilitar o ip 127.0.0.1 para resolver nome e o ip do servidor.
Contribuir com comentário
Enviar