Đặng Thanh Bình
Dynamic Host Configuration Protocol
Contents
• Why Use DHCP? • Configuring a DHCP Server • Configuring a DHCP Client
WHY USE DHCP?
Why Use DHCP?
• Dynamic Host Configuration Protocol (DHCP) is a that automatically assigns
network protocol TCP/IP information to client machines.
• Each DHCP client connects to the centrally located DHCP server, which returns that client's network configuration (including the IP address, gateway, and DNS servers).
Why Use DHCP?
• DHCP is useful for automatic configuration of
• When configuring system, client
client network interfaces. the the administrator chooses DHCP instead of specifying an IP address, netmask, gateway, or DNS servers. • The client retrieves this information from the
DHCP server.
Why Use DHCP?
• DHCP is also useful if an administrator wants to change the IP addresses of a large number of systems.
• Instead of reconfiguring all the systems, he can just edit one DHCP configuration file on the server for the new set of IP addresses. – If the DNS servers for an organization changes, the changes are made on the DHCP server, not on the DHCP clients.
Why Use DHCP?
• If an organization has a functional DHCP server laptops and properly connected to a network, other mobile computer users can move these devices from office to office.
CONFIGURING A DHCP SERVER
Configuring a DHCP Server
• To configure a DHCP server, you must create the dhcpd.conf configuration file in the /etc/dhcp directory.
• A sample file can be found at
/usr/share/doc/dhcp-/dhcpd.conf.sample
• DHCP uses the
to store file the
also /var/lib/dhcpd/dhcpd.leases client lease database.
Configuration File
• The first step in configuring a DHCP server is to create the configuration file that stores the network information for the clients.
• Use this file to declare options and global options
for client systems.
• The configuration file can contain extra tabs or blank lines for easier formatting. Keywords are case-insensitive and lines beginning with a hash mark (#) are considered comments.
DNS update schemes
• Two DNS update schemes are currently
implemented – the ad-hoc DNS update mode – the interim DHCP-DNS interaction update mode. server
the DNS
configure
• You must
for
compatibility with these schemes.
DNS update schemes
• To use adhoc mode, add the following line to the
top of the configuration file
• To use the recommended mode, add the following line to the top of the configuration file
Types Of Statements
– Declarations — Describe the topology of the network, describe the clients, provide addresses for the clients, or apply a group of parameters to a group of declarations.
• Two types of statements in the configuration file: – Parameters — State how to perform a task, whether to perform a task, or what network configuration options to send to the client.
Ex. 1. Subnet Declaration
• There are global options for every DHCP client in the subnet and a range declared. Clients are assigned an IP address within the range
Ex. 2. Shared-network Declaration
• All subnets that share the same physical network should be declared within a shared-network declaration
• Parameters within the shared-network, but outside the enclosed subnet declarations, are considered to be global parameters.
• The name of the shared-network must be a descriptive title for the network, such as using the title 'test-lab' to describe all the subnets in a test lab environment.
Ex. 2. Shared-network Declaration
Ex. 3. Group Declaration
• The group declaration is used to apply global
parameters to a group of declarations.
• For example, shared networks, subnets, and
hosts can be grouped.
Ex. 3. Group Declaration
Ex. 4. Range Parameter
• To configure a DHCP server that leases a dynamic IP address to a system within a subnet, modify Example 4, “Range Parameter” with your values. • It declares a default lease time, maximum lease time, and network configuration values for the clients.
• This example assigns IP addresses in the range client
192.168.1.100
and
to
192.168.1.10 systems.
Ex. 4. Range Parameter
Ex. 5. Static IP Address using DHCP
• To assign an IP address to a client based on the MAC address of the network interface card, use the hardware ethernet parameter within a host declaration.
• As demonstrated in Example 5, “Static IP Address using DHCP”, the host apex declaration specifies that the NIC with the MAC address 00:A0:78:8E:9E:AA always receives the IP address 192.168.1.4.
• Note that the optional parameter host-name can
also be used to assign a host name to the client.
Ex. 5. Static IP Address using DHCP
Lease Database
• On
the
server,
DHCP
the
file /var/lib/dhcpd/dhcpd.leases stores the DHCP client lease database
• All times in the lease database are in Coordinated
Universal Time (UTC), not local time.
• The lease database is recreated from time to time so
that it is not too large. – First, all known leases are saved in a temporary lease
database.
– The dhcpd.leases file is renamed dhcpd.leases~ and the
temporary lease database is written to dhcpd.leases.
Starting and Stopping the Server
• To start the DHCP service, use the command
/sbin/service dhcpd start.
• To stop the DHCP server, use the command
/sbin/service dhcpd stop.
• By default, the DHCP service does not start at boot time. To configure the daemon to start automatically at boot time, use chkconfig
Starting and Stopping the Server
• If more than one network interface is attached to the system, but the DHCP server should only be started on one of the interfaces, configure the DHCP server to start only on that device.
• In /etc/sysconfig/dhcpd, add the name of the
interface to the list of DHCPDARGS:
DHCP Relay Agent
• The DHCP Relay Agent (dhcrelay) allows for the relay of DHCP and BOOTP requests from a subnet with no DHCP server on it to one or more DHCP servers on other subnets.
• When a DHCP client requests information, the DHCP Relay Agent forwards the request to the list of DHCP servers specified when the DHCP Relay Agent is started.
DHCP Relay Agent
• When a DHCP server returns a reply, the reply is broadcast or unicast on the network that sent the original request.
interfaces unless
• The DHCP Relay Agent listens for DHCP requests the interfaces are on all specified in /etc/sysconfig/dhcrelay with the INTERFACES directive.
• To start the DHCP Relay Agent, use the command
service dhcrelay start.
CONFIGURING A DHCP CLIENT
Configuring DHCP Clients
• The first step is to make sure the kernel
recognizes the network interface card.
– Modify the /etc/sysconfig/network file to enable
networking
– Modify the configuration file for each network device
in the /etc/sysconfig/network-scripts directory. • In this directory, each device should have a configuration file named ifcfg-eth0, where eth0 is the network device name.
• To configure a DHCP client manually
/etc/sysconfig/network file
• The /etc/sysconfig/network file should contain
the following line:
• The NETWORKING variable must be set to yes if
you want networking to start at boot time.
/etc/sysconfig/network-scripts/ifcfg-eth0
• The /etc/sysconfig/network-scripts/ifcfg-eth0 file
should contain the following lines:
• A configuration file is needed for each device to
be configured to use DHCP.
/etc/sysconfig/network-scripts/ifcfg-eth0
– DHCP_HOSTNAME — Only use this option if the DHCP server requires the client to specify a hostname before receiving an IP address. (The DHCP server daemon in Red Hat Enterprise Linux does not support this feature.)
– PEERDNS=
following: • yes — Modify /etc/resolv.conf with information from the
server. If using DHCP, then yes is the default.
• no — Do not modify /etc/resolv.conf.
• Other options for the network script
/etc/sysconfig/network-scripts/ifcfg-eth0
– SRCADDR=
, wherethe
is specified source IP address for outgoing packets.
– USERCTL=
following: • yes — Non-root users are allowed to control this device. • no — Non-root users are not allowed to control this device.
• Other options for the network script

