分享一个小故事,“2017年夏季,某集团因打印机老旧需要替换升级,新设备由各区域分公司人员自行安装调试。操作人员配置网络时,错误的将网关IP配置在打印机本地网卡中,导致整个办公室网络时断时续,100多人半天的时间无法正常办公,严重影响该分公司桌面业务运行”。诸如此类因手动配置IP引起的生产故障还有很多,因此大部分企业开始使用动态地址分配的方法取代传统手动配置。今天就为大家普及关于动态地址分配的基础知识,希望在日常的工作中可以提供帮助。enjoy:
动态主机配置协议(DHCP):是一个局域网的网络协议,由服务器控制一个动态的IP地址段范围,客户端接入网络时,服务器通过监听客户端请求的报文自动为客户端配置IP地址、网关地址、子网掩码、主备DNS等关键配置项。这样不仅减少因手动配置产生的网络故障,还能提高地址使用率。简单的来说,DHCP就是一个不需要账号密码认证,自动给网内客户端分配IP地址等信息的协议。
DHCP服务器部署拓扑
2. DHCP运行原理
2.1. DHCP地址获取流程
DHCP获取地址流程
客户端自动获取地址分为发现、提供、选择、确认四个阶段,下面针对四个阶段进行详细解释。
2.2. DHCP地址续约流程
DHCP地址续约流程
② T2时间续约:如果T1时间续约失败后,客户端认为之前分配地址的DHCP服务器已经故障,为了保证已经获得的IP地址可以正常使用,客户端会在T2时间使用广播的方式发送DHCPREQUEST报文,目的是收到该报文的所有DHCP服务器都可以为客户端续约使用。三层网关设备收到报文后,会使用单播的方式将该报文中继至DHCP服务器。DHCP服务器收到报文后检查本地租约信息,确认这个IP地址没有分配给其他客户端时,会使用单播的方式回复DHCPACK报文,至此客户端完成地址续约,并且地址使用时间从当前开始向后顺延T时间。
实践是检验真理的唯一标准,上述内容都是理论讲解,接下来进入实操干货。测试场景见下图:
DHCP测试拓扑
客户端本地网卡设置“自动获得IP地址”和“自动获取DNS服务器地址”,配置比较简单,就不进行配图说明了;
注意:“自动获得IP地址”为客户端关键配置,必须勾选。“自动获得DNS服务器地址”可根据是否使用DHCP配置的统一DNS要求进行勾选,对实验不产生影响;
三层设备配置对应VLAN及DHCP中继
dhcp relay server-group 1 ip 10.1.104.98 //配置DHCP转发组,可以填写多个。该组ID会在客户端VLAN中被引用;
interface Vlan-interface104 //配置VLAN
description used by SRVER //描述信息,便于查看。可不配置
ip address 10.1.104.1 255.255.255.0 //配置网关及子网范围
interface Vlan-interface107 //配置VLAN及DHCP转发应用
description used by CLIENT //描述信息,便于查看。可不配置
ip address 10.1.107.1 255.255.255.0 //配置网关及子网范围
dhcp select relay //使用renay的方式转发DHCP报文
dhcp relay server-select 1 //转发组
interface GigabitEthernet1/0/3 //进入客户端接入网卡
port access vlan 104 //将VLAN 104应用在客户端接入端口上
interface GigabitEthernet1/0/4 //进入服务器接入网卡
port access vlan 107 //将VLAN104应用在服务器接入网卡上
注意:为防止DHCP服务器污染网络环境,很多交换机默认开启DHCP SNOOPINP功能来抑制DHCP报文。可以通过dis dhcp-snooping 来查看该功能开启情况。如SNOOPING功能已开启,默认所有接口为untrust级别,DHCP报文不会像该端口转发,此时需要指定DHCP服务器接入网卡为trust安全级别。
DHCP服务器配置
配置网络范围:10.1.107.0/24
配置地址池空间:10.1.107.75~10.1.107.79
配置IP网关:10.1.107.1
配置DNS地址:8.8.8.8
配置IP生效时间7秒
注意:IP网关地址必须属于终端接入VLAN的子网范围内,否则会导致终端地址获取异常现象。
地址获取及续约流程
DHCP服务器抓包(含地址分配和续约过程)
客户端抓包(含地址分配和续约过程)
报文介绍
ACK报文
结论:上方截图中的报文顺序及内容与“2 DHCP运行原理”完全一致。
注意:通过上面实验可以看出,地址分配过程中PING CHECK的超时时间为1秒钟,与windows客户端第一次地址请求的time out时间相同,第二次重试时大约为3秒种。因此可以通过关闭DHCP服务器PING CHECK功能后加速地址获取速度。(此操作有潜在风险:终端没有进行ARP冲突检查时,可能会导致二层网络内IP冲突现象)