项目
3 
DHCP 
服务器

【学习目标】

本章将系统介绍DHCP 服务器的理论知识、DHCP 服务器的安装和基础配置、DHCP 
客户端的配置和DHCP 中继的配置。
通过本章的学习,读者应完成以下目标: 

● 了解DHCP 服务器的理论知识; 
● 了解DHCP 服务器的基础配置; 
● 了解DHCP 客户端的配置和测试; 
● 了解DHCP 中继代理的配置; 
● 了解DHCP 服务器的备份和还原。
3.项目背景
1 

五桂山公司新建了两个工作室,现进行IP 地址规划,如果采用手工配置,则工作量大且
不方便管理;如果用户擅自修改网络参数,则还有可能造成IP 地址冲突等问题。使用动态
主机配置协议DHCP 分配IP 地址可解决以上问题,通过动态地址的分配向这两个工作室
所在的员工提供自动接入的配置,其中董事长计算机分配的IP 地址是固定的。为了节约成
本和提高管理效率,该公司只提供一个DHCP 服务器(8/24 )。DHCP 的

IP 地址为10.65.
基础模型如图3-1所示,网络拓扑描述如表3-1所示。
2.


图3-1 DHCP 基础模型

表3-
1 
网络拓扑描述

序号服务名称IP 地址操作系统
1 DHCP 服务器10.2.65.8/24 Linux7.4 
2 客户机A 10.2.65.10/24 Windows 
3 客户机B 10.2.65.11/24 Windows 


网络服务配置与管理———Red Hat Linux 7 
52 
3.2 知识引入
3.2.1 DHCP的概念与作用 
DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是一个局域网的网
络协议,它使用UDP协议工作,端口号为服务端67、客户端68,通常应用在大型局域网络环
境,主要作用是集中管理及分配IP 地址,使网络环境中的主机动态获得IP 地址、网关
(gateway)地址、DNS服务器地址等信息,能够提高地址的使用率。
当使用DHCP服务器动态分配IP地址时,一旦有客户端接入网络,客户端就会发出IP 
地址请求(request),DHCP服务器会从地址池中临时分配一个IP地址给客户端。当客户
端断开与服务器的连接时,DHCP服务器会把该IP地址收回,并把它分配给其他需要地址
的客户端,从而有效节约了IP地址的资源。
3.2.2 DHCP的工作原理
DHCP服务器负责监听客户端的请求,并向客户端发送预定的网络参数,管理员在
DHCP服务器上必须配置要提供给客户端的相关网络参数、自动分配地址的范围、地址租
约时间等参数,客户端只需要把IP参数设置为自动获取即可。DHCP的工作原理如图3-2 
所示,其中(1)~(4)步为第一次获取地址的必要步骤。
图3-2 DHCP的工作原理
DHCP客户端获取IP地址的工作过程如下。
(1)DHCP发现(discover)。当客户端第一次登录网络时,客户端以广播的形式(源地
址为0.0.0.0,目的地址为255.255.255.255)发送一个DHCPdiscover请求,并附加DHCP发
现信息的广播数据包。
(2)DHCP提供(offer)。当DHCP服务器接收到DHCPdiscover后,服务器自动检查
动态地址范围,选取一个空闲地址,(以华为单播、cisco广播的方式)发送一个DHCPoffer

项目3 DHCP 服务器 
53 
响应,其中包含即将要给客户端下发的地址信息(包含主要信息+次要信息),主要信息为前
缀+掩码+网关;次要信息为租期+已用的地址信息+特殊保留的地址信息+DNS信
息等。
(3)DHCP请求(request)。当客户端收到DHCPoffer封包后(若同时收到若干个
DHCPoffer包,则客户端默认选择收到的第一个服务器所提供的IP地址),会发出一个
DHCPrequest广播封包,表示它接收服务器所提供的IP地址,同时发出一个ARP请求,确
认该地址未被其他客户端使用。
(4)DHCP应答(ack)。当服务器收到DHCPrequest包后,发送一个DHCPack回应
(以华为单播、cisco广播的方式),表示地址租约生效,客户端开始对此地址和网络配置进行
工作,DHCP工作完成。其他DHCP服务器在收到DHCPrequest包(广播)后撤销提供的
IP地址。
(5)DHCP拒绝(nak)。服务器对客户端的DHCPrequest报文的拒绝响应报文(广
播),如服务器对客户端分配的IP地址已超过使用租借期限或客户端移到了另一个新的
网络。
(6)DHCP地址错误(decline)。当客户端发现服务器分配给它的IP地址发生冲突时, 
会通过发送此报文通知服务器,并会重新向服务器申请地址。服务器下发地址前,先将下发
的地址ping2次,若ping不通,则代表没人用;客户端收到服务器给出的DHCPack,查看
这些地址信息并将其设置为实验地址,先发送免费ARP,如果有应答,则显示地址冲突,客
户端给服务器发送decline,告知地址冲突并回收地址信息。
(7)DHCP释放(release)。客户端可通过发送此报文主动释放服务器分配给它的IP 
地址,当服务器收到此报文后,可将这个IP地址分配给其他客户端。
(8)如果客户端重新登录,则不需要发送discover包,只需要从request请求开始即可。
如果客户端不是第一次登录该网络,而是地址租约到期,则客户端就要重新进行一次如上过
程,否则客户端就会用上次获得的地址配置进行工作。当客户端不能联系到DHCP服务器
或租用失败时,将会使用自动私有IP地址(168.254.0.1~169.254.255.254地址段)进行配
置,这个机制可以使DHCP服务在不可使用时客户端仍能进行通信,同时管理员也可以从
客户端的IP地址判断DHCP是否成功。
3.2.3 DHCP服务的相关概念
(1)作用域(scope)。通过DHCP服务租用或指派给DHCP客户端的IP地址范围。
一个范围可以包括单独子网中的所有IP地址(有时也将一个子网再划分成多个作用域)。
例如10.2.65.1~10.2.65.254,DHCP服务器只能将作用域中定义的IP地址分配给DHCP 
客户端,因此必须创建作用域才能让DHCP服务器给客户端分配地址。此外,DHCP服务
器会根据接收到的DHCP客户端租约请求的网络接口决定哪个DHCP的作用域为DHCP 
客户端分配IP地址。
(2)排除范围(exclusionrange)。在DHCP作用域中,从DHCP服务中排除小范围内
的一个或多个IP地址。使用排除范围的作用是保留这些地址永远不会被DHCP服务器提
供给客户端。
(3)地址池(addresspool)。DHCP作用域中可用的IP地址范围。

网络服务配置与管理———Red Hat Linux 7 
54 
(4)租约期限(lease)。DHCP客户端使用动态分配IP地址的时间。在租用时间过期
后,客户端必须续订租用或使用DHCP获取新的租用。租约期限是DHCP中最重要的概
念,DHCP服务器并不给客户端提供永久的IP地址(正常情况下),而是只允许客户端在某
个指定时间范围内(租约期限内)使用某个IP地址。租约期限可以是几分钟、几天、几个月
甚至是永久(不推荐使用),用户可以根据不同的情况使用不同的租约期限。
(5)保留(reservation)。为特定DHCP用户租用而永久保留在一定范围内的特定IP 
地址。例如局域网中的DNS服务器和FTP服务器、董事长的IP地址等。
(6)选项类型(optiontypes)。DHCP服务器在配置DHCP客户端时可以进行配置的
参数类型。常见的参数类型有子网掩码、默认网关和DNS服务器等。每个作用域可以具有
不同的选项类型。当服务器选项与作用域选项都配置时,应用的是作用域选项的配置。
3.3 项目过程
3.3.1 任务1 DHCP服务器的安装与配置文件
1.任务分析 
五桂山公司需要给内网分配IP地址,如果采用手工配置,则工作量大且不方便管理,因
此使用DHCP分配IP地址,配置一台DHCP服务器(10.2.65.8/24),在此服务器上安装
DHCP服务器功能以满足需求。
图3-3 虚拟机光盘图标
2.任务实施过程
(1)连接光盘(虚拟机右下角右击连接),如图3-3 
所示。
(2)创建文件夹(挂载路径),挂载后进入挂载的文件
夹查看相关的安装包。 
[root@localhost /]#mkdir wgs 
[root@localhost /]#mount /dev/cdrom /wgs //挂载
mount: /dev/sr0 is write-protected, mounting read-only 
[root@localhost /]#mount //查看挂载,此处只显示最后几行
(ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500, 
uhelper=udisks2) 
/dev/sr0 on /wgs type iso9660 //挂载的位置
(ro,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500) 
[root@localhost wgs]#cd /wgs 
[root@localhost wgs]#ll //查看详细信息
total 812 
…d
r-xr-xr-x. 2 wgs wgs 774144 May 7 2014 Packages 
…
[root@localhost wgs]#cd Packages/ //进入Packages 
[root@localhost Packages]#find dhcp* //查看DHCP 相关文件
dhcp-4.2.5-27.el7.x86_64.rpm 
dhcp-common-4.2.5-27.el7.x86_64.rpm 
dhcp-libs-4.2.5-27.el7.i686.rpm

项目3 DHCP 服务器 
55 
dhcp-libs-4.2.5-27.el7.x86_64.rpm 
[root@localhost Packages]#rpm -qa | grep dhcp //查看已安装的全部DHCP 文件
dhcp-libs-4.2.5-27.el7.x86_64 
dhcp-common-4.2.5-27.el7.x86_64 
dhcp-4.2.5-27.el7.x86_64 
(3)以上软件包的用途如下。
● dhcp-libs-4.2.5-27.el7.x86_64:包含ISCdhcpclient和dhcpserver使用的共享库服
务器。
● dhcp-common-4.2.5-27.el7.x86_64:DHCP依赖库,即用于安装DHCP服务的基础
包,包括服务端和客户端进行沟通时需要用到的一些文件。
● dhcp-4.2.5-27.el7.x86_64:DHCP主程序包,包括DHCP服务和中继代理程序,安装
该软件包进行相应配置,即可为客户机动态分配IP地址及其他TCP/IP信息。
(4)安装DHCP。安装DHCP服务器可以使用rpm 方式和yum 方式,读者可以根据
习惯任选一种进行。
方法一:rpm 安装。 
[root@localhost Packages]#rpm -ivh dhcp-4.2.5-27.el7.x86_64.rpm 
//安装DHCP 文件,-ivh 为显示安装进度
方法二:yum 安装。
配置本地yum源文件,首先将/etc/yum.repos.d/下的文件移走,然后创建local.repo文件。 
[root@localhost network-scripts]#mv /etc/yum.repos.d/* /media 
[root@localhost network-scripts]#cd /etc/yum.repos.d/ 
[root@localhost yum.repos.d]#ll 
总用量0 
[root@localhost yum.repos.d]#vi local.repo 
[wgs] //代表库的名称,必须是唯一的
name=wgs //是这个库的说明,无太大意义
baseurl=file:///wgs //说明采用什么方式进行传输,具体路径在哪里,有file:///、ftp://、http://等
gpgcheck=0 //表示使用gpg 文件检查软件包的标签名
enabled=1 //说明启用这个更新库,0 表示不启用
[root@localhost yum.repos.d]#yum -y install dhcp //-y 表示确定安装
已加载插件: langpacks, product-id, search-disabled-repos, subscription-manager 
This system is not registered with an entitlement server. You can use subscription-manager to 
register. 
正在解决依赖关系
--> 正在检查事务
---> 软件包dhcp.x86_64.12.4.2.5-58.el7 将被安装
--> 解决依赖关系完成
依赖关系解决
======================================================================= 
Package 架构 版本 源 大小
======================================================================= 
正在安装: 
dhcp x86_64 12:4.2.5-58.el7 wgs 513 k 
事务概要
======================================================================= 
安装 1 软件包

网络服务配置与管理———Red Hat Linux 7 
56 
总下载量: 513 k 
安装大小: 1.4 M 
…正
在安装 : 12:dhcp-4.2.5-58.el7.x86_64 
1/1 
wgs/productid 
| 1.6 kB 00:00:00 
验证中 : 12:dhcp-4.2.5-58.el7.x86_64 
1/1 
已安装: 
dhcp.x86_64 12:4.2.5-58.el7 
完毕! 
(5)安装完成后,默认的配置文件为/etc/dhcp/dhcpd.conf。这个文件中没有任何内容,有
两种方式,一种是自行编写,另一种需要将/usr/share/doc/dhcpd-*/dhcpd.conf.sample复
制到/etc/dhcp/dhcpd.conf中。复制dhcpd.conf.sample到/etc/dhcp/dhcpd.conf。 
[root@localhost /]#cd /usr/share/doc/dhcp-* 
[root@localhost dhcp-4.2.5]#ll 
-rw-r--r--. 1 root root 3306 Jan 24 2014 dhcpd6.conf.sample 
-rw-r--r--. 1 root root 3262 Nov 19 2012 dhcpd.conf.sample 
drwxr-xr-x. 2 root root 67 Sep 28 11:10 ldap 
[root@localhost dhcp-4.2.5]#cp dhcpd.conf.sample /etc/dhcp/dhcpd.conf //复制
cp: overwrite '/etc/dhcp/dhcpd.conf'? y //是否覆盖,输入y 
3.3.2 任务2 创建作用域
1.任务分析 
现需要将一台Linux系统的计算机充当服务器(10.2.65.8/24),两台充当客户端,一台
自动获取动态地址10.2.65.31~10.2.65.200,一台获取DHCP服务器分配的保留地址10.2. 
65.127。
(1)dhcpd.conf介绍。dhcpd.conf包含全局配置和局部配置,全局配置包含参数或选
项,该部分对整个DHCP服务器生效;局部配置通常由声明部分表示,该部分仅对局部生
效,如只对一个IP作用域生效。dhcpd.conf文件的格式如下。 
#全局配置 //“# ”号表示注释
参数或选项; //全局生效,“;”号结束
#局部配置
声明{ 
参数或选项; //局部生效
} //注意大括号是成对的
(2)参数介绍如表3-2所示。
(3)IP地址绑定。在DHCP中需要分配一个固定的IP地址给指定用户,例如董事长
的IP地址。
● host主机名{…},给保留主机配置的名称。
● hardware类型硬件地址,要保留的主机的MAC地址。
● fixed-addressIP地址,要保留给主机的IP地址。

项目3 DHCP 服务器 
57 
表3-2 参数介绍
参 数作 用
ddns-update-style[类型] 定义DNS服务器动态更新的类型,类型有none(不支持动态
更新)、interim(互动更新模式)、ad-hoc(特殊更新模式) 
[allow|ignore]client-updates 允许/忽略客户端更新DNS记录
default-lease-time[时间] 默认超时时间,单位为秒
max-lease-time[时间] 最大超时时间,单位为秒
optiondomain-name-servers[IP地址] 定义DNS服务器地址
optiondomain-name“域名” 定义DNS服务器域名
range[开始IP地址][结束IP地址] 定义用于分配的IP地址池(注意中间的空格) 
optionsubnet-mask[掩码] 定义客户端的子网掩码
optionrouters[网关IP] 定义客户端的网关地址
broadcast-address[广播地址] 定义客户端的广播地址
ntp-server[ntp地址] 定义客户端的网络时间服务器[ntp]地址
nis-servers[nis地址] 定义客户端的NIS域服务器地址
Hardwarexx:xx:xx:xx:xx:xx 指定网卡接口类型与MAC地址
server-namemydhcp.smile.com 向客户端通知DHCP的主机名
Fixed-address[固定的IP地址] 将某个固定的IP地址分配给指定的主机(由MAC地址确定
该主机) 
time-offset[偏移误差] 指定客户端与格林尼治时间的偏移差
2.任务实施过程
(1)在名称框中右击“设置”按钮,选择网络类型(服务器和客户机都一样),如图3-4 
所示。
图3-4 网络类型

网络服务配置与管理———Red Hat Linux 7 
58 
(2)设置DHCP服务器的IP地址。 
[root@localhost dhcp]#vi /etc/sysconfig/network-script/ifcfg-ens33 
//ens33 不同版本的名称不同,可先cd /etc/sysconfig/network-script 后再ls 查看以ifcfg 开头的文件
BOOTPROTO=static //配置静态地址
NAME=ens33 //名称
UUID=8d6971e3-030e-4d28-8b39-e5b53be40d52 //由MAC 地址产生的唯一标识符
DEVICE=ens33 
ONBOOT=yes //系统启动时是否激活
IPADDR=10.2.65.8 //IP 地址
PREFIX=24 //掩码
(3)为了方便,这里采用dhcpd.conf自行配置方式。其中,hardwareethernet项可在保
留对象主机上的cmd窗口下通过执行ipconfig/all命令获取。 
[root@localhost dhcp]#vi dhcpd.conf //注意路径,这里已经在/etc/dhcp 的目录下
ddns-update-style none; //全局配置
subnet 10.2.65.0 netmask 255.255.255.0 { 
range 10.2.65.31 10.2.65.200; //分配给客户端的IP 网段 
option routers 10.2.65.1; //网关 
option domain-name-servers 10.2.65.1; //DNS 服务器的IP 地址 
option domain-name "dns.wgs.com"; //DNS 服务器的域名 
default-lease-time 600; //默认超时时间 
max-lease-time 7200; //最大超时时间
host client2 { 
hardware ethernet 00:0c:29:f2:ff:5d; //客户端的MAC 地址 
fixed-address 10.2.65.127; //给客户端保留的地址 
} 
} //注意括号是成对的
(4)重启dhcpd服务,有两种方式,任选一种即可。 
[root@localhost dhcp]#systemctl start dhcpd //修改配置文件需重启dhcpd,默认不启动
(5)关闭防火墙,默认开启。 
[root@localhost dhcp]#systemctl stop firewalld 
(6)查看端口状态。 
[root@localhost dhcp]#netstat -anp | grep :67 //查看端口67 的状态
udp 0 0 0.0.0.0:67 0.0.0.0:* 35704/dhcpd 
(7)客户端测试。测试前可通过执行ipconfig/release命令释放缓存地址,然后执行
ipconfig/renew命令以获取地址。执行ipconfig/all命令可查看DHCP客户端获取的主要
和次要信息,如图3-5所示。
图3-5 客户端获取地址

项目3 DHCP 服务器 
59 
(8)查看client2发现获取到保留的地址,如图3-6所示;dhcpd.conf的hardware参数
为client2的MXC地址,如图3-7所示。
图3-6 客户端详细地址
图3-7 查看详细信息
(9)查看服务器租约数据库文件(DHCP的分配信息)。 
[root@localhost dhcp]#cat /var/lib/dhcpd/dhcpd.leases 
#The format of this file is documented in the dhcpd.leases(5) manual page. 
#This lease file was written by isc-dhcp-4.2.5 
lease 10.2.65.31 { 
starts 5 2020/10/09 10:57:03; 
ends 5 2020/10/09 11:07:03; 
cltt 5 2020/10/09 10:57:03; 
binding state active; 
next binding state free; 
rewind binding state free; 
hardware ethernet 00:0c:29:37:68:e5; 
uid "\001\000\014)7h\345"; 
client-hostname "zhou"; 
}
(10)在配置过程中,如果有报错,则可查看日志文件。 
[root@localhost dhcp]#cat /var/log/messages

网络服务配置与管理———Red Hat Linux 7 
60 
3.3.3 任务3 DHCP多网卡多作用域
1.任务分析 
现有有限网络IP地址,需要向网络中添加更多的IP地址,并使用新的IP地址进行扩
充,小型网络可以对设备进行重新分配,而大型网络的重新分配操作烦琐,如果操作不当,则
可能会造成通信中断,通过多网卡多作用域可实现IP地址扩充的目的。DHCP多网卡多作
用域的模型如图3-8所示,网络拓扑描述如表3-3所示。
五桂山公司原先规划了10.2.65.0/24网段,在任务2的基础上又新增了200台计算机, 
现需要用多作用域创建一个10.2.66.0/24网段的IP地址,给新增的200台计算机分配IP 
地址。
图3-8 DHCP多网卡多作用域模型
表3-3 网络拓扑描述
序号服务名称IP地址网络区段操作系统
1 DHCP服务器10.2.65.8/24 server1 
10.2.66.8/24 server2 Linux 
2 client1 10.2.65.0/24 server1 Windows 
3 client2 10.2.66.0/24 server2 Windows 
2.任务实施过程
(1)右击DHCP服务器虚拟机的标题栏,在弹出的对话框中,在“硬件”列表中选择“网
络适配器”(网卡2)选项,单击“添加”按钮,新增一块网卡。
(2)在“网络连接”框中选择“LAN 区段”单选项,再单击“LAN 区段”按钮,添加
server1、server2网络区段,其中网卡1与client1为server1网络类型,网卡2与client2为
server2网络类型,如图3-9所示,最后单击“确定”按钮。
(3)配置网卡2的IP 地址,执行ifconfig命令将其配置为临时配置,注意重启后会
失效。 
[root@localhost etc]#ifconfig ens38 10.2.66.8 netmask 255.255.255.0 
[root@localhost etc]#ifconfig //查看IP 
ens33: flags=4163< UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

项目3 DHCP 服务器 
61 
inet 10.2.65.8 netmask 255.255.255.0 broadcast 10.2.65.255 
inet6 fe80::20c:29ff:fe3c:3989 prefixlen 64 scopeid 0x20< link> 
ether 00:0c:29:3c:39:89 txqueuelen 1000 (Ethernet) 
RX packets 3568 bytes 384033 (375.0 KiB) 
RX errors 0 dropped 0 overruns 0 frame 0 
TX packets 2112 bytes 294748 (287.8 KiB) 
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
ens38: flags=4163< UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 
inet 10.2.66.8 netmask 255.255.255.0 broadcast 10.2.66.255 
ether 00:0c:29:3c:39:93 txqueuelen 1000 (Ethernet) 
RX packets 67 bytes 11363 (11.0 KiB) 
RX errors 0 dropped 0 overruns 0 frame 0 
TX packets 14 bytes 2240 (2.1 KiB) 
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
图3-9 网络类型设置
(4)配置dhcpd.conf文件,这里可以使用复制快捷键。
● 复制一行:进入命令模式,在要复制的句子开头输入yy,在要粘贴的位置输入p。
● 复制多行:进入命令模式,在要复制的句子开头输入y,再输入要复制的行数,在要粘
贴的位置输入p。
● 删除整行:进入命令模式,在要删除的句子开头输入dd。
● 恢复删除的操作:输入u。 
ddns-update-style none; 
subnet 10.2.65.0 netmask 255.255.255.0 { //网卡1 的作用域 
range 10.2.65.31 10.2.65.200; 
option routers 10.2.65.1; 
option domain-name-servers 10.2.65.1;

网络服务配置与管理———Red Hat Linux 7 
62 
option domain-name "dns.wgs.com"; 
option time-offset -18000; 
default-lease-time 600; 
max-lease-time 7200; 
} //因为此时client 模拟66 网段的主机,不能被作为保留的主机MAC 地址,所以删除host 
subnet 10.2.66.0 netmask 255.255.255.0 { //网卡2 的作用域 
range 10.2.66.1 10.2.66.200; 
option routers 10.2.66.1; 
option domain-name-servers 10.2.66.1; 
option domain-name "dns.wgs2.com"; 
option time-offset -18000; 
default-lease-time 600; 
max-lease-time 7200; 
}
(5)重启dhcpd服务。 
[root@localhost Desktop]#systemctlrestart dhcpd //重启dhcpd 服务
(6)测试客户端,如图3-10和图3-11所示。
图3-10 客户端获取地址
图3-11 客户端获取地址
3.3.4 任务4 DHCP超级作用域
1.任务分析 
五桂山公司建立了DHCP服务器,规划了10.2.65.0/24网段的单作用域结构。随着规
模的扩大,现有IP地址的不足。现需要使用超级作用域增加IP地址,在DHCP服务器上

项目3 DHCP 服务器 
63 
添加新的作用域,使用10.2.66.0扩张网络IP地址的范围。
超级作用域是DHCP服务器的一种管理功能,使用超级作用域可以将多个作用域组合
为一个管理实体,进行统一管理。DHCP超级作用域的模型如图3-12所示,网络拓扑描述
如表3-4所示。
图3-12 DHCP超级作用域模型
表3-4 网络拓扑描述
序号服务名称IP地址操作系统
1 DHCP服务器10.2.65.8/24 Linux 
2 client1 10.2.65.0/24 Windows 
3 client2 10.2.66.0/24 Windows 
(1)超级作用域的功能如下: 
● 为客户端提供多个作用域的IP配置; 
● 当地址有限,需要更多的IP地址,最初的作用域无法满足需求时,使用新的作用域
IP地址扩展范围; 
● 客户端需要从原有的作用域迁移到新的作用域。
(2)超级作用域的格式如下。 
ddns-update-style none; 
shared-network wgs { //wgs 为超级作用域的名称 
subnet 10.2.65.0 netmask 255.255.255.0 { 
} 
subnet 10.2.66.0 netmask 255.255.255.0 { 
} 
} 
2.任务实施过程
(1)要求一台DHCP服务器和两台客户机都在同一个LAN 中。服务器的dhcpd.conf 
配置文件中的一个作用域可设IP地址的数量为1,另一个任意,则使用两台客户端进行测
试,一个获取到数量为1的作用域,另一个获取另一个作用域即可。

网络服务配置与管理———Red Hat Linux 7 
64 
(2)向DHCP服务器配置文件添加以下内容。 
ddns-update-style none; 
shared-network wgs { 
option time-offset -18000; //超级作用域中的参数为全局参数 
default-lease-time 600; 
max-lease-time 7200; 
subnet 10.2.65.0 netmask 255.255.255.0 { 
range 10.2.65.10 10.2.65.10; //模拟一个IP 地址 
option routers 10.2.65.1; 
option domain-name-servers 10.2.65.1; 
option domain-name "dns.wgs.com"; 
} 
subnet 10.2.66.0 netmask 255.255.255.0 { 
range 10.2.66.100 10.2.66.200; 
option routers 10.2.66.1; 
option domain-name-servers 10.2.66.1; 
option domain-name "dns.wgs2.com"; 
} 
} //share 的结束符
(3)重启dhcpd服务。 
[root@localhost Desktop]#systemctlrestart dhcpd 
(4)第一个客户端测试,如图3-13所示。
图3-13 客户端获取地址
(5)第二个客户端测试,因为前面设置65网段的作用域只有一个IP地址,被获取后则
后面的客户端都从新的作用域(66网段)获取IP地址,如图3-14所示。
图3-14 客户端获取地址

项目3 DHCP 服务器 
65 
3.3.5 任务5 DHCP的中继
1.任务分析 
五桂山公司存在两个子网,分别为10.2.65.0/24和10.2.66.0/24,现在需要通过DHCP 
服务器为这两个子网分配IP地址。需要两台Linux操作系统的计算,一台作为DHCP服
务器(10.2.65.8/24),另一台作为中继(10.2.65.10/24和10.2.66.10/24),客户机可以是一台
或两台(若一台,则按情况更改网络类型即可)。
一台服务器要想跨网段给客户端分配IP地址,就需要借助中继再转发,ISCDHCP软
件中提供的中继代理程序为dhcrelay。DHCP的中继模型如图3-15所示,网络拓扑描述如
表3-5所示。
图3-15 DHCP中继模型
表3-5 网络拓扑描述
序号服务名称IP地址网络区段操作系统
1 DHCP服务器10.2.65.8/24 server Linux 
2 DHCP中继服务10.2.65.10/24 server 
10.2.66.10/24 server2 Linux 
3 client 10.2.66.0/24 server2 Windows 
注意:中继器的IP地址为下发给客户端的网关,需配置双网卡。
若使用的是Linux7.0版本,网卡名称可以修改。修改网卡名称的方法是编辑网络配
置文件。 
vi /etc/sysconfig/network-script/ifcfg-ens33 
NAME=eth0 
DEVICE=eth0 
[root@localhost network-scripts]mv ifcfg-eno16777736 ifcfg-eth0 //修改配置文件的名称
[root@ localhost network- scripts]# sed - i 's/rhgb/net.ifnames= 0 biosdevname= 0 &/' /etc/ 
default/grub 
[root@localhost network-scripts]#grub2-mkconfig -o /boot/grub2/grub.cfg 
2.任务实施过程
(1)配置DHCP服务器的地址为10.2.65.8/24。
(2)右击DHCP中继器虚拟机的标题栏,在弹出的对话框中,在“硬件”列表中选择“网
络适配器”(网卡2)选项,单击“添加”按钮,新增一块网卡。
(3)在“网络连接”框中选择“LAN 区段”单选框,再单击“LAN 区段”按钮,添加

网络服务配置与管理———Red Hat Linux 7 
66 
server1、server2网络区段,其中网卡1 与DHCP 服务器为server网络类型,IP 网段为
10.2.65.0/24。网卡2与客户端为server2网络类型,IP网段为10.2.66.0/24。
(4)配置DHCP中继服务器的IP地址。 
[root@localhost Desktop]#vi /etc/sysconfig/network-scripts/ifcfg-ens33(网卡的名称) 
ONBOOT=yes 
IPADDR=10.2.65.10 
GATEWAY=10.2.65.8 //注意网关是连接对端的服务器IP 地址
PREFIX=24 
[root@localhost Desktop]#ifconfigens38 10.2.66.10 netmask 255.255.255.0 
[root@localhost Desktop]#systemctl restart network 
(5)配置中继代理服务器转发数据包,有两种方式,其中一种通过配置网关实现互联, 
另一种通过配置路由实现互联,第一种网关互联类似于添加静态路由协议,第二种类似于添
加动态路由协议。
方式一:配置网关。
配置DHCP服务器的IP地址。特别注意,服务器的网关是连接中继代理服务器的IP 
地址,这时可尝试ping中继LAN2网卡的IP地址,ping通则可进入下一步。 
[root@localhost Desktop]#vi /etc/sysconfig/network-scripts/ifcfg-ens33 
ONBOOT=yes 
IPADDR=10.2.65.8 
PREFIX=24 
GATEWAY=10.2.65.10 
[root@localhost Desktop]#systemctl restart network //重启网络让其生效
方式二:配置路由协议(可选)。
在DHCP服务器不添加网关指向中继服务器10.2.65.10的情况下,服务器ping不通中
继的LAN2网段,需要服务器添加路由,同时在中继代理器上开启IPv4的转发功能,并设
置net.Ipv4.ip_forward为1。 
[root@localhost Desktop]#ip route add 10.2.66.0/24 via 10.2.65.10 
[root@localhost system]#vim /etc/sysctl.conf 
net.Ipv4.ip_forward=1 
(6)DHCP服务器配置dhcpd.conf文件,服务器为LAN1和LAN2的客户机分配IP地
址,需要声明两个作用网段,也就是两个作用域,其中,作用域中的网关设置为中继的IP地址。 
dns-update-style none; 
option time-offset -18000; //全局配置 
default-lease-time 600; 
max-lease-time 7200; 
subnet 10.2.65.0 netmask 255.255.255.0 { //局部配置 
range 10.2.65.31 10.2.65.200; 
option routers 10.2.65.10; 
option domain-name-servers 10.2.65.10; 
option domain-name "dns.wgs.com"; 
}s
ubnet 10.2.66.0 netmask 255.255.255.0 { 
range 10.2.66.1 10.2.66.200; 
option routers 10.2.66.10;

项目3 DHCP 服务器 
67 
option domain-name-servers 10.2.66.10; 
option domain-name "dns.wgs2.com"; 
} [root@localhost Desktop]#systemctlrestart dhcpd //重启dhcp 服务
(7)DHCP中继服务器安装了DHCP服务,配置中继代理,中继代理计算机默认不转
发DHCP客户机的请求,需要使用dhcrelay指定DHCP的服务器位置。 
[root@localhost /]#systemctl enable dhcrelay //开启dhcrelay 会提示
Created symlink from 
/etc/systemd/system/multi-user.target.wants/dhcrelay.service to 
/usr/lib/systemd/system/dhcrelay.service. //按照提示复制
[root@localhost system]#cp 
/etc/systemd/system/multi-user.target.wants/dhcrelay.service 
/etc/systemd/system/ 
[root@localhost /]#cd /etc/systemd/system 
[root@localhost system]#vim dhcrelay.service 
[Service] 
ExecStart=/usr/sbin/dhcrelay -d --no-pid 10.2.65.8 //指定DHCP 服务器的位置
[root@localhost system]#systemctl --system daemon-reload //重载配置信息
[root@localhost system]#systemctl restart dhcrelay //重启中继服务
[root@localhost system]#systemctl status dhcrelay //查看dhcrelay 的状态
dhcrelay.service-DHCP Relay Agent Daemon 
Loaded: loaded (/etc/systemd/system/dhcrelay.service; enabled) 
Active: active (running) since Mon 2020-10-12 03:08:26 EDT; 6s ago 
Docs: man:dhcrelay(8) 
Main PID: 3987 (dhcrelay) 
Status: "Dispatching packets..." 
CGroup: /system.slice/dhcrelay.service 
└─3987 /usr/sbin/dhcrelay -d --no-pid 10.2.65.8 
(8)客户端网络类型为LAN2,检测客户端获取地址,如图3-16所示。
图3-16 客户端获取地址
3.3.6 任务6 DHCP的备份和还原
1.任务分析 
如果在中型网络中管理上百台计算机,一旦DHCP服务器出现了问题,则可能导致客

网络服务配置与管理———Red Hat Linux 7 
68 
户端获取不到正确的IP地址。为解决这个问题,应配置两台以上的DHCP服务器,如果其
中一台出现问题,则另一台服务器会自动承担分配IP地址的任务。为避免发生客户端IP 
地址冲突的现象,多台DHCP服务器提供的IP地址的范围也应不同。
五桂山公司的两个子网中各有一台DHCP服务器,一个为LAN1:10.2.65.0/24分配
IP地址,另一个为LAN2:10.2.66.0/24分配IP地址,互相提供备份的DHCP设置。
2.任务实施过程
(1)DHCP1的dhcpd.conf配置文件。 
dns-update-style none; 
subnet 10.2.65.0 netmask 255.255.255.0 { 
range 10.2.65.1 10.2.65.99; 
option routers 10.2.65.1; 
}s
ubnet 10.2.66.0 netmask 255.255.255.0 { 
range 10.2.66.1 10.2.66.99; 
option routers 10.2.66.1; 
}
(2)DHCP2的dhcpd.conf配置文件。 
dns-update-style none; 
subnet 10.2.65.0 netmask 255.255.255.0 { 
range 10.2.65.100 10.2.65.200; 
option routers 10.2.65.1; 
}s
ubnet 10.2.66.0 netmask 255.255.255.0 { 
range 10.2.66.100 10.2.66.200; 
option routers 10.2.66.1; 
}
(3)客户端验证,如图3-17所示。
图3-17 客户端测试获取IP地址
(4)关闭DHCP1服务,测试客户机获取IP地址正常。
3.3.7 任务7 DHCP服务在无线中的应用
1.任务分析 
五桂山公司计划加入无线网络的扩建,现在需要使用外接DHCP服务器(10.2.65.8/ 
24)为客户端提供IP地址。无线网络是一类利用无线电技术传输数据网络的总称。根据

项目3 DHCP 服务器 
69 
网络覆盖范围、网络应用场合和网络架构的不同等,可以将无线网络划分为不同的类别,根
据覆盖范围的不同可以划分为无线广域网(WirelessWideAreaNetwork,WWAN)、无线局
域网(WirelessLocalAreaNetwork,WLAN)、无线城域网(Wireless MetropolitanArea 
Network,WMAN)和无线个人局域网(WirelessPersonalAreaNetwork,WPAN)。无线局
域网是计算机网络与无线通信技术相结合的产物,其逻辑拓扑如图3-18所示,ensp拓扑如
图3-19所示,网络拓扑描述如表3-6所示。此任务的实验环境需要华为模拟器ensp软件, 
ensp模拟器中的AC6005充当AC,AP2050充当AP(注:若ensp版本过低,则没有AC和
AP模拟机),Linux7.4充当外接DHCP服务器。该任务需要一定的无线互联和网络互联
的知识,具体知识可参考相关书籍。
图3-18 逻辑拓扑图
图3-19 ensp拓扑图

网络服务配置与管理———Red Hat Linux 7 
70 
表3-6 网络拓扑描述
序号服务名称IP地址VLAN/网络类型设备名称操作系统
1 STA的DHCP服务器10.2.65.8/24 仅主机模式Linux7.4 
2 DHCP中继/汇聚交换机
10.1.2.254/24 VLAN2 
10.1.8.254/24 VLAN8 
10.1.101.254/24 VLAN101 
10.1.100.254/24 VLAN100 
10.1.65.254/24 VLAN200 
S5700 ensp1.3.00.100 
3 云/物理机网卡10.2.65.7/24 Cloud ensp1.3.00.100 
4 AP的DHCP服务器10.1.2.1/24 VLAN2 AR2240 ensp1.3.00.100 
5 AC 10.1.8.1/24 VLAN8 AC6005 ensp1.3.00.100 
6 AP 自动获取VLAN100 AP2050 ensp1.3.00.100 
7 客户机(STA) 自动获取PC ensp1.3.00.100 
2.任务实施过程
步骤一:实现DHCP与无线设备的互联。
(1)在关闭物理机防火墙的情况下实现模拟器ensp和与虚拟机中的DHCP服务器的
互联。因为需要和本机的ensp互联,所以服务器的“网络连接”选项应选择“仅主机模式”, 
如图3-20所示。
图3-20 网络类型