Búsqueda de sitios web

Cómo instalar y configurar el 'Servidor DNS de solo caché' con 'Unbound' en RHEL/CentOS 7


Almacenamiento en caché de servidores de nombres usando 'Unbound' (es un software de servidor DNS de validación, recursivo y almacenamiento en caché), en RHEL/CentOS 6.x (donde x es el número de versión), usamos bind software para configurar servidores DNS.

En este artículo, utilizaremos el software de almacenamiento en caché 'unbound' para instalar y configurar un servidor DNS en sistemas RHEL/CentOS 7.

Los servidores de caché DNS se utilizan para resolver cualquier consulta DNS que reciben. Si el servidor almacena en caché la consulta y en el futuro las mismas consultas solicitadas por cualquier cliente, la solicitud se entregará desde la caché DNS 'no vinculada', esto se puede hacer en milisegundos que la primera vez que se resolvió.

El almacenamiento en caché solo actuará como un agente para resolver la consulta del cliente de cualquiera de los reenviadores. El uso del servidor de caché reducirá el tiempo de carga de las páginas web al mantener la base de datos de caché en un servidor independiente.

Configuración de mi servidor y cliente

Para fines de demostración, utilizaré dos sistemas. El primer sistema actuará como un servidor DNS Maestro (Primario) y el segundo sistema actuará como un cliente DNS local. fuerte>.

Servidor DNS maestro
Operating System   :    CentOS Linux release 7.0.1406 (Core)
IP Address	   :	192.168.0.50
Host-name	   :	ns.tecmintlocal.com
Máquina cliente
Operating System   :	CentOS 6
IP Address	   :	192.168.0.100
Host-name	   :	client.tecmintlocal.com

Paso 1: Verifique el nombre de host y la IP del sistema

1. Antes de configurar un servidor DNS de almacenamiento en caché, asegúrese de haber agregado el nombre de host correcto y configurado la dirección IP estática correcta para su sistema; si no, configure la dirección IP estática del sistema.

2. Después de configurar el nombre de host correcto y la dirección IP estática, puede verificarlos con la ayuda de los siguientes comandos.

hostnamectl
ip addr show | grep inet

Paso 2: Instalar y configurar Unbound

3. Antes de instalar el paquete 'Unbound', debemos actualizar nuestro sistema a la última versión, luego de eso podemos instalar el paquete independiente.

yum update -y
yum install unbound -y

4. Después de instalar el paquete, haga una copia del archivo de configuración independiente antes de realizar cambios en el archivo original.

cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original

5. A continuación, utilice cualquiera de sus editores de texto favoritos para abrir y editar el archivo de configuración 'unbound.conf'.

vim /etc/unbound/unbound.conf

Una vez que el archivo esté abierto para editarlo, realice los siguientes cambios:

Interfaces

Busque Interfaz y habilite la interfaz que vamos a utilizar o si nuestro servidor tiene varias interfaces tenemos que habilitar la interfaz 0.0.0.0.

Aquí la IP de nuestro servidor era 192.168.0.50, por lo que usaré unbound en esta interfaz.

Interface 192.168.0.50
Habilite IPv4 y compatibilidad con protocolos

Busque la siguiente cadena y conviértala en ''.

do-ip4: yes
do-udp: yes
do-tcp: yes
Habilitar el registro

Para habilitar el registro, agregue la variable como se muestra a continuación, registrará todas las actividades independientes.

logfile: /var/log/unbound
Ocultar identidad y versión

Habilite el siguiente parámetro para ocultar las consultas id.server y hostname.bind.

hide-identity: yes

Habilite el siguiente parámetro para ocultar las consultas version.server y version.bind.

hide-version: yes
Control de acceso

Luego busque control de acceso para permitir. Esto es para permitir qué clientes pueden consultar este servidor independiente.

Aquí he usado 0.0.0.0, eso significa que cualquiera envía una consulta a este servidor. Si necesitamos rechazar la consulta para algún rango de red, podemos definir qué red debe rechazarse de las consultas independientes.

access-control: 0.0.0.0/0 allow

Nota: en lugar de permitir, podemos reemplazarlo con allow_snoop, esto habilitará algunos parámetros adicionales como dig y Admite tanto recursivo como no recursivo.

Dominio inseguro

Luego busque dominio inseguro. Si nuestro dominio funciona con claves de seguridad DNS, debemos definir nuestro servidor disponible para dominio inseguro. Aquí nuestro dominio será tratado como inseguro.

domain-insecure: "tecmintlocal.com
Zonas delanteras

Luego cambie los reenviadores para nuestra consulta solicitada que este servidor no cumplió; se reenviará al dominio raíz (.) y resolverá la consulta.

forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4

Finalmente, guarde y salga del archivo de configuración usando wq!.

6. Después de realizar la configuración anterior, ahora verifique el archivo unbound.conf para detectar errores usando el siguiente comando.

unbound-checkconf /etc/unbound/unbound.conf

7. Una vez finalizada la verificación del archivo sin errores, puede reiniciar de forma segura el servicio "independiente" y habilitarlo al iniciar el sistema.

systemctl start unbound.service
sudo systemctl enable unbound.service

Paso 3: Pruebe la caché de DNS localmente

8. Ahora es el momento de comprobar nuestra caché DNS, haciendo un ‘drill’ (consulta) en un dominio ‘india.com‘. Al principio, los resultados del comando 'drill' para el dominio 'india.com' tardarán algunos milisegundos, luego realizará un segundo simulacro y tomará una nota sobre el tiempo de consulta. se necesita para ambos ejercicios.

drill india.com @192.168.0.50

¿Viste en el resultado anterior que la primera consulta tardó casi 262 ms en resolverse y la segunda consulta tardó 0 ms en resolverse el dominio (india.com).

Eso significa que la primera consulta se almacena en caché en nuestra caché DNS, por lo que cuando ejecutamos "drill" por segunda vez la consulta se sirve desde nuestra caché DNS local, de esta manera podemos mejorar la velocidad de carga de los sitios web.

Paso 4: Vacíe Iptables y agregue reglas de firewall

9. No podemos usar iptables y firewalld al mismo tiempo en la misma máquina; si lo hacemos, ambos entrarán en conflicto entre sí, por lo que eliminar las reglas de ipables será una buena idea. Para eliminar o vaciar los iptables, utilice el siguiente comando.

iptables -F

10. Después de eliminar las reglas de iptables de forma permanente, ahora agregue el servicio DNS a la lista firewalld de forma permanente.

firewall-cmd --add-service=dns
firewall-cmd --add-service=dns --permanent

11. Después de agregar las reglas del servicio DNS, enumere las reglas y confirme.

firewall-cmd --list-all

Paso 5: Administrar y solucionar problemas de Unbound

12. Para obtener el estado actual del servidor, utilice el siguiente comando.

unbound-control status

Volcar la caché de DNS

13. Si desea tener un volcado de la información de la caché DNS en un archivo de texto, puede redirigirlo a algún archivo usando el siguiente comando para uso futuro.

 # unbound-control dump_cache > /tmp/DNS_cache.txt

14. Para restaurar o importar el caché del archivo volcado, puede utilizar el siguiente comando.

unbound-control dump_cache < /tmp/DNS_cache.txt

Limpiar registros DNS

15. Para verificar si nuestros reenviadores resolvieron la dirección específica en el servidor de caché independiente, use el siguiente comando.

unbound-control lookup google.com

16. Algunas veces, si nuestro servidor de caché DNS no responde a nuestra consulta, mientras tanto podemos vaciar el caché para eliminar información como A, AAA. , NS, SO, CNAME, MX, PTR, etc. .. registros de la caché DNS. Podemos eliminar toda la información usando flush_zone, esto eliminará toda la información.

unbound-control flush linux-console.net
unbound-control flush_zone tecmintlocal.com

17. Para comprobar qué reenvíos se utilizan actualmente para resolver.

unbound-control list_forwards

Paso 6: Configuración de DNS del lado del cliente

18. Aquí he usado un servidor CentOS 6 como mi máquina cliente, la IP de esta máquina es 192.168.0.100 y voy a utilizar la IP de mi servidor DNS independiente (es decir, DNS principal) en la configuración de su interfaz.

Inicie sesión en la máquina del Cliente y configure la IP del servidor DNS principal en la IP de nuestro servidor independiente.

Ejecute el comando de configuración y elija la configuración de red en el administrador de red TUI.

Luego elija la configuración DNS, inserte la IP del servidor DNS independiente como DNS principal, pero aquí he usado tanto en Primario como en Secundario porque no tengo ningún otro servidor DNS.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Haga clic en Aceptar –> Guardar y salir –> Salir.

19. Después de agregar las direcciones IP DNS primarias y secundarias, ahora es el momento de reiniciar la red usando el siguiente comando.

/etc/init.d/network restart

20. Ahora es el momento de acceder a cualquiera de los sitios web desde la máquina cliente y comprobar el caché en el servidor DNS independiente.

elinks aol.com
dig aol.com

Conclusión

Anteriormente estábamos acostumbrados a configurar el servidor de caché DNS usando el paquete bind en los sistemas RHEL y CentOS. Ahora hemos visto cómo configurar un servidor de caché DNS utilizando un paquete independiente. Espero que esto resuelva su solicitud de consulta más rápido que el paquete de enlace.