Instale e Configure um Servidor de DNS Apenas para Cache no RHEL/CentOS 7 – Parte 10

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.

RHCE Series: Setup Cache-Only DNS in RHEL and CentOS 7 – Part 11

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
Search DNS Bind Package

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
Install DNS Bind in RHEL/CentOS 7

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; };
Configure Cache-Only DNS in CentOS and RHEL 7

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
Configure and Start DNS Named Service

7. Em seguida, abra a porta 53 no firewall.

# firewall-cmd --add-port=53/udp
# firewall-cmd --add-port=53/udp --permanent
Open DNS Port 53 on Firewall

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
Configure DNS on Client Machine

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
Check Cache only DNS Queries

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

# nslookup facebook.com
Checking DNS Query with nslookup

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/