DHCP的基本原理

简介:

DHCP只适用于以太网,串口不适用

DHCP可以说是BOOTP的增强版本
DHCP补充了BOOTP两方面:允许计算机快速、动态的获取IP地址


dhcp请求报文和应答报文都采用UDP封装

DHCP报文格式

wKioL1impYuROti4AAL9Fs6jTpU387.jpg


DHCP获取地址几个阶段
1、发现阶段:客户端寻找DHCP服务器阶段(Source 68  destination 67)
2、提供阶段:DHCP服务器提供IP地址阶段(Source 67  destination 68)
3、选择阶段:客户端选择某台DHCP服务器提供的IP地址阶段(出现多给DHCP服务器时、先到先得)
4、确认阶段:DHCP服务器确认提供的IP地址的阶段
wKiom1impc-TXYyIAAC1gRUaF_M447.jpg
DHCP服务器为客户端分配IP地址的优先次序:
1、与客户端MAC地址或客户端ID静态绑定的IP地址
2、DHCP服务器记录的曾经分配给客户端的IP地址
3、客户端发送的DHCP-DISCOVER报文中option50字段指定的IP地址
4、在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址
5、如果未找到可用的IP地址,则依次查询租约过期、曾发生过冲突的IP地址,如果找到则进行分配,否则将不予处理

DHCP服务器分配IP地址,需要确定没有被其他设备所使用的。DHCP服务器通过发送icmp报文进行探测,如果没有在规定时间没有应答再次发送ping报文,达到规定次数没有应答可以分配,否则将探测的IP地址记录为冲突地址,并重新选择IP地址进行分配

DHCP客户端收到DHCP服务器返回的DHCP-ack之后,会以广播的方式发送免费ARP报文,探测是否有主机使用该IP地址

DHCP snooping:DHCP服务的二层监听功能、利用该功能可以从接收到的DHCP-ACK和DHCP-request报文中的提取并记录IP地址和MAC地址信息


DHCP中继出现
DHCP协议要求客户端和服务器只能在同一个子网内,不可以跨越网段,DHCP中继解决此情况              
wKioL1impejCxOYFAAFXFdmM7x4522.jpg


客户端配置ip address dhcp-alloc 后不会立即发送DHCP-discover报文,而是1-10s内随机发送,如果没有收到DHCP服务器的回应报文继续发送,直到回应为止


DHCP攻击方式:

1、饿死攻击:MAC地址限制,不断获取IP地址,这种结合交换机端口安全技术防范

2、DHCP Server仿冒者攻击:信任(Trusted)/不信任(Untrusted)
3、中间人攻击/IP/MAC Spoofing攻击:DHCP Snooping绑定表
4、改变CHADDR值的DoS攻击:检查DHCP报文的CHADDR字段(不断申请IP地址)


DHCP Server仿冒者攻击:

由于DHCP使用discovery广播包、offer报文提供IP/mask GW,requset先来先得地址,ACK确认包


ARP欺骗,MAC地址绑定
update arp 开启定期ARP询问
interfaca g0/0/2
arp authorized 禁止动态更新ARP
arp timeout 60 60s无应答则删除ARP条目


snooping窥探机制工作在交换机上,把端口设为trusted或untrusted

trusted:可以收发DHCP消息

untrusted:可以收到discovery、offer消息、执行drop,不发送任何DHCP消息

ip dhcp snooping 开启snooping,默认是untrusted

ip dhcp snooping vlan 20 vlan20开启snooping

interface f0/0  定义信任端口
ip dhcp snooping trust 交换机连接DHCP服务器端口设为trusted

中继
interface f0/0
ip helper-address 1.1.1.1
ip dhcp relay information trust 


dhcp snooping bind-table static ip-address ip-address mac-address mac-address interface g0/0,配置IP与MAC绑定表的静态表项
DHCP利用Option字段传递控制信息和网络配置参数,实现地址的动态分配,为客户端提供更加丰富的网络配置信

DHCP配置

dhcp enable 开启dhcp
dhcp server ip-pool pool  建立dhcp名称
 network 172.16.18.0 mask 255.255.255.0  地址段
 gateway-list 172.16.18.1  网关
 dns-list 202.106.0.20  DNS
 expired day 8  租用天数
 option 43 hex 800B0000 02AC1267 03AC1267 04    十六进制    (无线用的)
 dhcp server forbidden-ip 172.16.18.1  排除地址
 dhcp server forbidden-ip 172.16.18.254

dhcp snooping trusted命令用来设置三层接口或VLAN为“信任”状态
undo dhcp snooping trusted命令用来设置三层接口或VLAN为 “非信任”状态


启用portfast的优势在于能够防止DHCP超时的问题

display ip interface br
interface vlan 1 
ip add dhcp-alloc 自动获取地址

dhcp selsect global all 全局分配地址
display dhcp server ip-in-use all 查看地址池可用地址信息

reset dhcp server ip-in-use all 重置正在使用的IP地址

address-check enable dhcp中继的安全特性

静态表项和动态表项
1、静态绑定:通过手工配置产生绑定表项来完成端口的控制功能,适用于局域网络中主机数较少或者针对某台做绑定匹配
2、动态绑定:通过DHCP snooping或DHCP relay的绑定表项来完成端口控制功能,能有效控制IP地址冲突、盗用等问题

ip dhcp relay information trust-all 合法的DHCP服务路由,为了形成一个绑定表

no ip dhcp conflict logging  关闭DHCP冲突日志

debugging dhcp server all 

1、PC拿不到地址:链路不通、server未启用、缺乏中继、地址耗尽(抓包只拿到前两个包)
2、PC拿到地址,上不了网:DHCP池冲突


UDP Helper能够实现对指定UDP端口的广播报文进行中继转发
将广播报文转换为单播报文发送给指定的目的服务器,解决了当主机与待查询的服务器不在同一个广播域时,无法利用广播报文进行通信,主机无法从服务器中获取所需要的信息的问题;

区别:IP Helper Address支持对DHCP报文的中继,UDP HELPER不支持对DHCP报文的中继

使能UDP Helper功能后,设备接收到广播报文,将根据报文的UDP目的端口号来判断是否要对其中继转发,并进行相应的处理:
如果报文的UDP目的端口号与配置的需要中继转发的UDP端口号匹配,且目的MAC为广播MAC,则修改IP报文头的目的IP地址,将报文发给指定的目的服务器; 否则,直接将报文丢弃










本文转自 周小玉 51CTO博客,原文链接:http://blog.51cto.com/maguangjie/1898852,如需转载请自行联系原作者
目录
相关文章
|
网络协议 Windows
网络协议与攻击模拟-11-DHCP协议原理
网络协议与攻击模拟-11-DHCP协议原理
79 0
|
7月前
|
网络协议 Linux Windows
DHCP服务器原理
DHCP服务器原理
93 0
|
网络协议 网络虚拟化 网络架构
【网络】· 路由器中配置单臂路由和DHCP,VTP原理
【网络】· 路由器中配置单臂路由和DHCP,VTP原理
203 0
|
缓存 网络协议 网络虚拟化
路由基础:三层交换机、单臂路由的特点以及配置特点、DHCP报文类型、DHCP工作原理、在路由器上配置DHCP、在交换机上配置DHCP、配置DNS服务器
三层交换机、单臂路由的特点以及配置特点、DHCP报文类型、DHCP工作原理、在路由器上配置DHCP、在交换机上配置DHCP、配置DNS服务器
路由基础:三层交换机、单臂路由的特点以及配置特点、DHCP报文类型、DHCP工作原理、在路由器上配置DHCP、在交换机上配置DHCP、配置DNS服务器
|
网络协议 Windows
路由交换基础——DHCP工作原理及DHCP Relay
路由交换基础——DHCP工作原理及DHCP Relay
503 0
路由交换基础——DHCP工作原理及DHCP Relay
|
网络虚拟化
DHCP协议工作原理(分配IP地址的方式)
DHCP工作在应用层,使用UDP协议工作,负责给局域网内的用户分配IP地址 分配IP地址的方式有三种:手动配置,自动配置,动
462 0
|
网络虚拟化 网络架构 Windows