负载分担场景中部署严格URPF导致SNMP流量中断故障处理建议
URPF(Unicast Reverse Path Forwarding)是单播逆向路径转发的简称。URPF在 FIB(Forwarding Information Base)表中查找数据包的 IP(Internet Protocol)源地址是否与数据包的源接口相匹配,如果没有匹配表项将丢弃该数据包,从而预防 IP 欺骗,特别是针对伪造 IP 源地址的 DoS攻 击非常有效。拒绝服务 DoS(Denial of Service)攻击是一种阻止连接服务的网络攻击。DoS 的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
产品问题:下图网络拓扑中,交换机和RC之间用两条链路实现负载分担,在RA和RB上部署严格URPF功能,防止来自交换机侧的DDoS攻击。
配置完成后,发现业务未受影响,但是网管流量中断。NMS server可以ping通PortB,但是无法ping通PortA。
初步判断故障原因是:启用URPF功能后,网管流量才中断,可以推断是URPF丢弃报文导致网管流量断掉。
具体排查过程如下:
- 在RB上查看丢包计数,记录此时报文丢弃的数目。
- 在RA和RB上执行命令undo ip urpf命令,尝试去使能URPF功能。
- 在RB上查看去使能URPF功能后的丢包计数,发现去使能URPF之后,丢包计数停止增长。
- 重新启用URPF,发现丢包计数继续增长。
- 在Switch上配置snmp local interface loopback 0命令,指定Switch回应SNMP报文使用loopback接口后,故障消失。
- 在NMS Server上ping Switch的PortA端口IP,依然ping不通。
- Tracert Switch的PortA端口IP,发现Tracert报文可以到达RB,但无法从Switch返回。
在RA和RB上分别执行以下操作:在PortA和PortB上执行命令ip urpf loose,使能松散URPF检查;完成上述操作后,SNMP流量正常,SNMP Server可以ping通PortA。
建议:在负载分担的网络中,不要部署严格URPF模式。
@L晨曦 麻烦关注!