HOWTO setup a small server

DHCP3 (Dynamic Host Configuration Protocol Server)


The installation of the Internet Software Consortium (ISC) DHCP server is performed by:

# apt-get install dhcp3-server

As there is no default configuration for any subnet in the configuration file from the package, the server's start-up during the installation process will fail. This failure will be reported to syslog and may be ignored.

Basic Configuration

The DHCP service by default listens on all network interfaces. It can be restricted to only some interfaces by listing them in:

Excerpt: /etc/default/dhcp3-server


The configuration file of the DCHP server begins with global parameters followed by subnet/host/...-specific declarations. If the DHCP server is the official server on the network, you shall uncomment that directive in the global parameters:

Excerpt: /etc/dhcp3/dhcpd.conf


The declaration(s) for the subnet(s) with DHCP service can be based on this snippet:

Excerpt: /etc/dhcp3/dhcpd.conf

subnet netmask {
  option domain-name-servers;
  option domain-name "";
  option routers;
  option broadcast-address;
  option subnet-mask;

In constrast, you may (but need not) explicitly disable the DHCP service for a subnet, if the braces are left empty:

Excerpt: /etc/dhcp3/dhcpd.conf

subnet netmask {

DHCP Boot Configuration

The DHCP server can also deliver information for clients booting via the network. The next statements tell the client to load the file /root/path/to/filename from the server (for example, via TFTP). The statements should be added to the parameters inside a subnet (or similar) declaration.

Excerpt: /etc/dhcp3/dhcpd.conf

  option root-path "/root/path";
  filename "/to/filename";

Client Specific Configuration

You can specify group- or host-specific parameters with group or host, respectively. For example, client1, client2, and client3 are identified by their MAC addresses and can be passed (special) boot files:

Excerpt: /etc/dhcp3/dhcpd.conf

group {
  # group-specific parameters (e.g., boot files)
  option root-path "/root/path";
  filename "/client123/filename";

  host client1 {
    hardware ethernet 0:c0:c3:49:2b:57;
  host client2 {
    hardware ethernet 0:c0:c3:80:fc:32;
  host client3 {
    hardware ethernet 0:c0:c3:22:46:81;

Finally, the server must be (re)started:

# /etc/init.d/dhcp3-server restart

Networking Requirements

Prerequisite: Shorewall The DHCP client and server communicate via UDP on ports 68 (client side) and 67 (server side). DHCP traffic can be permitted in file /etc/shorewall/interfaces: Make sure the dhcp option is appended to the option lists of the zones for which the DHCP service should be available.

And finally, restart Shorewall:

# shorewall restart

Back to index.