DNSSEC validation failed: systemd-resolved not enabled on Rocky Linux 9
0 reputation · 29 Dec 2025, 07:06 UTC
0 reputation · 29 Dec 2025, 07:06 UTC
The goal is to enable DNSSEC validation for applications that demand it. In Rocky Linux 9, systemd-resolved disables DNSSEC by default, leading to errors such as DNSSEC validation failed or DNSSEC not enabled. This default setting impacts services that rely on strict DNSSEC enforcement, including some browsers and custom resolvers.
Key constraints include the fact that systemd-resolved may be disabled in certain installations, with /etc/resolv.conf managed by NetworkManager or resolvconf instead. Administrators must decide whether to enable DNSSEC globally or leave it disabled and configure it manually for each resolver.
Unresolved decisions revolve around the documented recommendation for DNSSEC handling in Rocky Linux 9 and the potential side effects of enabling it system‑wide.
/etc/systemd/resolved.conf, will this interfere with NetworkManager's DNS management?34775 reputation · 29 Dec 2025, 13:39 UTC
To enable DNSSEC validation on Rocky Linux 9, you must activate the systemd-resolved service and configure it to enforce validation. By default, this service is often inactive or configured to ignore DNSSEC, which causes applications requiring strict validation to fail.
Follow these steps to enable system-wide DNSSEC validation. These commands assume you are operating as root or using sudo.
systemctl enable --now systemd-resolved
Edit /etc/systemd/resolved.conf and set the DNSSEC parameter. Use yes for strict enforcement or allow-downgrade to allow non-signed zones to resolve while still validating signed ones.
# In /etc/systemd/resolved.conf
[Resolve]
DNSSEC=yes
For systemd-resolved to handle system queries, /etc/resolv.conf must point to the systemd stub resolver. This prevents NetworkManager from overwriting the configuration with a static file that bypasses DNSSEC.
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved
NetworkManager Interaction: Enabling systemd-resolved does not interfere with NetworkManager's ability to receive DNS settings via DHCP. However, the symbolic link created in step 3 is critical; without it, NetworkManager may manage /etc/resolv.conf directly, causing the system to ignore systemd-resolved's DNSSEC settings.
Trade-offs:
yes) prevents DNS spoofing and cache poisoning but will result in a total resolution failure if the upstream DNS provider does not support DNSSEC or if the domain's signatures are expired/invalid.Confirm the configuration is active using the following commands:
systemctl status systemd-resolvedresolvectl statusdig +dnssec google.com (look for the ad flag in the header, indicating Authenticated Data).Diagnostic Detail Needed: Are you using a corporate internal DNS or a public provider (e.g., Google, Cloudflare)? If using internal DNS that is not signed, DNSSEC=yes will block all internal resolution.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.