====== Ubuntu - Networking - DNS - Configure DNS ======
**ALERT:** There are multiple areas where DNS can be set.
It is recommended to only set them in one place, as if set in multiple places then all these DNS resolvers may be used which can result in additional work and confusion when viewing logs.
----
===== Using Netplan =====
==== Set the DNS ====
...
[DEVICE_NAME]:
...
nameservers:
addresses: [1.1.1.1, 9.9.9.9]
**NOTE:** The filename under **/etc/netplan** might be different.
----
===== Using Global DNS Setting =====
==== Set the DNS ====
[Resolve]
DNS=9.9.9.9
FallbackDNS=149.112.112.112
DNSSEC=true
DNSOverTLS=opportunistic
**NOTE:** This sets both DNSSEC and DNSOverTLS too.
DNSSEC helps prevent a potential attacker from modifying your DNS responses. systemd-resolved does not enforce this by default.
----
==== To use multiple resolvers and IPv6 ====
[Resolve]
# Use Quad9.net DNS, and Cloudflare DNS.
# Both supports DNS over TLS and DNSSEC,
# and promises not to log DNS queries.
DNS=2620:fe::fe 9.9.9.9 \
2606:4700:4700::1111 1.1.1.1
FallbackDNS=2620:fe::9 149.112.112.112 \
2606:4700:4700::1001 1.0.0.1
# Attempt to use DNS over TLS.
DNSOverTLS=opportunistic
# Enforce DNSSEC validation.
DNSSEC=true
----
===== Restart the systemd-resolved service =====
sudo systemctl restart systemd-resolved.service
**NOTE:** A restart of the service is needed to allow any DNS changes to take affect.
----
==== Check the systemd-resolv service is running ====
sudo systemctl status systemd-resolved.service
returns:
● systemd-resolved.service - Network Name Resolution
Loaded: loaded (/lib/systemd/system/systemd-resolved.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-03-17 19:28:19 GMT; 4 days ago
Docs: man:systemd-resolved.service(8)
https://www.freedesktop.org/wiki/Software/systemd/resolved
https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
Main PID: 1160 (systemd-resolve)
Status: "Processing requests..."
Tasks: 1 (limit: 77016)
Memory: 7.6M
CGroup: /system.slice/systemd-resolved.service
└─1160 /lib/systemd/systemd-resolved
Mar 17 19:28:19 bigmamba systemd[1]: Starting Network Name Resolution...
Mar 17 19:28:19 bigmamba systemd-resolved[1160]: Positive Trust Anchors:
Mar 17 19:28:19 bigmamba systemd-resolved[1160]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
Mar 17 19:28:19 bigmamba systemd-resolved[1160]: Negative trust anchors: 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in->
Mar 17 19:28:19 bigmamba systemd-resolved[1160]: Using system hostname 'bigmamba'.
Mar 17 19:28:19 bigmamba systemd[1]: Started Network Name Resolution.
Mar 17 19:30:37 bigmamba systemd-resolved[1160]: Flushed all caches.
Mar 20 10:47:01 bigmamba systemd-resolved[1160]: Flushed all caches.
----
==== Check status ====
systemd-resolve --status
returns:
Global
...
DNS Servers: 9.9.9.9
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
...
Link 4 (br0)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 1.1.1.1
DNS Servers: 1.1.1.1
DNS Domain: localdomain
...
----