Skip to main content

Usar resolv.conf directo en Fedora desactivando systemd-resolved


Este apunte documenta cómo forzar que Fedora utilice AdGuardHome como resolutor DNS directo, desactivando systemd-resolved, validando DNSSEC correctamente y asegurando que los cambios persistan tras reinicio.


Características

  • Desactiva completamente systemd-resolved.
  • Utiliza un resolv.conf estático y personalizado.
  • Resuelve nombres DNS a través de AdGuardHome.
  • Valida correctamente DNSSEC.
  • Compatible con la resolución de nombres .lan.internal ( o el que quieras ) si se combina con reescrituras desde Tailscale.

Requisitos previos

  • Fedora instalado y actualizado.
  • AdGuardHome configurado como resolutor DNS.
  • Haber verificado que AdGuard valida DNSSEC (por ejemplo, usando Cloudflare o NextDNS como upstreams).

Desactivar systemd-resolved en Fedora

Fedora utiliza por defecto un stub DNS en 127.0.0.53, gestionado por systemd-resolved, lo cual puede interferir si queremos usar AdGuardHome como resolutor principal.

1. Comprobar estado actual

cat /etc/resolv.conf

Si ves algo como esto:

# This is /run/systemd/resolve/stub-resolv.conf managed by systemd-resolved(8)
nameserver 127.0.0.53

Estás usando el stub DNS. También puedes verificar con:

resolvectl status

Si ves DNSSEC=no/unsupported, significa que no se está validando correctamente.

2. Detener y deshabilitar systemd-resolved

sudo systemctl disable --now systemd-resolved

3. Eliminar el symlink de resolv.conf

sudo rm -f /etc/resolv.conf

4. Crear un resolv.conf estático personalizado (usa tus DNS locales)

sudo tee /etc/resolv.conf > /dev/null <<EOF
nameserver 192.168.1.5
nameserver 192.168.1.155
search lan.internal
options trust-ad edns0 timeout:1 attempts:2 rotate
EOF

Este archivo:

  • Usa directamente tus resolutores locales (AdGuard).
  • Habilita la confianza en firmas DNS (trust-ad).
  • Permite extensiones modernas (edns0).
  • Optimiza los tiempos de espera y el reintento.

Verificar funcionamiento

Resolución básica

dig google.com

DNSSEC fallido (debe dar SERVFAIL)

dig +dnssec dnssec-failed.org

DNSSEC correcto (debe dar flags: ... ad)

dig +dnssec sigok.verteiltesysteme.net

Resultado final

  • Fedora ya no intercepta ni redirige peticiones DNS.
  • resolv.conf permanece inmutable.
  • Todo se resuelve a través de AdGuardHome.
  • DNSSEC se valida correctamente.
  • Puedes resolver hosts de Tailscale si has sincronizado rewrites: en AdGuard.
  • En caso de que NetworkManager modifique nuestro resolv.conf, podemos aplicarle sudo chattr +i /etc/resolv.conf para que sea inmutable.

Enlaces de interés