Setting up Raspberry Pi as a DHCP, NTP, and DNS server

The Local Zone

To understand the names of the devices on my own network, I need to add a local zone. First, I add the line listen-on port 53 {any;}; to /etc/bind/named.conf.options, and reference to the zone files in /etc/bind/named.conf.local. I then need to create the zone files with the names and IP addresses of all the devices on the home network (Listing 7), as well as the associated reverse zone file (Listing 8). The dots in lines like are important. If the dot is missing at the end, the system appends the domain name (, and then the name no longer matches.

Listing 7

Zone file /etc/bind/


Listing 8

The "reverse" Zone File


If you are interested in more details of the Bind configuration, the content of the files presented here, and the importance of each entry, I recommend the DNS & BIND Cookbook [3]. If you want to completely invest yourself in the functionality of the domain name service, I also recommend DNS & BIND [4].

Address List

The home network now has a central time server and a name server. However, I have to make sure the computers on the network match the IP addresses assigned to them in the zone file. I first need to configure the DHCP server. Only one DHCP server can be active in any subnet, so I need to shut down the DHCP service on the DSL router. To do this, I must consult the user manual for my DSL router.

First, I need to install the DHCP service on the Rasp Pi using apt-get. The fact that automatic startup doesn't initially work, is okay. I only need to change the /etc/dhcp/dhpd.conf file (Listing 9). After starting the DHCP service with sudo /etc/init.d/isc-dhcp-server, the DHCP server should work. Now, when I start up a network device, I can see from the /var/log/syslog file how an IP address is assigned to the device (Listing 10).

Listing 9

Map Hardware Addr to IP Addr


Listing 10



Other Options

You can also configure your Rasp Pi as a file, print, or download server. You'll spend a lot less money (and power) than with a big server system, and if anything goes wrong, you can just start over. That's the beauty of Raspberry Pi.


  1. Raspberry Pi:
  2. NTP Pool Project:
  3. Liu, Cricket. DNS & Bind Cookbook. O'Reilly Media, 2006.
  4. Liu, Cricket and Paul Albitz. DNS & BIND. O'Reilly Media, 2002. 2IE;

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Bind 10 Test Drive

    Admins have waited all of five years for the 10th major release of the Bind name server, which appeared at the end of March this year. The latest release is a complete rewrite of the DNS server, with a modular design and new configuration tools, but is it ready for business?


    Some Internet exploits target name resolution servers. DNSSEC uses cryptography to protect the name resolution service.

  • Intrusion Detection

    The Prelude security information management system receives both host- and network-based IDS messages and displays them in an easy web interface. We show you how to set it up.

  • LTSP

    The Linux Terminal Server Project offers a comprehensive approach to terminal services in Linux, including easy access to local sound cards, printers, and USB sticks.

  • Dnsmasq

    Dnsmasq is a practical alternative for DNS on a small scale.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More