I recommend Dnsmasq to create a small local network with a DNS cache, some local DNS bindings and a DHCP server. It's small and easy to set up.
The file /etc/dnsmasq.conf shipped with the program contains the full list of possible options, commented out by default. Under Debian, make sure to install the resolvconf which will take care of making your local machine query dnsmasq running on localhost for DNS lookups, and making dnsmasq forward queries to the DNS servers associated with the active network connection(s).
To enable the DHCP server, include one or more dhcp-range or dhcp-host directives. For example, to assign the address 10.23.45.67 to the machine with the Ethernet address 22:33:44:55:66:77, and assign addresses of the form 10.23.44.x to other machines:
dhcp-host=22:33:44:55:66:77,10.23.45.67
dhcp-range=10.23.44.1,10.23.44.255
If your machine itself gets its address from DHCP, or more generally if it's connected to a network where some other machine hands out DHCP addresses, then it's vital that your machine does not reply to DHCP queries on its external interface.
no-dhcp-interface=eth0
To give names to your machines, declare them in /etc/hosts. Dnsmasq will serve those names to its DNS clients.