Linux Default DNS server

Date: 2021-04-12

Source: https://www.linuxbabe.com/ubuntu/set-up-local-dns-resolver-ubuntu-20-04-bind9

Systemd-resolved provides the stub resolver on Ubuntu 20.04. As mentioned in the beginning of this article, a stub resolver is a small DNS client on the end-user’s computer that receives DNS requests from applications such as Firefox and forward requests to a recursive resolver.

The default recursive resolver can be seen with this command.

systemd-resolve --status
local-dns-resolver-ubuntu-20.04

Hint: If the above command doesn’t quit immediately, you can make it quit by pressing the Q key.

As you can see, BIND isn’t the default. If you run the following command on the BIND server,

dig A facebook.com

This DNS query can’t be found in BIND log. Instead, you need to explicitly tell dig to use BIND.

dig A facebook.com @127.0.0.1

To set BIND as the default resolver, open the systemd-resolved configuration file.

sudo nano /etc/systemd/resolved.conf

In the [Resolve] section, add the following line. This will set a global DNS server for your server.

DNS=127.0.0.1
bind dns resolver

Save and close the file. Then restart systemd-resolved service.

sudo systemctl restart systemd-resolved

Now run the following command to check the default DNS resolver.

systemd-resolve --status
bind9-recursive-resolver-ubuntu-20.04

Now perform a DNS query without specifying 127.0.0.1.

dig A facebook.com
48560cookie-checkLinux Default DNS server