Several of our machines support multiple public interfaces for DNS servers
for historical reasons (a polite way of saying that I screwed up while
learning DNS and there are people using us for secondary services where
we don't want to change the NIC records). One of these machines,
johngalt.celestial.com, has servers set up as follows:
Here we have tinydns running on two public IP addresses, and axfrdns on
the same IP addresses to support zone transfers. We have tinydns running
on a localhost IP to provide DNS information for our local sub-domain.
The dnscache program does lookups for all systems on our internal LAN,
and has explicit links to the two tinydns and rootdns servers running
on the same machine.
My laptop machine is much simpler. I have it configured so that it will
run reasonably when totally disconnected from the Internet. Here I've
combined our public and private data into a single file served up by one
copy of tinydns, and everything runs off of the 127/8 localhost network.
It won't do lookups for anybody else.