SVI,physical layer3 等三层接口下配置RACL,用来限制对应的 layer3 路由流量。在N3500 的某些NX-OS 版本,RACL 的配置同时会影响layer2 的穿越流量,导致网络中断。
相关文档:
https://bst.cloudapps.cisco.com/ ... ffering_site=dumpcr- Symptom:
In a vPC environment, an ingress ACL applied on SVI will affect the L2 traffic.
实际上,non-vPC 环境,也会有同样问题。
- Conditions:
ingress RACL applied to interface-vlan
transit L2 traffic in vlan where ACL is applied
- Workaround:
remove ACL
- Known Affected Releases:
7.0(3)I7(3)
7.0(3)I7(5)
9.2(1)
- Known Fixed Releases:
9.2(2)
7.0(3)I7(6)
7.0(3)I7(5a)
举个栗子:
如图,Client1, Client2 的网关在 N3548, N3064 的 HSRP VIP,Client 与 Server 通信。在不配置任何 ACL 情况下,通信正常。现在 N3548, N3064 配置 RACL:
ip access-list tac-1
statistics per-entry
ip access-list permit client-ip server-ip
interface Vlan2
no shutdown
ip access-group tac-1 in
no ip redirects
ip address 192.168.2.1/24
重现故障:
power-off N9K-1,发现 Client1 与 Server 通信中断,无法恢复。删除 N3548 SVI2 的 RACL,通信恢复。
或者不拿掉 RACL,只是对 ACL 添加"ip access-list permit server-ip client-ip",通信恢复。
故障分析:
N9K-1 关机, 从 Server ==> Client1 方向,server -> N9K -> N3064 HSRP -> N3548 -> Client.
N3548 接口 SVI 2的 RACL "ip access-list permit client-ip server-ip" 将报文给drop 了。
N9K-2==> N3064 已经做好了路由,N3064将 Server-Client1报文给 N3548,N3548 只需要做 layer2 转发(packets destination mac 为 Client1),无需 routing,理论上不会受到 SVI 2 的 RACL 影响。
从故障重现与分析,发现问题的关键点在于 RACL 阻断 layer2 穿越流量,search 之后,发现了CSCvm54267,升级 NX-OS,问题解决。