Skip to content

DNS and DHCP on Linux - Wyatt's Notes

The traditional DNS resolver configuration file:

## /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 1.1.1.1
## Search domains appended to unqualified names
search example.com internal.example.com
# Sortlist for address ordering (rarely used)
sortlist 10.0.0.0/8
# Options
options timeout:2 attempts:3 rotate single-request-reopen
Key directives:
nameserver IP — DNS server to query (up to 3, used in order)
search domain1 domain2 — append these to unqualified queries
domain name — single search domain (deprecated in favor of search)
options — resolver library options:
timeout:N — initial timeout in seconds (default 5)
attempts:N — number of retries (default 2)
rotate — rotate through nameservers
ndots:N — query as FQDN if name has at least N dots (default 1)
single-request — send A and AAAA queries sequentially
single-request-reopen — close socket between queries
edns0 — enable EDNS0 (large responses)
trust-ad — trust AD flag in responses

Processes are programs in execution, each with its own memory space and priority. Systemd manages the lifecycle of services, starting them at boot and restarting them if they fail. Understanding process states (running, sleeping, stopped, zombie) helps you diagnose why a service is not responding. Signals like SIGTERM and SIGKILL provide graceful and forceful ways to control processes.