Basic DHCP Server Setup

From CSLabsWiki

What is this?

This page describes the setup of a basic dhcp server to get the lab machines in COSI and the ITL online using a host with only one NIC. The setup described was based on one that was used in January 2014 to quickly get the lab back online using CRUX 3.1 after a failed server.

This setup is suitable for long-term use.


Install a dhcp server. On CRUX, this is:

prt-get depinst dhcp

On Debian 8/Jessie, this is:

apt install dhcpcd5

This will place a startup script in /etc/rc.d/. (At least with sysV) You may want to enable it to run on startup.

You need to set a static IP on the DHCP server box. Instructions to do this can be found elsewhere.

Once you have a static IP, configure the DHCP server by modifying /etc/dhcpd.conf. The example below assumes that the address of the PXE server (if applicable) is Pick your IP range carefully. In this example it goes from to

option domain-name-servers,;
option domain-name "";
option subnet-mask;
option routers;
subnet netmask {
allow booting;
allow bootp;
filename "/pxe/pxelinux.0";

If using CRUX, make sure to touch /var/db/dhcpd.leases or the server will fail silently.

touch /var/db/dhcpd.leases

Then, just start dhcpd and it should hopefully work.