HL-009 DHCP协议 ISSUE 1.1 江西陶瓷工艺美术职业技术学院
课程目标 学习完本课程,您应该能够: 了解DHCP协议产生的原因和解决的问题 理解DHCP协议的工作原理 理解DHCP相关安全特性 掌握华为3Com网络设备上关于DHCP 协议的配置
目录 DHCP协议产生原因 DHCP协议介绍 DHCP协议实现原理 DHCP安全特性介绍 DHCP配置及实验
DHCP协议产生的原因 使用DHCP协议就OK了 每个人都要我亲自去分配IP地址,太烦了。 怎么办? 小张,我需要固定的IP地址 唉,我的地址怎么又和别人冲突了??
目录 DHCP协议产生原因 DHCP协议介绍 DHCP协议实现原理 DHCP安全特性介绍 DHCP配置及实验
DHCP协议介绍 DHCP(Dynamic Host Configuration Protocol)是在BOOTP (Bootstrap Protocol )的基础上提出的 作用是在TCP/IP网络中向主机提供配置信息 采用Client/Server模式 由DHCP Client向DHCP Server提出配置申请,DHCP Server根据策略返回相应配置信息。 DHCP报文采用UDP进行封装,识别采用端口号 DHCP Client使用68,DHCP Server使用67。
DHCP协议特点 整个配置过程自动实现,DHCP Client端无需配置 所有配置信息由DHCP Server统一管理 通过IP地址租期管理,提高IP地址的使用效率 采用广播实现报文交互,报文一般不能跨网段,如果需跨网段,需要使用DHCP Relay技术实现
目录 DHCP协议产生原因 DHCP协议介绍 DHCP协议实现原理 DHCP安全特性介绍 DHCP配置及实验
DHCP协议系统组成 DHCP Client DHCP Server DHCP Relay 通常是一台主机或网络设备 DHCP Server DHCP Server提供网络设置参数给DHCP Client 通常是一台服务器或网络设备 DHCP Relay 在DHCP Client和DHCP Server之间跨网段转发DHCP消息 通常是网络设备
DHCP地址分配种类 Automatic Allocation Dynamic Allocation Manual Allocation 为连接到网络的某些主机分配IP地址,该地址将长期由该主机使用 Dynamic Allocation DHCP Server为DHCP Client指定一个IP地址,同时为此地址规定了一个租用期限 如果租用时间到期,DHCP Client必须重新申请地址 Manual Allocation 网络管理员为某些少数特定的主机绑定固定IP地址,且地址不会过期
DHCP协议分配地址的优先级 DHCP Server数据库中与该DHCP Client的MAC地址静态绑定的IP地址 顺序查找DHCP地址池中可供分配的IP地址,最先找到的可用IP地址,优先级高 如果未找到可用的IP地址,则依次查询超过租期、发生冲突的IP地址 找不到则报告错误
DHCP的报文组成 hops(1) hlen(1) options (variable) file(128) sname(64) chaddr(16) giaddr(4) siaddr(4) yiaddr(4) ciaddr(4) flags(2) secs(2) xid(4) htype(1) op(1)
DHCP报文中各个部分的含义 八位中最左边的一位置位代表广播,反之代表单播。 flags 由DHCP Client填充,从DHCP Client开始获得地址或地址续借后所使用了的秒数。 secs Transaction ID,由DHCP Client选择的一个随机数,被DHCP Server和DHCP Client用来在它们之间交流messages和responses。由客户设置并由DHCP Server返回的32 bit整数。客户用它对请求和应答进行匹配。 xid DHCP Client设置为0,也能被一个代理服务器设置 hops hardware address length,6字节。 hlen hardware address type,1表示10 Mb/s的以太网,这和ARP请求或应答中同名字段表示的含义相同。 htype message op code / message type “1“代表BOOTREQUEST ”2“代表 BOOTREPLY op 含义 字段
DHCP报文中各个部分的含义 字段 含义 ciaddr Client IP address,只有DHCP Client已经获得IP地址,并且能响应ARP requests时,才能被填充。 yiaddr ‘your’(Client)IP address siaddr bootstrap中,下一个Server的IP地址。 giaddr DHCP Relay代理的IP地址。 chaddr Client hardware address sname “服务器主机名”字段是一个空值终止串,由服务器填写。 file Boot file name,是一个空值终止串。DHCPDISCOVER中是“generic”名字或空字符;DHCPOFFER提供有效的目录路径全名。 options 可选参数域,定义的选项列表。DHCP报文“options”域的头四个八位字节的十进制值分别为99、130、83、99,“options”域的剩余项包括一列tagged参数。RFC 2132中介绍了全部的option的定义。
DHCP协议的8种报文 DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPDECLINE 此报文是DHCP Client开始DHCP过程的第一个报文 DHCPOFFER 此报文是DHCP Server对DHCP DISCOVER报文的响应 DHCPREQUEST 此报文是DHCP Client开始DHCP过程中对DHCPOFFER报文的回应,或者是DHCP Client续延IP地址租期时发出的报文 DHCPDECLINE 当DHCP Client发现DHCP Server分配给它的IP地址无法使用,将发出此报文,通知DHCP Server禁止使用该IP地址
DHCP协议的8种报文(续) DHCPACK DHCPNAK DHCPRELEASE DHCPINFORM DHCP Server对DHCP Client的DHCPREQUEST报文的确认响应报文 DHCPNAK DHCP Server对DHCP Client的DHCPREQUEST报文的拒绝响应报文 DHCPRELEASE DHCP Client主动释放DHCP Server分配给它的IP地址的报文 DHCPINFORM DHCP Client已经获得了IP地址,发送此报文,只是为了从DHCP Server处获取其他的一些网络配置信息
DHCP的通信过程 IP网 DHCP Client DHCP Server DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPACK/NAK DHCPDECLINE DHCP Client DHCP Server IP网
DHCP的通信过程分析
DHCP续订租约 T IP网 DHCP Client DHCP Server DHCPREQUEST(UNICAST) DHCPACK(UNICAST) T1:使用时间达到租期的50% DHCPREQUEST(BROADCAST) T2:使用时间达到租期的87.5% IP网 T
DHCP Relay 的通信过程 子网1 子网2 DHCP Client DHCP Server DHCPDISCOVER Unicast或Broadcast DHCPOFFER DHCPOFFER DHCPREQUEST DHCPREQUEST DHCPACK/NAK Unicast或Broadcast DHCPACK/NAK DHCPDECLINE DHCP Client和DHCP Relay间的所有报文,从初始状态获取IP地址时,DISCOVER和REQUEST都是广播的,OFFER和ACK根据请求报文中的广播标志位来决定广播还是单播,如果请求标注位为广播,则OFFER和ACK就是广播的,否则就是单播的。
DHCP Relay 的通信过程分析
DHCP Relay 的通信过程分析(续)
DHCP Relay续订租约 T DHCP Client DHCP Server 子网1 子网2 T1:使用时间达到租期的50% DHCPACK(UNICAST) DHCPREQUEST(BROADCAST) DHCPREQUEST(UNICAST) DHCPREQUEST(UNICAST) T T1:使用时间达到租期的50% T2:使用时间达到租期的87.5% 子网1 子网2
DHCP报文的广播与单播 当giaddr字段为空的时候,DHCP Server返回DHCPNAK报文采用的都是广播方式 如果 giaddr字段非空,那么DHCP Server就会采用单播的方式把返回报文发送给giaddr字段所代表的IP地址 如果giaddr字段为空并且ciaddr非空,那么DHCP Server也会采用单播的方式把DHCPOFFER和DHCPACK报文发送给ciaddr字段所代表的IP地址
DHCP报文的广播与单播(续) 如果giaddr和ciaddr字段都为空,并且flags字段中的广播位置位,那么DHCP Server返回DHCPOFFER和DHCPACK报文的时候就采用广播方式。 如果广播位没有置位,那么DHCP Server就把这些报文单播给yiaddr代表的IP地址 如果在某些情况下不能使用单播,那么DHCP Server就采用广播方式
目录 DHCP协议产生原因 DHCP协议介绍 DHCP协议实现原理 DHCP安全特性介绍 DHCP配置及实验
DHCP的安全特性 DHCP Relay地址合法性检查 DHCP Snooping DHCP Option 82
DHCP Relay地址合法性检查 DHCP Relay安全特性维护了一张IP和MAC的对应表 启了DHCP Relay安全特性后,ARP模块就会根据这张对应表对IP地址和MAC地址匹配的合法性检查 如果IP和MAC对应的关系在表中找不到匹配项时,就丢弃ARP报文 如果作DHCP Relay的设备不是默认网关,则报文的转发不受影响
DHCP Relay地址合法性检查 192.168.3.0 192.168.1.2 192.168.0.1 192.168.0.2 ARP请求 192.168.0.5 00EF-AABB-CF08 Check 192.168.0.6 00EF-AABB-CF08
DHCP Snooping DHCP Snooping设备可以对DHCP Client与DHCP Server端交互的DHCP协议报文进行监听 设备可以对自身的端口属性进行配置,将连接合法DHCP Server的端口设为信任端口,其余端口设为非信任端口 信任端口可以正常转发DHCPOFFER及DHCPACK报文,而非信任端口将拒绝这些报文
DHCP Snooping Legal DHCP INFO Legal DHCP INFO Illegal DHCP INFO Legal DHCP server DHCP Client Illegal DHCP server
DHCP Option 82 DHCP Option 82称为DHCP报文中的中继代理信息选项(Relay Agent Information Option) DHCP Relay设备可以同支持Option 82的DHCP Server共同配合,实现DHCP Client合法性检查、可控静态IP地址分配、可控DHCP Relay设备部署等 Option 82中可以包含最多255个sub-option,若定义了option 82,至少要定义一个sub-option。 目前option 82中常用的是sub-option 1、sub-option 2和sub-option 5。
...... DHCP Option 82 报文结构 Code Len Agent Information Field 指定了使用的sub-option
...... DHCP Option 82 子选项报文结构 SubOpt Len Sub-option Value iN SubOpt 1表示代理电路ID(Circuit ID)子项 2表示代理远程ID(Remote ID)子项 5表示链路选择(Link Selection)子项 Len 标识Sub-option Value的长度。 Sub-option Value sub-option的值
DHCP Option 82子选项介绍 sub-option 1 sub-option 2 sub-option 5 代理电路ID(Circuit ID)子项。 sub-option 2 代理远程ID(Remote ID)子项。 sub-option 5 链路选择(Link Selection)子项。
DHCP Relay支持Option 82时的工作机制 DHCP Client在初始化时以广播的形式发送请求报文 DHCP Relay设备检查报文中是否已有Option 82选项,进行相应的处理 如果已有Option 82,按照配置的策略对该报文进行处理,然后将请求报文转发给DHCP Server 若没有Option 82选项,则将Option 82选项添加到报文中后转发给DHCP Server
DHCP Relay支持Option 82时的工作机制(续) DHCP Server收到转发来的DHCP请求报文后,记录报文中Option选项信息,按照既定的针对Option 82的安全规则进行处理 DHCP Server将带着DHCP配置信息以及Option 82信息的报文发给DHCP Relay DHCP Relay收到DHCP Server的返回报文后,剥离报文中的Option 82信息 DHCP Relay将带有DHCP配置信息的报文转发给DHCP Client
目录 DHCP协议产生原因 DHCP协议介绍 DHCP协议实现原理 DHCP安全特性介绍 DHCP配置及实验
DHCP Server配置任务 启动DHCP服务 配置本地DHCP Server的地址分配方式 创建DHCP全局地址池(全局地址池方式必配) 配置动态分配的IP地址范围(全局地址池方式必配) 配置DHCP Client的默认网关IP地址(全局地址池方式必配) 配置DHCP Client的DNS服务地址(选配) 配置地址池中IP地址的租期(选配)
DHCP Server配置 启动DHCP服务 启动DHCP服务,在系统视图下配置 dhcp enable
DHCP Server配置(续) 配置本地DHCP Server从全局地址池进行地址分配 配置当前VLAN接口从全局地址池分配地址,在接口视图下配置 dhcp select global 配置多个VLAN接口从全局地址池分配地址 ,在系统视图下配置 dhcp select global { interface vlan-interface vlan_id [ to vlan-interface vlan_id ] | all } 配置本地DHCP Server从接口地址池进行地址分配 配置从当前接口地址池分配地址,在接口视图下配置 dhcp select interface 配置多个VLAN接口从接口地址池分配地址,在系统视图下配置 dhcp select interface { interface vlan-interface vlan_id [ to vlan-interface vlan_id ] | all }
DHCP Server配置(续) 创建DHCP全局地址池 配置动态分配的IP地址范围 配置DHCP Client的默认网关IP地址 请在系统视图下进行下列配置 dhcp server ip-pool pool-name 配置动态分配的IP地址范围 请在DHCP地址池视图下进行下列配置 network ip-address [ mask netmask ] 配置DHCP Client的默认网关IP地址 gateway-list ip-address [ ip-address ]
DHCP Server配置(续) 配置DHCP Client的DNS服务器地址 配置全局地址池中IP地址的租期 dns-list ip-address&<1-8> 配置全局地址池中IP地址的租期 expired { day day [ hour hour [ minute minute ] ] | unlimited } 配置VLAN接口DHCP地址池的IP地址租用有效期限 请在VLAN接口视图下进行下列配置 dhcp server expired { day day [ hour hour [ minute minute ] ] | unlimited }
DHCP Server显示和调试 查看DHCP Server的冲突相关信息 查看DHCP地址池的可用地址范围 display dhcp server conflict { all | ip ip-address } 查看DHCP地址池的可用地址范围 display dhcp server free-ip 查看DHCP地址池中地址绑定信息 display dhcp server ip-in-use { ip ip-address | pool [ pool-name ] | interface [ vlan-interface vlan_id ] | all } 查看DHCP Server的统计信息 display dhcp server statistics DHCP server 的调试 debugging dhcp server
DHCP Relay配置任务 启动DHCP服务 配置接口工作在DHCP Relay模式
DHCP Relay配置 配置接口工作在DHCP Relay模式 配置DHCP Server组中DHCP Server的地址,请在系统视图下进行下列配置 dhcp-server groupNo ip ip-address1 [ ipaddress-list ] 配置接口与DHCP Server组的归属关系 ,请在接口视图下进行下列配置 dhcp-server groupNo
DHCP Relay显示和调试 显示DHCP Server组的相关信息 显示VLAN接口对应的DHCP Server组的相关信息 display dhcp-server groupNo 显示VLAN接口对应的DHCP Server组的相关信息 display dhcp-server interface vlan-interface vlan-id 显示DHCP Server组的合法用户地址表中所有用户的地址信息 display dhcp-security [ ip-address | dynamic | static | tracker ] DHCP Relay的调试 debugging dhcp-relay
DHCP 安全特性配置任务 配置DHCP Relay地址合法性检查 配置DHCP Snooping功能 配置DHCP Relay支持Option 82
DHCP 安全特性配置 配置DHCP Relay地址合法性检查 配置DHCP Snooping dhcp-security static ip-address mac-address 启动DHCP Relay的地址匹配检查功能 ,请在接口视图下配置 address-check enable 配置DHCP Snooping 开启交换机DHCP Snooping功能 ,请在系统视图下配置 dhcp-snooping 指定连接到DHCP Server方向的端口为信任端口,请在接口视图下配置 dhcp-snooping trust 配置DHCP Relay支持Option 82,请在系统视图下配置 dhcp relay information enable
DHCP Server实验 Eth1 3.3.3.254/24 SWA HostA
DHCP Relay和DHCP Relay 的地址合法性检查 Eth1 Vlanif 300 Eth3 Eth1 HostA 3.3.3.254 2.2.2.1 2.2.2.2 Eth2 SWA SWB 3.3.3.10 HostB
DHCP Snooping DHCP Snooping Eth1 Eth2 Eth1 Vlanif 300 3.3.3.254 SWA SWB HostA
DHCP Option 82 Eth1 Vlanif 300 Eth3 HostA 3.3.3.254 2.2.2.1 2.2.2.2 SWA HostB HostC
本章总结 DHCP协议产生原因和解决的问题 DHCP协议的基本工作原理 网络设备上的DHCP配置
思考题