22-URPF配置
本章节下载 (156.91 KB)
在以下的介绍中所指的路由器,代表了一般意义下的路由器以及运行了路由协议的以太网交换机。为提高可读性,在手册的描述中将不另行说明。
URPF(Unicast Reverse Path Forwarding,单播反向路径转发)的主要功能是用于防止基于源地址欺骗的网络攻击行为。
源地址欺骗攻击为入侵者构造出一系列带有伪造源地址的报文,对于使用基于IP地址验证的应用来说,此攻击方法可以导致未被授权用户以他人身份获得访问系统的权限,甚至是以管理员权限来访问。即使响应报文不能达到攻击者,同样也会造成对被攻击对象的破坏。
如图1-1所示,在Router A上伪造源地址为2.2.2.1/8的报文,向服务器Router B发起请求,Router B响应请求时将向真正的“2.2.2.1/8”发送报文。这种非法报文对Router B和Router C都造成了攻击。
URPF技术可以应用在上述环境中,阻止基于源地址欺骗的攻击。
URPF检查有严格(strict)型和松散(loose)型两种。此外,还可以支持ACL与链路层、缺省路由的检查。
URPF的处理流程如下:
(1) 首先检查源地址合法性。
l 对于广播地址,直接予以丢弃。
l 对于全零地址,如果目的地址不是广播,则丢弃(源地址为0.0.0.0,目的地址为255.255.255.255的报文,可能是DHCP或者BOOTP报文,不做丢弃处理)。
(2) 如果报文的源地址在路由器的FIB表中存在
l 对于strict型检查,反向查找报文出接口,若其中至少有一个出接口和报文的入接口相匹配,则报文通过检查;否则报文将被拒绝(反向查找是指查找以该报文源IP地址为目的IP地址的报文的出接口)。
l 对于loose型检查,报文通过检查。
(3) 如果报文的源地址在路由器的FIB表中存在,且报文通过了检查,则检查链路层信息。
l 如果没有配置参数link-check,则认为报文通过检查,进行正常的转发。
l 如果配置了参数link-check,则根据FIB表中的下一跳查询ARP表,并比较IP报文源MAC地址与ARP表中的MAC地址是否一致,如果两者一致,则报文通过检查;如果查询失败或两者不一致,则报文将被拒绝。
(4) 如果报文的源地址在路由器的FIB表中不存在,则检查缺省路由及URPF的allow-default-route参数。
l 如果没有配置缺省路由,则不管是strict型检查还是loose型检查,该报文都将被拒绝;
l 对于配置了缺省路由,但没有配置参数allow-default-route的情况,不管是strict型检查还是loose型检查,该报文都将被拒绝;
l 对于配置了缺省路由,同时又配置了参数allow-default-route的情况下,如果是strict型检查,只要缺省路由的出接口与报文的入接口一致,则报文将通过URPF的检查,进行正常的转发;如果缺省路由的出接口和报文的入接口不一致,则报文将被拒绝。如果是loose型检查,报文都将通过URPF的检查,进行正常的转发。
(5) 当且仅当报文被拒绝后,才去匹配ACL。如果被ACL允许通过,则报文继续进行正常的转发(此类报文称为被抑制丢弃的报文);如果被ACL拒绝,则报文被丢弃。
用户可在接口配置URPF功能,接口配置只对单个接口生效。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
在接口使能URPF检查 |
ip urpf { loose | strict } [ allow-default-route ] [ acl acl-number ] [ link-check ] |
必选 缺省情况下,接口禁止URPF检查 |
l URPF检查仅对接口收到的报文有效。
l 如果在接口使能URPF检查功能,用户可以通过display ip interface命令查看URPF功能丢弃报文的统计信息(URPF Information:Drops表示被丢弃的报文数目;Suppressed drops表示被抑制丢弃的报文数目)。
客户路由器Router A与ISP路由器Router B直连,在Router B的接口Ethernet1/1上启动URPF,要求严格检查,源地址在ACL 2010中的报文在任何情况下都能通过检查;在Router A的接口Ethernet1/1上启动URPF,要求严格检查,同时允许对缺省路由进行特殊处理。
图1-2 URPF配置举例组网图
(1) 配置Router B
# 配置ACL 2010,允许10.1.1.0/24网段的流量通过URPF检查。
<RouterB> system-view
[RouterB] acl number 2010
[RouterB-acl-basic-2010] rule permit source 10.1.1.0 0.0.0.255
[RouterB-acl-basic-2010] quit
# 配置接口Ethernet1/1的IP地址。
[RouterB] interface ethernet 1/1
[RouterB-Ethernet1/1] ip address 1.1.1.2 255.255.255.0
# 在接口Ethernet1/1上使能严格URPF检查。
[RouterB-Ethernet1/1] ip urpf strict acl 2010
(2) 配置Router A
# 配置接口Ethernet1/1。
<RouterA> system-view
[RouterA] interface ethernet 1/1
[RouterA-Ethernet1/1] ip address 1.1.1.1 255.255.255.0
# 在接口Ethernet1/1上使能严格URPF检查,同时允许对缺省路由进行特殊处理。
[RouterA-Ethernet1/1] ip urpf strict allow-default-route
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!