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,如需转载请自行联系原作者
目录
相关文章
|
8天前
|
网络协议
DHCP实验-动态主机配置协议
DHCP实验-动态主机配置协议
|
10月前
|
网络协议 数据安全/隐私保护
PPPoE 的 基础配置及原理
PPPoE 的 基础配置及原理
166 0
|
11月前
STP工作原理和配置
STP工作原理和配置
|
网络协议
DHCP理论讲解(动态主机配置协议)
DHCP理论讲解(动态主机配置协议)
129 0
|
监控 安全 网络协议
图解网络:什么是DHCP动态主机配置协议?
DHCP是网络技术世界一项特别伟大的技术,解决了静态配置IP繁琐的过程,其动态分配IP地址的特性,使得网络变得灵活可扩展。 如果没有 DHCP,很难想象我们将如何连接到互联网或本地网络,DHCP 是我们在 IP 网络上的设备如何相互通信以及与我们周围的世界通信的重要组成部分。
308 0
图解网络:什么是DHCP动态主机配置协议?
|
网络协议 安全 数据库
什么是DHCP以及DHCP的优点
什么是DHCP以及DHCP的优点
340 0
|
网络协议 Windows
路由交换基础——DHCP工作原理及DHCP Relay
路由交换基础——DHCP工作原理及DHCP Relay
342 0
路由交换基础——DHCP工作原理及DHCP Relay
|
网络虚拟化
|
网络虚拟化 网络架构 Windows

热门文章

最新文章