Transcript pptx
CMPT 471
Networking II
DHCP
© Janice Regan, 2006-2013
1
DHCP software
A commonly used DHCP package used
on linux networks is the ISC (Internet
software consortium) DHCP package
To help understand how this package is
used read the linux documentation for
The DHCP relay agent, dhcrelay (posted)
The DHCP client, dhclient
The DHCP server, dhcpd
© Janice Regan, 2006-2013
2
DHCP relay agents
Two types
One runs on IP routers (some dedicated routers
include embedded DHCP relay agents for example
the Cisco router in the lab)
One runs on general purpose hosts (may be
operating as routers)
Relay agents can replace a DHCP server on some
segments of a multisegment network installation
Each segment of a network running DHCP must contain
either (or both)
At least 1 DHCP server
At least 1 DHCP relay agent (usually associated with
the routers attached to the segment)
© Janice Regan, 2006-2013
3
DHCP relay agents
Relay agents forward DHCP messages from clients on
a network segment with no DHCP server to a DHCP
server on another network segment
Remember that the original DHCPDISCOVER message
is broadcast on the network segment containing the
source host. It must reach either a DHCP server or a
DHCP relay agent.
If it reaches a relay agent then it will be forwarded to a
DHCP server on another network segment or to another
relay agent.
To forward a DCHP message the relay agent needs
the information in the DHCP message
One or more IP address that all DHCP messages it receives
are forwarded to. (>1 if more than 1 DHCP server)
© Janice Regan, 2006-2013
4
DHCP Relay agent operation
It increments the hop count in the DHCP message
Inserts the IP address of the relay agent into the router
IP address field if the router (gateway) IP address is
0.0.0.0
The router IP address will be set to 0.0.0.0 when a
DHCPDISCOVER message is created.
The router IP address will thus record the IP address of the first
relay agent on the path to the DHCP server
Appends any relay agent options
The end option will be moved to follow any appended options
Sends the packet the DHCP server or next relay agent
© Janice Regan, 2006-2013
5
DHCP servers and Relay Agents
The server will receive and process the request, adding
the configuration information to the message
The server will unicast the response message
(encapsulated in an IP datagram) to the address
extracted from the router address field. The response
does not passes through only one relay agent, the first
relay agent encountered by the request.
When the packet reaches the host running the relay
agent it will be sent to the relay agent
© Janice Regan, 2006-2013
6
DHCP Relay Agent operation
Relay agent receives the message from the DHCP server
Relay agent checks the router address field to determine
the network interface over which the message should be
sent
The router address will indicate which interface the
original message arrived through
Relay agent checks the broadcast flag to see if the
packet should be broadcast or unicast the host that sent
the request
Relay agent sends the message to the host that sent the
request
© Janice Regan, 2006-2013
7
Avoiding DHCP message collisions
If a network is shut down (like in a power
failure) and all hosts come up at the same
time the server may not be able to deal
with all the resulting discover messages
Each client is required to delay its initial
DHCP message by a random time between
0 and 10 seconds
The delay time between retransmissions is
randomized by -1 to +1 seconds
© Janice Regan, 2006-2013
8
DHCP configuration
Host or router running the DHCP server will
have a configuration file at a default location of
/etc/dhcpd.conf
Defines the operation of DHCP in the network
Specifies basic network architecture
Specifies lease times and other necessary
information
For details of configuration refer to reference
The DHCP Handbook, Droms and Lemon
© Janice Regan, 2006-2013
9
Subnet declarations
Defines scope: range of addresses in network
# Subnet 1
subnet 192.168.11.0 netmask 255.255.255.0
{
# subnet declarations
}
# Subnet 2
subnet 192.168.0.0 netmask 255.255.128.0
{
# subnet declarations
}
© Janice Regan, 2006-2013
10
Subnet Address allocation
Define range of addresses available for
allocation
# subnet 1
subnet 192.168.11.0 netmask 255.255.255.0
{
range 192.168.11.1
192.168.11.251
# 192.168.11.252 reserved for DHCP server
# 192.168.11.253 reserved for DNS server
# 192.168.11.254 reserved for router
}
© Janice Regan, 2006-2013
11
Router option
Define range of addresses available for allocation
# subnet 1
subnet 192.168.11.0 netmask 255.255.255.0
{
range 192.168.11.1 192.168.11.251
# 192.168.11.252 reserved for DHCP server
# 192.168.11.253 reserved for DNS server
# 192.168.11.254 reserved for router
option routers 192.169.11.254
}
© Janice Regan, 2006-2013
12
DNS server option
Define range of addresses available for allocation
# Subnet 1
subnet 192.168.11.0 netmask 255.255.255.0
{
range 192.168.11.1 192.168.1.251
# 192.168.11.252 reserved for DHCP server
# 192.168.11.253 reserved for DNS server
# 192.168.11.254 reserved for router
option domain-name-servers 192.169.11.253
}
© Janice Regan, 2006-2013
13
Subnet mask option
Define range of addresses available for allocation
# Subnet 1
subnet 192.168.11.0 netmask 255.255.255.0
{
range 192.168.11.1 192.168.1.251
# 192.168.11.252 reserved for DHCP server
# 192.168.11.253 reserved for DNS server
# 192.168.11.254 reserved for router
option subnet-mask 255.255.255.0
}
© Janice Regan, 2006-2013
14
Specifying lease times
# Subnet 1
subnet 192.168.11.0 netmask 255.255.255.0
{
range 192.168.11.1
192.168.1.251
#default lease 30 days, maximum 45 days
default-lease-time 2592000
maximum-lease-time 3888000
minimum-lease-time 600
}
© Janice Regan, 2006-2013
15
Lease times
Can be specified by client as an option in
DHCP messages
If specified time is less the min-lease-time,
min-lease-time will be used
If specified time is greater the max-leasetime, max-lease-time will be used
© Janice Regan, 2006-2013
16
Static Allocation using DHCP
Can statically allocate addresses for
particular hosts
Microsoft DHCP uses the term reservation
rather than static allocation
Can use all static addresses
Can mix static and dynamic addresses
For example static addresses for fixed wired
clients, dynamic addresses for mobile client
© Janice Regan, 2006-2013
17
Specifying static leases
# Subnet 1
Subnet 192.168.11.0 netmask 255.255.255.0
{
range 192.168.11.1 192.168.1.251
default-lease-time 2592000
}
host dhcpserver
{
fixed address 192.168.1.252
hardware ethernet 00:20:78:10:c8:12
default-lease-time 1000
}
© Janice Regan, 2006-2013
18
Host statements
Used for static ip addresses and enhanced
security
Any request from a client that matches (same ethernet
address) a host statement is considered to be from a
“known” client.
Other requests are from “unknown” clients
The name in the host statement is used only to
identify the host statement it is not the clients
hostname
Can use host statements to make the dhcp server
treat some addresses differently from other
© Janice Regan, 2006-2013
19
Using pools
Can use host statements to make the dhcp server treat some addresses
differently from other
Example: permit only known clients to obtain leases from the specified range of
addresses. Provide a small range for any clients
pool
{
deny unknown clients
range 192.168.11.23 192.168.11.128
}
pool
{
allow unknown clients
range 192.168.11.129 192.168.11.150
}
© Janice Regan, 2006-2013
20