evpn组网(虽然本案例与evpn关系不大)
leaf——spine——防火墙
现场发现leaf设备下的vpn-teacher中的下挂终端都无法正常上网,经过检查,发现vpn-teacher中ipv6路由表项不正常,并没有从spine设备中传递过来,于是尝试着在spine设备中写了一条ipv6静态,发现一样没有通过bgp同步到leaf设备下,而且仅有该vpn实例下的ipv6表项不正常
经过检查,发现与其他的vpn实例相比,该vpn-teacher实例视图下引用了一条路由策略ap1,如果不出意外,它应该就是罪魁祸首,如下:
ip vpn-instance vpn-teacher
route-distinguisher 1:6
import route-policy ap1
该路由策略ap1规则如下:
ip prefix-list 66 index 50 permit 172.18.0.0 18 less-equal 32(注意,此处地址前缀列表66只匹配了ipv4的路由)
#
route-policy ap1 deny node 10
if-match ip address prefix-list 66
#
route-policy ap1 permit node 20(注意,这里是空节点,默认放通所有路由)
理论而言,该路由策略ap1应该起到这样的作用:node10节点过滤掉一部分指定的ipv4路由,但我还有一个node20空节点,没有写任何的if-match匹配规则,因此默认匹配所有路由,其余没被node10过滤的ipv4路由,与所有的ipv6路由全部都可以通过node20空节点,这样就可以达成完美的过滤效果。
实际上呢?
配置手册里有这样一句话:
现象:确实有影响,下联邻居b完全看不到这条路由。
于是我把node20的那个空节点修改了下,加了匹配规则,让它匹配ipv6的路由,并且放通,但下联邻居b还是看不到这条ipv6的路由,因此可以确定,这条ipv6路由在node10阶段就已经被干掉了,因此我进入node10,在下面添加了一条另外的if-match匹配规则,匹配ipv6的lu"you(一个node节点里可以有n多个if-match匹配规则),并且动作改为permit放通,再去设备b上检查时,发现这条路由出现了!通过ospfv3传递过来了!
对于路由策略而言,只写ipv4的规则,亦或者只写ipv6的规则,实际上都会对另外的类型造成影响,所以说,如果组网中既有ipv4路由,也有ipv6的路由,两种路由都在路径上传递,想让路由策略起到相应的作用,请在节点中写两条if-match,分别把ipv4和ipv6的规则都匹配上。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作