How do you get dnsmasq to specify alternate DNS servers?

Solution 1:

Answered my own question, thanks to rfc2132

dhcp-option=6,192.168.0.90,192.168.0.98

However, RFC2132 specifies option 5 as a list of name servers and option 6 as a list of domain name servers, and I'm not sure what the difference is. Either way, option 6 put them correctly as

nameserver 192.168.0.90
nameserver 192.168.0.98

in /etc/resolv.conf

Solution 2:

Posting as a separate answer rather than a comment on yours because that way I can use links.

Option 5 is for IEN 116 nameservers — a ridiculously obsolete protocol that Jon Postel wanted dead over twenty years ago. Solaris still supports it, but won't in the next version.

Solution 3:

Another way is to set your dnsmasq server to be the DNS server for DHCP, and use /etc/resolv.conf on the dnsmasq server to specify your list of DNS servers. That way you can easily change DNS (and set aliases) without having to wait for DHCP renewal - just either restart or kill -HUP dnsmasq to reload the config.