Instalando servidor dns somente como Cache
Este conteúdo é a continuação de Instalando servidor dns com bind no linux, por default na hora da instalação do servidor DNS o cache já vem definido definido como padrão.
Definição do servidor cache
zone "." IN {
type hint;
file "named.ca";
};
NOTA: o que defini que o servidor é cache ou não, é o campo type “hint”
Verificando o serviço do Bind
Existem várias maneira para verificar se o serviço está em LISTEN na porta 53 que seria DNS, no primeiro momento da instalação você precisa definir se as consultas dns vai partir através dele ou não.
lsof -i :53
netstat -naltu | grep 53
ps axu | grep named
Como o DNS já vem como cache, então vamos fazer alguns testes
dig – DNS lookup utility
O comando dig é dos comandos mais utilizado pela quantidade de informações que ele traz sobre uma pesquisa
dig google.com
nslookup – query Internet name servers interactively
nslookup google.com
host – DNS lookup utility
host google.com
NOTA: Se observamos a saída vai sempre ser a mesma, porém, do host vai ser um pouco diferente porque ele mostra até o servidores de e-mails mx, dns reverso, mas basicamente o que ele faz no caso do dig ele vai até meu resolv.conf e verificar quem pode responder por este IP, caso não seja um nome interno ele vai até a internet, ou seja, nos servidores root que fica no arquivo named.ca e faz uma consulta recursiva
Podemos também testar a consulta apontado para um servidor DNS que fará está consulta para nós.
dig uday.com.br @192.168.38.136
Nesta consulta eu estou falando o seguinte { o dns através do IP 192.168.38.136 verifica para mim o IP que responde por este DNS uday.com.br
Provavelmente se você estiver seguindo este tutorial desde o começo, a consulta não irá funciona, porque nosso servidor DNS que seria 192.168.38.136 não esta habilitado para fazer consultas, então para isso precisamos habilitar.
Eu preciso liberar o meu IP para escultar na porta 53, então precisamos adicionar na linha ” listen-on port 53 { 127.0.0.1; };” seu servidor dns ficando desta forma listen-on port 53 { 127.0.0.1; 192.168.38.136}; depois que você configurou precisa reiniciar o serviço e para isto existem várias maneira, vamos conhecer algumas delas
Systemd
systemctl reload named
kill
kill -1 pid do serviço
Comando original do bind
rndc reload
Uma coisa que esqueci de mencionar é quando falamos em bind estamos falando do pacote/serviço dns, o named é o serviço propriamente dito, que gerenciar as configurações, zonas etc.
Depois que configuramos o servidor 192.168.38.136 para ser nosso servidor dns, agora conseguimos fazer pesquisa através de outras máquinas, porque adicionamos as linhas listen.
Vamos imagina que estou em outra máquina o IP dele é 192.168.38.222 e partir dela irei fazer uma consulta.
dig facebook.com @192.168.38.136
Mensagem de Aviso!
Vai dar um erro de timeout, porque o servidor 192.168.38.222 não tem permissão para fazer consulta, além de inserir o servidor 192.168.38.136 para responder como DNS ele também precisa ser liberado para receber consultas dns, ou seja, qual rede ou host pode fazer esta consulta, para isso preciso liberar inserir “any” para todo mundo fazer consulta através do servidor mencionando acima ou liberar a rede inteira 192.168.38.0/24 na opção allow-query (localhost; 192.168.38.0/24;), desabilite o firewall para poder testar “systemctls stop firewalld” agora faça o teste, você observara que agora funciona tranquilamente.