取消
显示结果 
搜索替代 
您的意思是: 
cancel
1784
查看次数
0
有帮助
5
回复

C9000系列策略路由,请大佬赐教

yangwang38276
Level 1
Level 1

微信图片_20211130080718.png

在楼栋汇聚处配置策略路由如下:

ip access-list extended 100
10 deny ip host X.X.X.X X.0.0.0 X.255.255.255
20 permit ip host X.X.X.X any
ip access-list extended 101
10 deny ip host X.X.X.X X.0.0.0 X.255.255.255
20 permit ip host X.X.X.X any


route-map 100 permit 100
match ip address 100
set ip next-hop 内网下一跳联通路由地址
route-map 100 permit 101
match ip address 101
set ip next-hop 内网下一跳电信路由地址

 

inter vlan 516

ip route-cache policy
ip policy route-map 100

exit

ip local policy route-map mymap

 

配置完成后两条策略路由开启或者关闭的情况下,策略路由始终优先走第一位内网联通路由,并不会因联通线路断线,自动切换到电信线路,查询了相关资料启用sdm prefer routing即可实现,但是此命令仅适用于3750以前设备,我得C9300并不接受此协议。

还请大佬赐教策略路由负载均衡关键

5 条回复5

yangwang38276
Level 1
Level 1

不要沉底啊,大佬们帮忙解答一下疑惑,忘记补充的要点

route-map 100 permit 100
match ip address 100

set ip next-hop verify-availability(意思是检测路由是否可用,不可用即不执行此规则)
set ip next-hop 内网下一跳联通路由地址
route-map 100 permit 101
match ip address 101

set ip next-hop verify-availability(意思是检测路由是否可用,不可用即不执行此规则)
set ip next-hop 内网下一跳电信路由地址

但是加上这条命令后

inter vlan 516下

ip policy route-map 100(这条命令能敲进去,但是配置中不现实)

所以现在到了死胡同,烦请大佬们指点迷津

ilay
VIP
VIP

 

1. C9300的route-map中set的下一跳是你联通电信的内网地址,这些地址不会因为联通或者电信链路断掉而不通,除非你对应的出口设备直接挂掉了。所以不管你写set ip next-hop 还是加上verify-availability 效果都是一样的,set语句一直有效,实现不了空set,也就实现不了切换。

2. 为啥不操控默认路由来实现呢?如果非得用route-map到是也有办法:

准备一个被探测的互联网ip地址,以114.114.114.114为例。

- 9300上写114的主机路由到联通,加上track (ip route 114.114.114.114 255.255.255.255 联通设备接口ip地址 track 10),然后再写同样一条路由到电信,加大管理距离。

- 完善track和sla的配置:

 > C9300上写一条联通端IP的静态路由,例如公司设备和联通互联使用12.1.1.0/30,你们用.2联通用.1,那么就添加一条12.1.1.1/32的路由,指向你们联通出口路由器的ip (需要将C9300的接口ip地址在你们联通的路由器上映射一下,保证包能出去)

 > 配置sla,检测你们和联通链路的连通性。

 > 配置track 调用前面的sla。

- 配置一条route-map,写成 "set ip next-hop recursive global 114.114.114.114"的形式,然后应用到接口上面。

=====

上面的配置基本上就可以了。

正常情况下,sla正常,track状态正常,114的路由指向联通出口,route-map的recursive会自动将下一跳设置为联通设备的ip,如果联通挂掉了,sla异常,track异常,114路由指向电信出口,route-map recursive递归出的下一跳为电信,也可以正常出去。

 

1、本端C9300至联通或电信出口,因不在一个机房,架构不同且不通,中间借用网络设备强行串接起链路,所以当防火墙内网接口地址或防火墙Down时,C9300至串接设备接口处于正常连接状态,所以set ip next-hop和verify-availability并未监测到异常。

2、因为集团网络缺省默认指向集团总部DMZ。 测试并未能成功

ip sla 1

icmp-echo 1.1.1.2 source-ip 1.1.1.1

ip sla schedule 1 life forever start-time now

track 1 ip sla 1 reachability ip route 0.0.0.0 0.0.0.0 1.1.1.2 track 1

 

route-map 100 permit 100

set ip next-hop recursive global 1.1.1.2写入后

inter vlan 516下

ip policy route-map 100命令自行丢失,依然能写入不能展示

不知是我配置是否出现错误

PS:两条完全不通的架构,中间靠一条光路串接,串接设备两个端口,分别指向两台防火墙,联通和电信。我觉得问题出在这里且不能解决

查了一下资料 C9300是支持PBR的,三层接口和SVI都支持。但是不支持recursiveverify availability,也就是前面的方法都毙掉了,没法搞。

只能故障了手动改next-hop的地址了。或者用路由器搞也可以

 

至于你说SVI接口下挂不上policy route-map的命令。理论上不应该,你先把多余的配置清理一下吧?

ip route-cache policy

ip local policy route-map mymap

这两条命令没啥用。现在的交换机基本上都是CEF,配置route-cache是多余的,(检查一下cef,确保是开启状态的)

目前手上没额外的C9300做测试,没法给你验证这个功能,只能你自己测试了

 

下面是C9300 17.5的configure guide,可以根据你的实际使用版本更换对应文档查看

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/16-8/configuration_guide/rtng/b_168_rtng_9300_cg/b_168_rtng_9300_cg_chapter_01011.html#ID8123

 

因为C9300不支持recursive和 verify availability协议,所以在route-map 100 permit 100下配置recursive和 verify availability协议时,SVL下已经配入的policy route-map,交换机会自动检测到异常,移除policy route-map命令。

完整命令配置展示

ip sla 1  
icmp-echo 1.1.1.2 source-ip 1.1.1.1
frequency 5
ip sla schedule 1 life forever start-time now


ip sla 2  
icmp-echo 1.1.1.3 source-ip 1.1.1.1
frequency 5
ip sla schedule 2 life forever start-time now

track 1 ip sla 1 reachability
track 2 ip sla 2 reachability

 

ip access-list extended 100
10 deny ip host 1.1.1.X 1.0.0.0 0.255.255.255
20 permit ip host 1.1.1.X any


route-map load permit 100
match ip address 100
set ip next-hop verify-availability 1.1.1.2 1 track 1
set ip next-hop verify-availability 1.1.1.3 2 track 2

以上配置无问题,只因C9300不支持recursive和 verify availability协议,所以在SVL下无法写入ip policy route-map load,故无法实现,根据理论逻辑C3750及以前三层设备支持,可以实现。

 

希望以后有同样困扰的人,可以借鉴。

入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接