Chapter 16. Managing Local Name Services with Dnsmasq and the hosts File
Dnsmasq is an excellent server for LAN name services, both Domain Name System (DNS) and Dynamic Host Discovery Protocol (DHCP). Dnsmasq also provides BOOTP, PXE, and TFTP, which are for network booting and installing operating systems from a network server. Dnsmasq supports IPv4 and IPv6, provides local DNS caching, and acts as a stub resolver.
This chapter covers setting up local DNS and DHCP using Dnsmasq and the /etc/hosts file together. /etc/hosts is the very old way of setting up DNS, mapping hostnames to IP addresses in a static file. /etc/hosts by itself is sufficient for very small networks.
Dnsmasq is designed for LAN name services. It is lightweight and simple to configure, especially in comparison to BIND, the dominant DNS server, which is heavyweight and has a rather steep learning curve.
Dnsmasq and /etc/hosts work great together. Dnsmasq reads the entries in /etc/hosts into DNS.
The DHCP server in Dnsmasq automatically integrates with DNS. All you need for Dnsmasq to create DNS entries for your DHCP clients is to configure your DHCP clients to send their hostnames to the DHCP server, which is the default in most Linux distributions.
There are four types of DNS servers: recursive resolvers, root name servers, top-level domain (TLD) name servers, and authoritative name servers.
Recursive resolvers answer DNS requests. A stub resolver, like Dnsmasq and systemd-resolved, forwards any requests it ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access