DHCP-3.0pl2

Introduction to DHCP

The DHCP package contains both the client and server programs for DHCP. dhclient (the client) is useful for connecting your computer to a network which uses DHCP to assign network addresses. dhcpd (the server) is useful for assigning network addresses on your private network.

Package information

Installation of DHCP

Note: You must have Packet Socket support compiled in the kernel and Socket Filtering either compiled in or as a kernel module.

Install DHCP by running the following commands:

./configure &&
make &&
make LIBDIR=/usr/lib INCDIR=/usr/include install

Command explanations

LIBDIR=/usr/lib INCDIR=/usr/include: This command installs the library and include files in /usr instead of /usr/local.

Configuring DHCP

Config files

/etc/dhclient.conf

Configuration Information

Information on configuring the DHCP client can be found in Chapter 14.

Note that you only want to start the DHCP server if you want to issue LAN addresses over your network. The DHCP client doesn't need this script to be used. Also note that this script is coded for the eth1 interface, which may need to be modified for your hardware configuration. With that in mind the DHCP init.d script can be created using the following commands.

cat > /etc/rc.d/init.d/dhcp << "EOF"
#!/bin/sh
# Begin $rc_base/init.d/dhcp

# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org

source /etc/sysconfig/rc
source $rc_functions

case "$1" in
        start)
                echo "Starting DHCP Server..."
                loadproc dhcpd -q eth1
                ;;

        stop)
                echo "Stopping DHCP Server..."
                killproc dhcpd
                ;;

        reload)
                echo "Reloading DHCP Server..."
                reloadproc dhcpd
                ;;

        restart)
                $0 stop
                sleep 1
                $0 start
                ;;

        status)
                statusproc dhcpd
                ;;

        *)
                echo "Usage: $0 {start|stop|reload|restart|status}"
                exit 1
                ;;
esac

# End $rc_base/init.d/dhcp
EOF
chmod 755 /etc/rc.d/init.d/dhcp

The lease file must exist on startup. The following command will satisfy that requirement:

touch /var/state/dhcp/dhcpd.leases

The follow commands will create a base configuration file for a DHCP server. There are several options that you may want to add (information that is passed back to the DHCP client) and those are covered in the man pages for dhcp.conf.

cat > /etc/dhcpd.conf << "EOF"
default-lease-time 72000;
max-lease-time 144000;
ddns-update-style ad-hoc;

subnet 192.168.5.0 netmask 255.255.255.0 {
  range 192.168.5.10 192.168.5.240;
  option broadcast-address 195.168.5.255;
  option routers 192.168.5.1;
}
EOF

All addresses should be changed to meet your circumstance.

Contents

The DHCP package contains dhclient, dhcpd and dhcrelay .

Description

dhclient

dhclient is the implementation of the DHCP client.

dhcpd

dhcpd implements Dynamic Host Configuration Protocol (DHCP) and Internet Bootstrap Protocol (BOOTP) requests for network addresses.

dhcrelay

dhcrelay provides a means to accept DHCP and BOOTP requests on a subnet without a DHCP server and relay them to a DHCP server on another subnet.