Client
            Configuration
          
          
            Create basic /etc/dhcp/dhclient.conf by running the
            following command as the root
            user:
          
          
cat > /etc/dhcp/dhclient.conf << "EOF"
# Begin /etc/dhcp/dhclient.conf
#
# Basic dhclient.conf(5)
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        netbios-name-servers, netbios-scope, interface-mtu,
        ntp-servers;
require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;
# End /etc/dhcp/dhclient.conf
EOF
          
            See man 5
            dhclient.conf for additional options.
          
          
            Now create the /var/lib/dhclient
            directory which will contain DHCP Client leases by running the
            following command as the root
            user:
          
          
install -v -dm 755 /var/lib/dhclient
          
            
            If you want to configure network interfaces at boot using
            dhclient, you need
            to install the dhclient@.service
            unit included in the blfs-systemd-units-20160602 package by
            running the following command as the root user:
          
          
make install-dhclient
          
            ![[Note]](../images/note.png) 
            
              Note
            
            
              Make sure that you disable the systemd-networkd service or
              configure it not to manage the interfaces you want to manage
              with dhclient.
            
           
          
            At this point you can test if dhclient is behaving as
            expected by running the following command as the root user:
          
          
systemctl start dhclient@eth0
          
            To start dhclient
            on a specific interface at boot, enable the previously installed
            systemd unit by running the following command as the root user:
          
          
systemctl enable dhclient@eth0
          
            Replace eth0 with the
            actual interface name.
          
         
        
          
            Server Configuration
          
          
            Note that you only need the DHCP server if you want to issue LAN
            addresses over your network. The DHCP client doesn't need the
            server in order to function properly.
          
          
            Start with creating /etc/dhcp/dhcpd.conf by running the following
            command as the root user:
          
          
cat > /etc/dhcp/dhcpd.conf << "EOF"
# Begin /etc/dhcp/dhcpd.conf
#
# Example dhcpd.conf(5)
# Use this to enble / disable dynamic dns updates globally.
ddns-update-style none;
# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
# This is a very basic subnet declaration.
subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;
  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}
# End /etc/dhcp/dhcpd.conf
EOF
          
            Adjust the file to suit your needs. See man 5 dhcpd.conf for additional
            options.
          
          
            Now create the /var/lib/dhcpd
            directory which will contain DHCP Server leases by running the
            following command as the root
            user:
          
          
install -v -dm 755 /var/lib/dhcpd
          
            If you want to start the DHCP Server at boot, install the
            dhcpd.service unit
            included in the blfs-systemd-units-20160602 package:
          
          
make install-dhcpd
          
            You will need to edit the /etc/default/dhcpd in order to set the
            interface on which dhcpd will serve the DHCP
            requests.