En ocasiones, al comenzar a desplegar una nueva infraestructura, necesitamos contar rápidamente con un DNS server sencillo, liviano y fácil de configurar.
Precisamente es lo que dnsmasq puede ofrecernos, infraestructura de red sencilla de implementar para redes pequeñas.
Contenido |
---|
1. Requerimientos |
2. Instalación de Dnsmasq |
3. Configuración de Dnsmasq |
4. Prueba de resolución de nombres |
5. Links de referencia |
1. Requerimientos
Lo necesario para utilizar esta guía, así como está detallada.
Debian 10 |
Dnsutils (opcional, solo para hacer pruebas) |
2. Instalación de Dnsmasq
Desde la línea de comandos de Debian ejecutamos.
apt install dnsmasq -y
Por defecto dnsmasq reenvía las consultas al servidor DNS configurado en el sistema: /etc/resolv.conf
Vamos a hacer una prueba rápida para ver si ya está funcionando la resolución de nombres a través de dnsmasq ejecutando.
dig debian.org @localhost
Si este comando devuelve algo similar a esto, ya está funcionando.
...
;; ANSWER SECTION:
debian.org. 66 IN A 128.31.0.62
debian.org. 66 IN A 130.89.148.77
debian.org. 66 IN A 149.20.4.15
...
3. Configuración de Dnsmasq
Editamos el archivo de configuración de dnsmasq ejecutando.
vim /etc/dnsmasq.conf
Buscamos estas líneas.
# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
# no-resolv
Entonces descomentamos la línea # no-resolv.
Y creamos los registros que necesitamos siguiendo este formato:
address=/miregistro.midominio.local/dirección_ip
La configuración final debería verse parecida a este ejemplo.
... no-resolv address=/mint.local.domain/192.168.0.12 address=/win10.local.domain/192.168.0.18 address=/router.local.domain/192.168.0.1 ...
Vamos a validar la sintaxis de nuestra configuración ejecutando.
dnsmasq --test
Si la salida se ve así, podemos continuar.
dnsmasq: syntax check OK.
Reiniciamos el servicio ejecutando.
systemctl restart dnsmasq
Y verificamos que haya levantado correctamente ejecutando.
systemctl status dnsmasq
Si todo sigue bien, deberíamos ver algo así.
* dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-06-27 10:20:39 -03; 21min ago
...
4. Prueba de resolución de nombres
Para probar la resolución de nombres voy a utilizar la línea de comandos de Windows. Al final del comando se indica la dirección IP del Debian donde se está ejecutando dnsmasq, en mi caso es: 192.168.0.40.
nslookup mint.local.domain 192.168.0.40
La salida debería ser similar a esta.
...
Name: mint.local.domain
Address: 192.168.0.12
Ya tenemos el servicio de DNS funcionando.
Espero esta información te haya sido tan útil como a mi.
5. Links de referencia
Para crear esta guía investigué en las páginas que indico debajo.
Advanced Dnsmasq Tips and Tricks
Disclaimer: por favor utilizar este material bajo tu responsabilidad. No aplicar en ambientes productivos sin haberlo probado antes y asegurate de tener siempre una copia de seguridad.