DNS on Linux

Domain Name Resolution (DNS) on Linux is done in a very similar way to DNS on BSD. It is worth reiterating that DNS was invented for BSD.


Name resolution

Name Service Switch

The Name Service Switch (NSS) configuration file (/etc/nsswitch.conf) defines the order of operations for various services, among them being name resolution.

hosts: files dns

Consider instead this configuration, which makes use of libraries and services from the systemd project. This will enable some omissions from the hosts file.

hosts: files mymachines myhostname dns

Hosts

The hosts file (/etc/hosts) is a list of addresses and names, especially for local hosts and machines.

127.0.0.1 localhost

Resolver

The resolver configuration file (/etc/resolv.conf) is a list of nameservers to query for name resolution. Changes are immediately effective.

If the resolver file is being configured directly, then it should look like:

nameserver 8.8.8.8

Services that manipulate the resolver file include:

Utilities


Multicast name resolution

Multicast domain name resolution (mDNS) is an expansion of the DNS protocol. An mDNS broadcaster makes use of port 5353 and resolves names in the .local domain.

Note that there is also partial/coincidental support for link-local multicast name resolution (LLMNR) in many of the Linux implementations of mDNS. LLMNR is a similar but deliberately incompatible protocol (using port 5355) and also with a limited scope for features.


CategoryRicottone

Linux/DNS (last edited 2023-06-22 20:45:42 by DominicRicottone)