dnsmasq: combination DNS/DHCP/TFTP server

The core of the Pi-hole ad-blocking DNS server is dnsmasq, a combination DNS (Domain Name System) server, DHCP (Distributed Host Configuration Protocol) server and TFTP server (Trivial File Transfer Protocol, used primarily to boot computers over a network.) Given that penguin is currently supplying all three of these services, setting up Pi-hole will involve porting them to dnsmasq and getting them all working.

One downside to this is currently penguin is running named, which acts as a recursive DNS resolver in its own right. That means I don’t have to rely on the DNS server supplied by my ISP, nor any other recursive resolver on the interet such as Google’s at 8.8.8.8 or Cloudflare’s at 1.1.1.1. If I want to maintain that independence, I might be able to set up named running on its own IP address on penguin and configure dnsmasq to use that address when it needs a recursive resolver.

Another issue is the Pi-hole project plans to replace dnsmasq with pihole-FTL, which is their fork of dnsmasq. If they discard the tftp server part of the code, I’ll need re-implement the one I’m currently using on penguin.