09-uRPF配置
本章节下载: 09-uRPF配置 (245.20 KB)
设备支持两种运行模式:独立运行模式和IRF模式,缺省情况为独立运行模式。有关IRF模式的介绍,请参见“虚拟化技术配置指导”中的“IRF”。
uRPF(unicast Reverse Path Forwarding,单播反向路径转发)是一种单播逆向路由查找技术,用来防范基于源地址欺骗的攻击手段,例如基于源地址欺骗的DoS(Denial of Service,拒绝服务)攻击和DDoS(Distributed Denial of Service,分布式拒绝服务)攻击。
对于使用基于IP地址验证的应用来说,基于源地址欺骗的攻击手段可能导致未被授权用户以他人,甚至是管理员的身份获得访问系统的权限。因此即使响应报文没有发送给攻击者或其它主机,此攻击方法也可能会造成对被攻击对象的破坏。
如图1-1所示,攻击者在Router A上伪造并向Router B发送大量源地址为2.2.2.1的报文,Router B响应这些报文并向真正的“2.2.2.1”(Router C)回复报文。因此这种非法报文对Router B和Router C都造成了攻击。如果此时网络管理员错误地切断了Router C的连接,可能会导致网络业务中断甚至更严重的后果。
攻击者也可以同时伪造不同源地址的攻击报文或者同时攻击多个服务器,从而造成网络阻塞甚至网络瘫痪。
uRPF可以有效防范上述攻击。一般情况下,设备在收到报文后会根据报文的目的地址对报文进行转发或丢弃。而uRPF可以在转发表中查找报文源地址对应的接口是否与报文的入接口相匹配,如果不匹配则认为源地址是伪装的并丢弃该报文,从而有效地防范网络中基于源地址欺骗的恶意攻击行为的发生。
uRPF检查有严格(strict)型和松散(loose)型两种。
不仅检查报文的源地址是否在转发表中存在,而且检查报文的入接口与转发表是否匹配。
在一些特殊情况下(如非对称路由,即设备上行流量的入接口和下行流量的出接口不相同),严格型uRPF检查会错误地丢弃非攻击报文。
一般将严格型uRPF检查布置在ISP的用户端和ISP端之间。
仅检查报文的源地址是否在转发表中存在,而不再检查报文的入接口与转发表是否匹配。
松散型uRPF检查可以避免错误的拦截合法用户的报文,但是也容易忽略一些攻击报文。
一般将松散型uRPF检查布置在ISP-ISP端。另外,如果用户无法保证路由对称,可以使用松散型uRPF检查。
严格型uRPF检查中还可以进行链路层检查,即用源地址查转发表得到的下一跳地址再查一次ARP表,确保报文的源MAC地址和查到的ARP表项中的MAC地址一样才允许报文通过。
链路层检查功能对于运营商用一个三层以太网接口接入大量PC机用户时部署非常合适。
组播报文不进行uRPF检查。
(1) 首先检查源地址合法性。
· 对于广播地址,直接予以丢弃。
· 对于全零地址,如果目的地址不是广播,则丢弃(源地址为0.0.0.0,目的地址为255.255.255.255的报文,可能是DHCP或者BOOTP报文,不做丢弃处理)。
(2) 如果报文的源地址在设备的FIB表中存在。
· 对于strict型检查,反向查找报文出接口,若其中至少有一个出接口和报文的入接口相匹配,则报文通过检查;否则报文将被丢弃。(反向查找是指查找以该报文源IP地址为目的IP地址的报文的出接口)
· 对于loose型检查,报文通过检查。
(3) 如果报文的源地址在设备的FIB表中存在,且报文通过了检查,则检查链路层信息。
· 如果没有配置参数link-check,则认为报文通过检查,进行正常的转发;
· 如果配置了参数link-check,则根据FIB表中的下一跳查询ARP表,并比较IP报文源MAC地址与ARP表中的MAC地址是否一致,如果两者一致,则报文通过检查;如果查询失败或两者不一致,则报文将被拒绝。
配置uRPF时,需要注意:
· 全局uRPF和接口uRPF无法同时配置。
· 使能全局uRPF后,设备的ICMP重定向报文的发送功能(配置ip redirects enable命令)配置不生效。
· 使能全局uRPF后,如果只匹配到默认路由,则对该默认路由进行严格型检查。
· 若等价路由下一跳表项数超过8条,则设备不支持uRPF检查。等价路由的详细介绍请参见“三层技术-IP路由”中的“IP路由基础”。
· 当系统工作在标准模式下时,如果VPN实例没有配置保留VLAN,则该VPN实例绑定的私网VLAN接口上不能配置URPF功能。关于系统工作模式的介绍,请参见“基础配置指导”中的“设备管理”。关于保留VLAN的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。
· 对uRPF的链路层检查(参数link-check),不支持等价路由方式。如果存在等价路由,则不要启用链路层检查功能。
· uRPF严格检查功能只在VLAN接口上生效。
· uRPF检查仅对接口收到的报文有效。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
在全局打开uRPF功能 |
ip urpf loose |
缺省情况下,uRPF功能处于关闭状态 |
表1-2 配置接口uRPF
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
在接口下打开uRPF功能 |
ip urpf strict [ link-check ] |
缺省情况下,uRPF功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置uRPF后的运行情况,通过查看显示信息验证配置的效果。
表1-3 uRPF显示和维护
配置步骤 |
命令 |
显示uRPF的配置应用情况(独立运行模式) |
display ip urpf [ interface interface-type interface-number ] [ slot slot-number [ cpu cpu-number ] ] |
显示uRPF的配置应用情况(IRF模式) |
display ip urpf [ interface interface-type interface-number ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
缺省情况下,以太网接口、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] 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!