I’ve been a long time user and trumpet blower for dnsmasq which is a DNS forwarder and DHCP server. It’s perfect for LAN’s as it’s small, light and fast especially when compared against the usual DHCP + BIND combo from ISC. What’s more, it’s very easy to configure and uses the standard /etc/hosts file to serve static DNS.However, it’s not without its negative points as I discovered when setting up my new domain DNS server so I can serve IPv6 and redirect $familymember.marples.name to another IP.The main issue is you can’t change which config file it uses, namely it always reads /etc/dnsmasq.conf. This isn’t normally a problem, but I wanted a DNS server that told the world one thing and my LAN another. I’m also not the worlds greatest C developer, so I didn’t want to patch dnsmasq so it could work for my needs as what I want todo is probably outside the current scope of dnsmasq.I’ve also had prior experience with BIND, but that was a long time ago and it wasn’t pretty. PowerDNS I’ve also used, but my main gripe is that it takes ages to compile as it’s C++ and my server isn’t that fast. Another minus for PowerDNS is the inability to handle dynamic DNS as far as I could tell (which is a must when friends pop around with laptops).So to cut to the chase, I’ve configured BIND + DHCP from ISC which handles what I need just fine as it now handles “views” which it didn’t support last I used it. Views enable me to show one DNS to my LAN and another to the world :) A big plus thats come out of this is that name resolution is much faster :DThe moral of this story is that sometimes the software that you give kudos too isn’t always the right tool for the job- and the right tool may sometimes be the tool that you least wanted to use :O