华为IP(3)

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绑定表

配置命令:
相关推荐
前端极客探险家32 分钟前
WebSocket 详解:构建一个复杂的实时聊天应用
网络·websocket·网络协议
啊哦1111 小时前
配置防火墙和SELinux(1)
linux·服务器·网络
走狗游世俗1 小时前
计算机网络复习 吉林大学
网络·计算机网络
卡戎-caryon1 小时前
【Linux网络与网络编程】03.UDP Socket编程
linux·服务器·网络·笔记·单例模式·udp·网络通信
張萠飛2 小时前
Linux的TCP连接数到达2万,其中tcp_tw、tcp_alloc、tcp_inuse都很高,可能出现什么问题
linux·网络·tcp/ip
神秘的t2 小时前
javaSE————网络原理
java·网络
EasyNVR3 小时前
视频分析设备平台EasyCVR视频结构化AI智能分析:筑牢校园阳光考场远程监控网
网络·音视频
jinan8863 小时前
企业的移动终端安全怎么管理?
大数据·网络·安全·数据分析·开源软件
W说编程3 小时前
《UNIX网络编程卷1:套接字联网API》第5章 TCP客户服务器程序示例
c语言·网络·网络协议·tcp/ip·unix·tcp