Adding custom dns entries for name resolution in the local network

Solution 1:

I have used dnsmasq to provide local dns services in my home network and it is also known to be able to serve way beyond 1000 hosts. Dnsmasq will serve names from the /etc/hosts file, provide dns-caching and it also contains a dhcp server. The dhcp part is disabled by default.

On Debian the installation procedure goes like this:

apt-get install dnsmasq

Dnsmasq will per default ask the nameservers in resolv.conf if it's own cache or the local hosts file lacks a suitable entry.

I also use dnsmasq at work to provide dns-caching and it's effect is very noticeable.

Solution 2:

Setting up BIND on Debian really isn't a big deal. See: http://www.langfeldt.net/DNS-HOWTO/BIND-9/DNS-HOWTO.html for just one of many BIND-related HOWTO documents. This particular HOWTO moves in a very step-by-step manner and is pretty easy to follow.

Whatever you do, you've made the right decision to stop using HOSTS files. (I am nearly bleeding from my eyes just thinking about using HOSTS files...)

Solution 3:

You might want to check out tinydns and dnscache, which proved the exact functionality you need and are both secure and easy to maintain at the cost of being tools that are built in a quite, let's call it 'unique', way.

Grab a tutorial here.

Solution 4:

I strongly agree with DGnome. Using dnsmasq is the best solution for your environment, not only because you already have a complete hosts file.

But please make sure to not activate the DHCP server part of dnsmasq if you have another DHCP server running on your network.

To achieve this, make sure there are no active (without leading "#") dhcp-range= lines in your dnsmasq.conf and/or use the no-dhcp-interface= option.