首页 > 技术文章 > DHCP原理与配置

dingcong1201 2020-06-06 20:03 原文

DHCP原理与配置

1、DHCP(Dynamic Host Configuration Protocol)概述

在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。如果采用手工配置,工作量大且不好管理,如果有用户擅自次改网络参数,还有可能会造成IP地址冲突等问题。使用动态主机配置协议DHCP来分配IP地址等网络参数,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

2、DHCP应用场景


DHCP服务器能够为大量主机分配IP地址,并能够集中管理

3、DHCP报文类型

报文类型 含义
DHCP DISCOVER 客户端用来寻找DHCP服务器
DHCP OFFER DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息
DHCP REQUEST 客户端请求配置确认,或者续借租期
DHCP ACK 服务器对REQUEST报文的确认响应
DHCP NAK 服务器对REQUEST报文的拒绝响应
DHCP RELEASE 客户端要释放地址时用来通知服务器

4、地址池

5、DHCP工作原理

第一步:客户端通过广播发送DHCP Discover 报文寻找服务器端
第二步:服务器端通过单播发送DHCP Offer 报文向客户端提供IP地址等网络信息
第三步:客户端通过广播发送DHCP Request 报文告知服务器端本地选择使用哪个IP地址
第四步:服务器通过单播发送DHCP Ack报文告知客户端IP地址是合法可用的

6、DHCP租期更新


IP租约期限到达50%时,DHCP客户端会请求更新IP地址租约

7、DHCP重绑定


DHCP客户端在租约期限到达87.5%时,还没收到服务器响应,会申请重绑定IP

8、IP地址释放


如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP地址
如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE报文,释放该IP地址

9、DHCP接口地址池配置(华为)

步骤1:
[R1]dhcp enable #系统模式开启DHCP功能
步骤2:
[R1]interface GigabitEthernet0/0/0.10 #进入子接口
[R1-GigabitEthernet0/0/0.10] dhcp select interface #基于基于接口配置DHCP
[R1-GigabitEthernet0/0/0.10] dhcp server excluded-ip-address 192.168.10.200 192.168.10.210 #192.168.10.200到192.168.10.210不分配地址
[R1-GigabitEthernet0/0/0.10] dhcp server dns-list 8.8.8.8 #配置DNS

10、DHCP全局地址池配置(华为)

步骤1:
[R1]dhcp enable #系统模式开启DHCP功能
步骤2:
[R1] ip pool v20
[R1-ip-pool-v20] gateway-list 192.168.20.1
[R1-ip-pool-v20] network 192.168.20.0 mask 255.255.255.0
[R1-ip-pool-v20] dns-list 114.114.114.114
[R1-ip-pool-v20] static-bind ip-address 192.168.20.9 mac-address 28d2-4469-5a55 # 绑定 IP 192.168.20.9 固定分配给MAC 为28d2-4469-5a55的机器,需池中IP
[R1-ip-pool-v20] lease day 10 #租期10天
步骤3:
[R1]int g0/0/0.20
[R1-GigabitEthernet0/0/0.20]dhcp select global

11、DHCP中继配置(华为)

应用场景:通常在DHCP分配网段过多的情况下,网关路由器上配置DHCP服务,压力过大,一般我们用第二路由器,或则第二台DHCP服务器来分担业务。
步骤1:
[R1]interface GigabitEthernet0/0/0.30 #进入子接口
[R1-GigabitEthernet0/0/0.10] dhcp select relay #基于DHCP中继
[R1-GigabitEthernet0/0/0.10] dhcp relay server-ip 12.0.0.2 #去12.0.0.2请求DHCP服务
步骤2:
[R2] dhcp enable
[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/0] dhcp select global #去全局 请求DHCP服务
步骤3:
[R2] ip pool v30
[R2-ip-pool-v30] gateway-list 192.168.30.1
[R2-ip-pool-v30] network 192.168.30.0 mask 255.255.255.0
[R2-ip-pool-v30] dns-list 114.114.114.114
[R1-ip-pool-v30] lease day 3 #租期3天

推荐阅读