DHCP Relay报文格式
DHCP Relay主要负责转发DHCP客户端与DHCP服务器之间的DHCP报文,所以DHCP Relay的报文格式只是把DHCP的报文部分字段做了相应的修改,报文格式没有发生变化
hops:表示当前DHCP报文经过DHCP中继的数目,该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1
Giaddr(gateway ip address):表示第一个DHCP中继的IP地址。当客户端发出DHCP请求时,第一个DHCP中继在将DHCP请求报文转发给DHCP服务器时,会把自己的IP地址填入此字段。
DHCP Snooping
概述:
网络保证网络通信业务的安全性,引入了DHCP Snooping技术,在DHCP Client和DHCP Sever之间建立一道防火墙,以抵御网络中针对DHCP的各种攻击
DHCP Snooping是DHCP的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址。DHCP服务器记录DHCP客户端IP地址与MAC地址等参数的对应关系,防止网络上针对DHCP攻击。
目前DHCP协议在应用的工程中遇到很多安全方面的问题,网络中存在一些针对DHCP的攻击,入DHCP Server仿冒者攻击、DHCP Server的拒绝服务攻击、仿冒DHCP报文攻击等。
DHCP Snooping主要是通过DHCP Snooping信任功能和DHCP Snooping绑定表实现DHCP网络安全。
DHCP Snooping信任功能
DHCP Snooping信任功能,保证DHCP客户端从合法的DHCP服务器获取IP地址
DHCP Snooping信任功能将接口分为信任接口和非信任接口( DHCP Snooping默认都是非信任接口):
1)信任接口:正常接收DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报文
2)设备只将DHCP客户端的DHCP请求报文通过信任接口发送给合法的DHCP服务器,不会向非信任接口转发
3)非信任接口收到DHCP Server发送的DHCP OFFER、DHCP ACK、DHCP NAK报文会被直接丢弃。
实验:DHCP Snooping
要求:使PC只可以从合法的DHCP获取IP地址

AR1:(创建一个基于端口的DHCP)
dhcp enable
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
dhcp select interface
AR2:(创建一个基于端口的DHCP)
dhcp enable
interface GigabitEthernet0/0/0
ip address 192.168.2.1 255.255.255.0
dhcp select interface
AR3:(创建一个基于端口的DHCP)
dhcp enable
interface GigabitEthernet0/0/0
ip address 192.168.3.1 255.255.255.0
dhcp select interface
LSW2:(基于vlan 配置dhcp snooping)
dhcp enable //开启dhcp服务
dhcp snooping enable //开启dhcp信任功能
vlan 1
dhcp snooping enable //在vlan 1 下开启信任功能(默认情况下,所有端口都在vlan 1中)
([SW2]dhcp snooping enable vlan 1)
interface GigabitEthernet0/0/1
dhcp snooping trusted //将g0/0/1端口设为信任端口(此端口朝着合法的DHCP服务器)
LSW3:(基于端口 配置dhcp snooping)
dhcp enable //开启dhcp服务
dhcp snooping enable //开启dhcp信任功能
interface GigabitEthernet0/0/1
dhcp snooping enable //在g0/0/1接口下开启snooping功能
#
interface GigabitEthernet0/0/2
dhcp snooping enable //在g0/0/2接口下开启snooping功能
#
interface GigabitEthernet0/0/3
dhcp snooping enable //在g0/0/3接口下开启snooping功能
interface GigabitEthernet0/0/1
dhcp snooping trusted //将g0/0/1端口设为信任端口(此端口朝着合法的DHCP服务器)
LSW2:(基于vlan 配置dhcp snooping)和LSW3:(基于端口 配置dhcp snooping)两种方法都可定以
当交换机读取DHCP报文后,它自动生成一个叫DHCP Snooping绑定表
[SW2]display dhcp snooping user-bind all
DHCP Dynamic Bind-table:
Flags:O - outer vlan ,I - inner vlan ,P - map vlan
IP Address MAC Address VSI/VLAN(O/I/P) Interface Lease
--------------------------------------------------------------------------------
192.168.1.253 5489-9871-1e7e 1 /-- /-- GE0/0/2 2025.03.27-19:52
--------------------------------------------------------------------------------
print count: 1 total count: 1
DHCP Snooping 绑定表
二层接入设备使能了DHCP Snooping功能后,从收到DHCP ACK报文中提取关键信息(包括PC的MAC地址以及获取到的IP地址、地址租期)并获取与PC连接的使能了DHCP Snooping功能的接口信息(包括接口编号及该接口所属的VLAN),根据这些信息生成DHCP Snooping绑定表
由于DHCP Snooping绑定记录了DHCP 客户端IP地址与MAC地址等参数的对应关系,故通过对报文与DHCP Snooping绑定表进行匹配检查,能够有效防范非法用户的攻击。
DHCP饿死攻击
攻击原理:攻击者持续大量的向DHCP Server申请IP地址,直到耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配
漏洞分析:DHCP Server向申请者分配IP地址时,无法区分正常的申请与恶意的申请者
解决方法:
1)DHCP Snooping防饿死攻击
解决方法:对于饿死攻击,可以通过DHCP Snooping的MAC地址限制功能来防止,该功能通过限制交换机接口上允许学习到的最多MAC地址数目,防止通过变换MAC地址,大量发送DHCP请求
2)DHCP Snooping防改变CHADDR值的DOS攻击
解决方法:为了避免受到攻击者改变CHADDR值的攻击,可以在设备上配置DHCP Snooping功能,检查DHCP Request报文中CHADDR字段。如果该字段跟数据帧头部的源MAC相匹配,转发报文;否则,丢弃报文。从而保证合法用户可以正常使用网络服务。
DHCP中间人攻击
攻击原理:攻击者利用ARP机制,让Client学习到DHCP Server IP与Attacker MAC的映射关系,又让Server学习到Client IP与Attacker MAC的映射关系。如此一来,Client与Server之间交互的IP报文都会经过攻击者中转
漏洞分析:从本质上讲,中间人攻击是一种Spoofing IP/MAC攻击,中间人利用了虚假的IP地址与MAC地址之间的映射关系来同时欺骗DHCP的客户端和服务器
利用DHCP Snooping绑定表来实现。
IPSG技术
IP地址欺骗攻击中,攻击者通过伪造合法用户的IP地址获取网络访问权限,非法访问网络,甚至造成合法用户无法访问网络,或者信息泄露,IPSG针对IP地址欺骗攻击提供了一种防御机制,可以有效阻止此类网络攻击行为
IP源防攻击(IPSG,IP Source Guard)是一种基于二层接口的源IP地址过滤技术。它能够阻止恶意主机伪造合法主机的IP地址来仿冒合法主机,还能确保非授权主机不能通过自己指定IP地址的方式来访问网络或者攻击网络。
IPSG工作原理:
利用绑定表(源IP地址、源MAC地址、所属VLAN、入接口的绑定关系)去匹配检查二层接口上收到的IP报文。只有匹配绑定表的报文才允许通过,其他报文将被丢弃。常见的绑定表有静态绑定表和DHCP Snooping绑定表
配置命令:
