4.1.1
URPF典型配置举例
1、应用场合
路由器Router A与ISP路由器Router B连接,在Router B的interface A接口上启用URPF(如图2),可以保护ISP内部路由器和Internet其他部分免受来自客户网络的源地址欺骗攻击。
客户网络中的一个攻击者伪造成IP源地址为22.2.2.1的客户,攻击者的报文从interface A进入,如果在ISP路由器的interface A接口上启用URPF,则Router B接收到报文后可以判断,来自22.2.2.1源的报文应当从interface B进入,而不是interface A,Router B认为该报文源地址是伪造的,将丢弃该报文。这样就保护了Internet上其它的用户。或者在客户路由器Router A的接入接口interface C上启用URPF功能(如图3),也可以达到上述保护目的。
同样在客户路由器Router A的入接口interface A(如图4)上启用URPF功能,也可以保护客户侧网络不受来自外部的源地址欺骗攻击。
由于在接口上启用URPF会对所有入报文进行检查,且路由及出接口都必须完全匹配,配置时需要谨慎,以免在测试其它模块打流进行验证时错误将构造的报文丢弃。
当启用URPF的接口上同时建立了echo方式的BFD会话时,对于bfd echo-source-ip的选取有限制。因为SR8800对于BFD Echo方式的实现是用设置的bfd echo-source-ip封装来BFD探测报文的源IP,原则上该源IP可以任意设置。但如果接口上启用了URPF功能的话,当Echo探测报文经对端设备转发回来时同样会对这些探测报文作检查,此时如果bfd echo-source-ip是随意设置的值,就有可能无法通过URPF检查,从而导致BFD会话down,影响其检测功能。当必须在某接口上同时使用BFD echo方式和URPF检查功能时,必须保证将bfd echo-source-ip设置为路由可达并且出接口与该接口匹配。简单地可以设置为该接口的IP地址。
<Sysname> system-view
[Sysname] bfd echo-source-ip 10.1.1.1
用测试仪从路由器Router A的接口GE2/1/8打入源IP为随机值的报文,在出口GE2/1/7能接收到相应报文。
在Router A的接口GE2/1/8启用URPF功能后,打入源IP为随机值的报文,这些报文不能通过URPF检查,被设备丢弃,在出口GE2/1/7不能接收到报文。
未在路由器接口上启用URPF功能时,向设备打入源IP地址为随机值的报文,设备能正常转发(对于源IP合法性检查失败的报文会丢弃,如源IP为广播/组播地址,版本号,校验和错误等)。当在接口上使能URPF检查功能,会对打入报文的源地址在FIB表中查找,如果存在则反向查找报文出接口,若其中至少有一个出接口和报文的入接口相匹配,则报文通过检查;否则报文将被丢弃,在报文接收端口不能接收到打入的报文。
配置步骤
<RouterA>
system-view
[RouterA]
interface GigabitEthernet 2/1/8
[RouterA-GigabitEthernet2/1/8]
ip urpf strict
#
interface
GigabitEthernet2/1/8
port link-mode
route
ip address 192.168.1.1
255.255.255.0
ip urpf strict
#
#
配置完成后通过display命令查看接口下的配置。
[RouterA-GigabitEthernet2/1/8]
display this
#
interface
GigabitEthernet2/1/8
port
link-mode route
ip
address 192.168.1.1 255.255.255.0
ip urpf strict
#
return