Servidores DNS vêm em vários tipos, como mestre, escravo, forwarding e cache, para citar alguns exemplos, sendo o DNS cache-only o mais fácil de configurar. Como o DNS usa o protocolo UDP, ele melhora o tempo de consulta porque não requer uma confirmação.

O servidor DNS cache-only também é conhecido como resolvedor, que consultará registros DNS e buscará todos os detalhes DNS de outros servidores, e manterá cada solicitação de consulta em sua cache para uso posterior, de modo que quando realizarmos a mesma solicitação no futuro, ele servirá a partir de sua cache, reduzindo ainda mais o tempo de resposta.
Se você está procurando configurar um servidor DNS cache-only em CentOS/RHEL 6, siga este guia aqui:
Configurando um Servidor de Nomes DNS Cache-Only em CentOS/RHEL 6
Meu Ambiente de Teste
DNS server : dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1) Server IP Address : 192.168.0.18 Client : node1.tecmintlocal.com (CentOS 7.1) Client IP Address : 192.168.0.29
Etapa 1: Instalando Servidor DNS Cache-Only em RHEL/CentOS 7
1. O servidor DNS cache-only pode ser instalado via pacote bind. Se você não se lembra do nome do pacote, pode fazer uma pesquisa rápida pelo nome do pacote usando o comando abaixo.
# yum search bind

2. No resultado acima, você verá vários pacotes. Desses, precisamos escolher e instalar apenas bind e bind-utils pacotes usando o seguinte comando yum.
# yum install bind bind-utils -y

Etapa 2: Configurar Servidor DNS Cache-Only em RHEL/CentOS 7
3. Uma vez que os pacotes DNS estejam instalados, podemos avançar e configurar o DNS. Abra e edite o /etc/named.conf
usando o seu editor de texto preferido. Faça as alterações sugeridas abaixo (ou você pode usar suas configurações de acordo com suas necessidades).
listen-on port 53 { 127.0.0.1; any; }; allow-query { localhost; any; }; allow-query-cache { localhost; any; };

Essas diretivas instruem o servidor DNS a escutar na porta UDP 53, e a permitir consultas e armazenamento de respostas do localhost e de qualquer outra máquina que alcance o servidor.
4. É importante observar que a propriedade deste arquivo deve ser definida como root:named
e também, se o SELinux estiver habilitado, após editar o arquivo de configuração, precisamos garantir que seu contexto esteja definido como named_conf_t
como mostrado na Fig. 4 (o mesmo vale para o arquivo auxiliar /etc/named.rfc1912.zones
):
# ls -lZ /etc/named.conf # ls -lZ /etc/named.rfc1912.zones
Caso contrário, configure o contexto do SELinux antes de prosseguir:
# semanage fcontext -a -t named_conf_t /etc/named.conf # semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones
5. Além disso, precisamos testar a configuração do DNS agora para verificar erros de sintaxe antes de iniciar o serviço bind:
# named-checkconf /etc/named.conf
6. Após os resultados da verificação de sintaxe parecerem perfeitos, reinicie o serviço named para que as novas alterações entrem em vigor e também faça com que o serviço inicie automaticamente durante as inicializações do sistema, e então verifique seu status:
# systemctl restart named # systemctl enable named # systemctl status named

7. Em seguida, abra a porta 53 no firewall.
# firewall-cmd --add-port=53/udp # firewall-cmd --add-port=53/udp --permanent

Passo 3: Chroot Cache-Only DNS Server no RHEL e CentOS 7
8. Se desejar implantar o servidor DNS somente de cache dentro do ambiente chroot, é necessário ter o pacote chroot instalado no sistema e nenhuma configuração adicional é necessária, pois por padrão ele está vinculado ao chroot.
# yum install bind-chroot -y
Depois que o pacote chroot for instalado, você pode reiniciar o named para que as novas alterações entrem em vigor:
# systemctl restart named
9. Em seguida, crie um link simbólico (também chamado de /etc/named.conf
) dentro de /var/named/chroot/etc/
:
# ln -s /etc/named.conf /var/named/chroot/etc/named.conf
Passo 4: Configurar DNS na Máquina Cliente
10. Adicione os servidores de cache DNS IP 192.168.0.18 como resolvedor na máquina cliente. Edite /etc/sysconfig/network-scripts/ifcfg-enp0s3
como mostrado na figura a seguir:
DNS=192.168.0.18

E /etc/resolv.conf conforme segue:
nameserver 192.168.0.18
11. Por fim, é hora de verificar nosso servidor de cache. Para fazer isso, você pode usar a utilitário dig ou o comando nslookup.
Escolha um site e faça a consulta duas vezes (usaremos facebook.com como exemplo). Observe que com o dig, na segunda vez a consulta é concluída muito mais rapidamente porque está sendo servida a partir do cache.
# dig facebook.com

Você também pode usar o nslookup para verificar se o servidor DNS está funcionando conforme esperado.
# nslookup facebook.com

Resumo
Neste artigo, explicamos como configurar um servidor de cache DNS apenas no Red Hat Enterprise Linux 7 e no CentOS 7, e testamos em uma máquina cliente. Sinta-se à vontade para nos informar se tiver alguma dúvida ou sugestão usando o formulário abaixo.
Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/