En sistemas Linux, los dominios .local
no se resuelven automáticamente porque .local
se reserva generalmente para mDNS (Multicast DNS) mediante herramientas como Avahi
o systemd-resolved
. Sin embargo, puedes configurar un Linux para que resuelva dominios .local
de forma personalizada. Aquí tienes una guía paso a paso:
Paso 1: Verifica la existencia de Avahi o systemd-resolved
Si tu dominio .local
debe resolverse mediante mDNS:
- Asegúrate de que
avahi-daemon
esté instalado y ejecutándose.sudo systemctl status avahi-daemon
Si no está instalado:sudo apt update && sudo apt install avahi-daemon
sudo systemctl start avahi-daemon
- Alternativamente, verifica si
systemd-resolved
maneja.local
:sudo systemctl status systemd-resolved
Paso 2: Configura la resolución DNS para .local
- Edita
/etc/nsswitch.conf
Este archivo define el orden de búsqueda para nombres de dominio. Asegúrate de quemdns
esté en la línea dehosts
:sudo nano /etc/nsswitch.conf
Modifica la línea dehosts
para que se vea así:hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
files
: Busca en/etc/hosts
.mdns4_minimal
: Activa mDNS para dominios.local
.
Guarda y cierra el archivo. - Configura el archivo
/etc/hosts
(opcional, si quieres resolver.local
manualmente): Agrega las entradas necesarias:sudo nano /etc/hosts
Ejemplo:192.168.1.100 server.local
Paso 3: Habilita mDNS si no lo está
Asegúrate de que Avahi o systemd-resolved manejen mDNS. Verifica el archivo de configuración:
Con Avahi
Edita /etc/avahi/avahi-daemon.conf
:
sudo nano /etc/avahi/avahi-daemon.conf
Asegúrate de que el parámetro domain-name
esté configurado:
domain-name=local
Reinicia Avahi:
sudo systemctl restart avahi-daemon
Con systemd-resolved
Edita /etc/systemd/resolved.conf
:
sudo nano /etc/systemd/resolved.conf
Agrega o verifica lo siguiente:
MulticastDNS=yes
Reinicia el servicio:
sudo systemctl restart systemd-resolved
Paso 4: Prueba la configuración
- Intenta resolver un dominio
.local
:ping server.local
Si funciona, verás una respuesta del dominio configurado. - Usa
dig
onslookup
para mayor detalle:dig server.local
Ejemplo de ficheros configurados
/etc/nsswitch.conf
:hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
/etc/hosts
:127.0.0.1 localhost
192.168.1.100 server.local
/etc/avahi/avahi-daemon.conf
:[server] domain-name=local
/etc/systemd/resolved.conf
:[Resolve] MulticastDNS=yes
Recomendación: Uso de systemd-resolved para Resolver Dominios .local
Si estás configurando un sistema Linux para resolver dominios .local
, systemd-resolved es una solución moderna, integrada y altamente eficiente. Es preferible usarlo en entornos actuales por las siguientes razones:
Ventajas de systemd-resolved
Si ya utilizas systemd en tu sistema (que es común en distribuciones modernas), systemd-resolved funciona de manera natural y eficiente.
Soporte Nativo para Multicast DNS (mDNS):
Maneja dominios .local
de manera integrada sin necesidad de herramientas adicionales como Avahi.
Configuración sencilla para habilitar MulticastDNS.
Compatibilidad con Resolvencia Tradicional y DNS Moderno:
Puede funcionar junto con /etc/resolv.conf
o mediante una configuración personalizada.
Admite características avanzadas como DNS over TLS y split DNS para redes complejas.
Gestión Centralizada de Resolución de Nombres:
Simplifica el manejo de servidores DNS y búsqueda de dominios desde una única configuración.
Integración Sólida con systemd:
Si ya utilizas systemd en tu sistema (que es común en distribuciones modernas), systemd-resolved funciona de manera natural y eficiente.