15-URPF配置
本章节下载: 15-URPF配置 (176.1 KB)
URPF(Unicast Reverse Path Forwarding,单播反向路径转发)的主要功能是用于防止基于源地址欺骗的网络攻击行为,例如基于源地址欺骗的DoS(Denial of Service,拒绝服务)攻击和DDoS(Distributed Denial of Service,分布式拒绝服务)攻击。
源地址欺骗攻击为入侵者构造出一系列带有伪造源地址的报文来产生攻击,对于使用基于IP地址验证的应用来说,此攻击方法可以导致未被授权用户以他人身份获得访问系统的权限,甚至是以管理员权限来访问。即使响应报文不能达到攻击者,同样也会造成对被攻击对象的破坏。
如图1-1所示,在Switch A上伪造源地址为2.2.2.1的报文,以非常高的速率向服务器Switch B发起请求,Switch B响应请求时将向真正的“2.2.2.1”发送报文。这种非法报文对Switch B和Switch C都造成了攻击。
URPF技术可以应用在上述环境中,对报文的源地址进行反查,并依据其合法性对报文进行过滤,阻止基于源地址欺骗的攻击。
URPF检查有严格(strict)型和松散(loose)型两种,设备仅支持严格(strict)型检查。
不仅检查报文的源地址是否在FIB表中存在,而且检查报文的入接口与FIB表是否匹配。
在一些特殊情况下(如非对称路由),严格型检查会错误的丢弃非攻击报文。
一般将严格型检查布置在ISP的用户端和ISP端之间。
仅检查报文的源地址是否在FIB表中存在,而不再检查报文的入接口与FIB表是否匹配。
松散型检查可以避免错误的拦截合法用户的报文,但是也容易忽略一些攻击报文。
一般将松散型检查布置在ISP-ISP端。另外,如果用户无法保证路由对称,可以使用松散型检查。
严格型URPF检查中可以进行链路层检查,即用源地址查FIB得到的下一跳地址再查一次ARP表,确保报文的源MAC地址和查到的ARP表项中的MAC地址一样才允许报文通过。
链路层检查功能对于运营商用单个三层以太网接口接入大量PC机用户时部属非常合适。
组播报文不进行URPF检查。
URPF的处理流程如下:
(1) 如果报文的源地址在设备的FIB表中存在。
反向查找报文出接口,若其中至少有一个出接口和报文的入接口相匹配,则报文通过检查;否则报文将被丢弃。(反向查找是指查找以该报文源IP地址为目的IP地址的报文的出接口)
(2) 如果报文的源地址在设备的FIB表中存在,且报文通过了检查,则检查链路层信息。
· 如果没有配置参数link-check,则认为报文通过检查,进行正常的转发;
· 如果配置了参数link-check,则根据FIB表中的下一跳查询ARP表,并比较IP报文源MAC地址与ARP表中的MAC地址是否一致,如果两者一致,则报文通过检查;如果查询失败或两者不一致,则报文将被拒绝。
· 若等价路由下一跳表项数超过8条,则设备不支持URPF检查。等价路由的详细介绍请参见“三层技术-IP路由”中的“IP路由基础”。
· 对URPF的链路层检查(参数link-check),不支持等价路由方式。如果存在等价路由,则不要启用链路层检查功能。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能URPF检查 |
ip urpf strict [ link-check ] |
必选 缺省情况下,没有使能URPF检查 |
· URPF检查功能只在VLAN接口上生效。
· URPF检查仅对接口收到的报文有效。
· 当系统工作在标准模式下时,如果VPN实例没有配置保留VLAN,则该VPN实例绑定的私网VLAN接口上不能配置URPF功能。关于系统工作模式的介绍,请参见“基础配置指导”中的“设备管理”。关于保留VLAN的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。
缺省情况下,以太网接口、VLAN接口及聚合接口处于DOWN状态。如果要对这些接口进行配置,请先使用undo shutdown命令使接口状态处于UP。
客户交换机Switch A与ISP交换机Switch B直连,在Switch B的VLAN接口10上启动URPF,要求严格检查;在Switch A的VLAN接口10上启动URPF,要求严格检查。
图1-2 URPF配置举例组网图
(1) 配置Switch B
# 创建VLAN 10。
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] quit
# 配置VLAN接口10的IP地址。
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] ip address 1.1.1.2 255.255.255.0
# 在VLAN接口10上使能严格URPF检查。
[SwitchB-Vlan-interface10] ip urpf strict
(2) 配置Switch A
# 创建VLAN 10。
<SwitchA> system-view
[SwitchA] vlan 10
[SwitchA-vlan10] quit
# 配置VLAN接口10的IP地址。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip address 1.1.1.1 255.255.255.0
# 在VLAN接口10上使能严格URPF检查。
[SwitchA-Vlan-interface10] ip urpf strict
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!