DHCP Clients

DHCP stands for Dynamic Host Configuration Protocol. It is a protocol used by many sites to automatically provide information such as IP addresses, subnet masks and routing information to computers. If your network uses DHCP, you will need a DHCP client in order to connect to it. DHCP is also used by some cable modems.

BLFS currently provides installation instructions for two DHCP clients, dhclient (from the dhcp package) and dhcpcd. BLFS presents both sets of installation instructions and discusses how to create an appropriate service script to work with the network bootscript and the DHCP client of your choice.

DHCP-3.0.2 Client

The DHCP package comes with both a client (dhclient) and a server program for using DHCP. If you want to install this package, the instructions can be found at DHCP-3.0.2. Note that if you only want to use the client, you do not need to run the server and so do not need the startup script and links provided for the server daemon. You only need to run the DHCP server if you're providing this service to a network, and it's likely that you'll know if that's the case; if it isn't, don't run the server! Once you have installed the package, return here for information on how to configure the client (dhclient).

Configuring DHCP Client

To configure dhclient, you need to first install the network service script, /etc/sysconfig/network-devices/services/dhclient included in the blfs-bootscripts-6.1 package (as root):

make install-service-dhclient

Next, create the /etc/sysconfig/network-devices/ifconfig.eth0/dhclient configuration file with the following commands as the root user. Adjust as necessary for additional interfaces:

install -v -d /etc/sysconfig/network-devices/ifconfig.eth0 &&
cat > /etc/sysconfig/network-devices/ifconfig.eth0/dhclient << "EOF"
ONBOOT="yes"
SERVICE="dhclient"
DHCP_START="-q [add additional start parameters here]"
DHCP_STOP="-q -r [add additional stop parameters here]"

# Set PRINTIP="yes" to have the script print
# the DHCP assigned IP address
PRINTIP="no"

# Set PRINTALL="yes" to print the DHCP assigned values for
# IP, SM, DG, and 1st NS. This requires PRINTIP="yes".
PRINTALL="no"
EOF

For more information on the appropriate DHCP_START and DHCP_STOP values, examine the man page for dhclient.

Finally, you should create the /etc/dhclient.conf file using the following commands as the root user:

[Note]

Note

You'll need to add a second interface definition to the file if you have more than one interface.

cat > /etc/dhclient.conf << "EOF"
# dhclient.conf

interface "eth0"{
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, host-name;
require subnet-mask, domain-name-servers;
}
# end dhclient.conf
EOF

Last updated on 2005-08-01 13:29:19 -0600