16-URPF配置
本章节下载: 16-URPF配置 (222.49 KB)
本文中的“SPC单板”指的是单板丝印以“SPC”开头(如SPC-GT48L)的单板,“MPE单板”指的是单板丝印以“MPE”开头(如MPE-1004)的单板。
URPF(Unicast Reverse Path Forwarding,单播反向路径转发)的主要功能是用于防止基于源地址欺骗的网络攻击行为,例如基于源地址欺骗的DoS(Denial of Service,拒绝服务)攻击和DDoS(Distributed Denial of Service,分布式拒绝服务)攻击。
源地址欺骗攻击为入侵者构造出一系列带有伪造源地址的报文来产生攻击,对于使用基于IP地址验证的应用来说,此攻击方法可以导致未被授权用户以他人身份获得访问系统的权限,甚至是以管理员权限来访问。即使响应报文不能达到攻击者,同样也会造成对被攻击对象的破坏。
如图1-1所示,在Router A上伪造源地址为2.2.2.1的报文,以非常高的速率向服务器Router B发起请求,Router B响应请求时将向真正的“2.2.2.1”发送报文。这种非法报文对Router B和Router C都造成了攻击。
URPF技术可以应用在上述环境中,对报文的源地址进行反查,并依据其合法性对报文进行过滤,阻止基于源地址欺骗的攻击。
URPF检查有严格(strict)型和松散(loose)型两种。
不仅检查报文的源地址是否在FIB表中存在,而且检查报文的入接口与FIB表是否匹配。
在一些特殊情况下(如非对称路由),严格型检查会错误的丢弃非攻击报文。
一般将严格型检查布置在ISP的用户端和ISP端之间。
仅检查报文的源地址是否在FIB表中存在,而不再检查报文的入接口与FIB表是否匹配。
松散型检查可以避免错误的拦截合法用户的报文,但是也容易忽略一些攻击报文。
一般将松散型检查布置在ISP-ISP端。另外,如果用户无法保证路由对称,可以使用松散型检查。
当设备上配置了缺省路由后,会导致URPF根据FIB表检查源地址时,所有源地址都能查到下一跳。针对这种情况,支持用户配置URPF是否允许引入缺省路由。
缺省情况下,如果URPF查询FIB表得到的结果是缺省路由,则按没有查到表项处理,丢弃报文。
组播报文不进行URPF检查。
URPF的处理流程如图1-2所示。
图1-2 URPF处理流程图
(1) 首先检查源地址合法性:
· 对于全网广播地址,直接予以丢弃。
· 对于全零地址,如果目的地址不是广播,则丢弃。(源地址为0.0.0.0,目的地址为255.255.255.255的报文,可能是DHCP或者BOOTP报文,不做丢弃处理。)
· 否则,进入步骤(2)。
(2) 然后检查报文的源地址在FIB表中是否存在匹配的路由。如果在FIB表中查找失败,则报文被丢弃,否则进入步骤(3);
(3) 如果FIB表中匹配的是缺省路由,则检查用户是否配置了允许匹配缺省路由(参数allow-default-route),如果没有配置,则报文被丢弃,否则进入步骤(4);如果FIB表中匹配的不是缺省路由,则进入步骤(4);
(4) 检查报文源地址与入接口是否匹配。反向查找报文出接口(反向查找是指查找以该报文源IP地址为目的IP地址的报文的出接口)或者缺省路由的出接口,若其中至少有一个出接口和报文的入接口相匹配,则报文继续进行正常的转发;如果不匹配,则查看是否是loose型检查,如果是,则报文继续进行正常的转发,否则说明是strict型检查,则报文被丢弃;
图1-3 URPF典型组网应用
在ISP与用户端,配置严格URPF,在ISP与ISP端,配置松散URPF。
用户可在接口配置URPF功能:接口配置只对单个接口生效。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
在接口使能URPF检查 |
ip urpf { loose | strict } [ allow-default-route ] |
必选 缺省情况下,接口禁止URPF检查 loose和allow-default-route参数仅在系统工作模式为SPE模式时支持,关于系统工作模式的介绍,请参见“ 基础配置指导”中的“设备管理” |
· 在隧道接口上配置本命令不生效。
· URPF检查仅对接口收到的报文有效。
· SPC单板和MPE单板仅支持IPv4 URPF严格检查功能。allow-default-route关键字设备可见但功能不生效,即配置allow-default-route关键字后功能与ip urpf strict命令的功能相同。
· 当系统工作模式为SPE模式时,使能URPF检查后,IPv6 URPF检查自动生效。其它系统工作模式下,IPv6 URPF检查无法生效。
· 当系统工作在混插标准模式下时,如果VPN实例没有配置保留VLAN,则该VPN实例绑定的私网VLAN接口上不能配置URPF功能。关于系统工作模式的介绍,请参见“基础配置指导”中的“设备管理”。关于保留VLAN的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。
· 配置松散型检查时不建议配置allow-default-route参数,否则可能导致防攻击能力失效。
客户路由器Router A与ISP路由器Router B直连,在Router B的接口GigabitEthernet3/1/1上启动URPF,要求严格检查;在Router A的接口GigabitEthernet3/1/1上启动URPF,要求严格检查,同时允许匹配缺省路由。
图1-4 URPF配置举例组网图
(1) 配置Router B
# 配置接口GigabitEthernet3/1/1的IP地址。
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] ip address 1.1.1.2 255.255.255.0
# 在接口GigabitEthernet3/1/1上使能严格URPF检查。
[RouterB-GigabitEthernet3/1/1] ip urpf strict
(2) 配置Router A
# 配置接口GigabitEthernet3/1/1。
<RouterA> system-view
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] ip address 1.1.1.1 255.255.255.0
# 在接口GigabitEthernet3/1/1上使能严格URPF检查,同时允许匹配缺省路由。
[RouterA-GigabitEthernet3/1/1] ip urpf strict allow-default-route
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!