1、策略路由设置中set ip
next-hop 与set next hop,set ip default next-hop 的区别
1)配置set ip
default next hop优先级低于普通路由,但高于默认路由的的路由策略;
2)配置set ip next hop 是高于普通路由与默认路由的的策略路由;
3)配置set next hop是修改BGP的下一跳,使用中请注意,如果在设置策略路由下一条时使用set
next-hop命令是不会生效的。
2、s3760,s5760,s78产品不能支持策略路由优先级低于普通路由,导致配置set
ip default next-hop xx不生效
1)故障描述
vlan 10 内的用户IP地址为:172.21.235.0和10.127.76.0,希望这两个网段的用户访问公网通过RSR20(192.168.173.1),同时可以通过防火墙(192.168.174.253)访问A和B网段。
在S3760上增加了指向防火墙的A,B网段的静态路由,具体如下:
ip route 10.37.0.0 255.255.0.0
192.168.174.253
ip route 10.37.31.0 255.255.255.0
192.168.174.253
ip route 10.37.31.101 255.255.255.255
192.168.174.253
ip route 10.80.0.0 255.255.0.0
192.168.174.253
ip route 10.127.78.0 255.255.255.0
192.168.174.253
同时策略路由修改为:set ip default netx-hop 192.168.173.1,指向RSR20路由器,
但是发现vlan 10 内的用户访问A,B网段时,仍然会转发到RSR20上去
2)原因及规避方案
a、 S3760,S5760,s78系列产品不能支持策略路由优先级低于普通路由(包括静态路由,动态路由,缺省路由),因此,一直以来的
S3760,S5760,s78系列产品均是策略路由优先级高于普通路由,即市场反馈的那种情况,s3760配置set ip default next-hop xx不生效。
b、若要解决用户场景要求问题,可以对vlan10的两个网段用户也配置访问A,B网段的策略路由,且配置优先级比访问外网的RSR20的策略优先级高。
按现场的数据流走向需求,可以按如下配置PBR
ip access-list
extended 100
permit ip 172.21.25.0 0.0.0.255
10.37.0.0 0.0.255.255
permit ip 172.21.25.0 0.0.0.255 10.80.0.0
0.0.255.255
permit ip 172.21.25.0 0.0.0.255
10.127.78.0 0.0.0.255
permit ip 10.127.76.0 0.0.0.255
10.37.0.0 0.0.255.255
permit ip 10.127.76.0 0.0.0.255
10.80.0.0 0.0.255.255
permit ip 10.127.76.0 0.0.0.255
10.127.78.0 0.0.0.255
ip access-list
extended 110
permit ip 172.21.235.0 0.0.0.255 any
permit ip 10.127.76.0 0.0.0.255 any
route-map test
permit 10
match ip address 100
set ip next-hop 192.168.174.253
route-map test
permit 20
match ip address 110
set ip next-hop 192.168.173.1
interface vlan
10
ip policy route-map test
3)注意事项
a、在10.4以上的软件版本上,接口上如果应用了set
ip default next-hop xx的route-map时,软件会报错,类似于Jun 30 10:27:49: %PBR-4-CHIP_UNSUPPORTED_ACTION: Set
ip default next-hop in sequence 10 of route-map xx unsupported by chip.的日志提示。
b、10.3以下的版本没有错误的日志提示,需要注意。
3、设备配置策略路由后主机无法ping通网关,或者是策略路由怎么排除一段地址不走策略路由
网关交换机使用策略路由应用到SVI下,目的是让某台主机(192.168.1.2)走策略路由,使用的ACL如下
route-map test
permit 10
match ip address 111
set ip next-hop 21.80.31.9
ip access-list
extend 111
10 permit ip host
192.168.1.2 any
interface vlan
10
ip address 192.168.1.254 255.255.255.0
ip policy route-map test
结果此主机业务正常,确实按照PBR的路径转发数据到21.80.31.9,但ping网关不通,也无法telnet到设备上。
原因为使用策略路由后,主机访问网关的报文也会匹配策略路由,直接被转发至PBR的下一跳了,这是软件实现的正常结果。
解决办法:
1)针对S3760E,S5750,S86/S12K系列交换机,ACL调整如下:
ip access-list
extend 111
5 deny ip host 192.168.1.2 host
192.168.1.254
---->将主机访问个别IP的数据(比如网关)deny掉,不走策略路由
10 permit ip
host 192.168.1.2 any
2)针对S3760,5750E,S5760,S78系列交换机,需要改动route-map的配置:
ip access-list
extend 110
10 permit ip host
192.168.1.2 host 192.168.1.254
ip access-list
extend 111
10 permit ip host
192.168.1.2 any
route-map test
deny 5
match ip address 110
route-map test
permit 10
match ip address 111
set ip next-hop 21.80.31.9
4、策略路由中下一跳规则的几个注意点
1)set {ip |
ipv6} next-hop:配置策略路由下一跳IP/IPv6 地址,优先级比普通路由高,从接口上收到的匹配match 规则的IP/IPv6 报文将优先转发到set
{ip | ipv6} next-hop所指定的下一跳,而不管该IP/IPv6 报文在路由表中的实际选路结果和策略路由指定的下一跳是否一致。
2)set {ip |
ipv6} default next-hop:该命令指定的策略路由的优先级比普通路由的低,但是比默认路由高。从接口上收到的匹配match 规则的IP/IPv6
报文,如果该报文在路由表中选路失败或者选到默认路由,那么IP/IPv6 报文将转发到该命令指定的下一跳。
3)上述前两条规则指定的下一跳必须是直连的,否则不会生效;如果下一跳不是直连的,策略路由的效果相当于没有配置该命令。
4)上述两条命令的优先级顺序为:set {ip | ipv6} next-hop > 网络路由/主机路由
> set {ip |ipv6} default next-hop >缺省路由。这两条命令能够支持同时配置,但只有高优先级的生效。
5)set ipv6
default next-hop 命令对于掩码长度超过64 的IPv6 地址不生效。
5、策略路由的几点注意说明
1)锐捷产品上一个接口最多只能配置一个路由图,在同一个接口上多次配置路由图会相互覆盖,即后配置的生效。
2)策略路由子路由图(route-map
sequence)中最多只能配置一个IPV6 ACL。
3)如果子路由图中只有next-hop 而没有配置ACL,则等价于所有报文都匹配;
如果子路由图中只有ACL 而没有next-hop 则匹配的报文普通转发;
如果子路由图中既没有ACL 也没有next-hop,则等价所有报文普通转发。
4)策略路由如果配置了ACL,但是该ACL 不存在,等价所有报文都匹配;
如果配置了ACL,但是其中没有任何ACE,则跳过该子路由图,从下一个子路由图的ACL
开始匹配;
建议不做空ACL 的配置和应用。
5)交换机上,ACE 的deny 选项行为,执行普通转发;并且为了满足策略路由的匹配顺序,deny
any any 行为是跳到下个IPV6 ACL 开始匹配。
6)交换机上,配置了PBR 功能,会对发往本机的报文同时生效,如果用户希望发往本机的IP/IPv6
报文不使用策略路由,则用户需要在PBR 规则中在IP/IPV6ACL 前面手工添加“deny 设备IP/IPv6 地址”的ACE。
7)工作在冗余备份模式下时,匹配路由子图的策略规则的IP
报文转发到该路由子图中第一个解析的下一跳;如果所有的下一跳都未解析,则匹配策略规则的IP报文被丢弃;如果第一个下一跳原先未解析后来解析了,则匹配策略规则IP 报文的转发将切换到第一个下一跳。
8)在Match语句中匹配的Acl可以配置多个,但仅仅只有第一个生效。一个接口最多只能配置一个路由图,在同一个接口上多次配置路由图会相互覆盖。
6、策略路由是否占用安全表项,占用ACE的计算方式
交换机上面配置策略路由都是需要消耗硬件的安全表项的资源的
1)策略路由的表项消耗与route-map所关联的ACL有关系,如果是多个route-map那么他们里面所关联的ACL的ACE条目分别作累加
2)策略路由所占用的引擎数量是一个还是两个,取决于所关联的ACL的ACE表项的复杂度,所能配置的策略的数量与整机支持的ACE总数一致。
3)多个不同的route-map应用(无论应用在同一端口还是不同端口)都要进行分别地累加计算。如果是同一个ACL被不同的route-map调用,资源消耗的ACE也需要分别累加计算,没有共用。
注意:
1)若定义了路由图及路由策略的匹配规则和条件,但没有将其应用在相应的端口上则不占用表项,计算的时候要注意!
2)该模块应用计算的时候要注意加上route-map匹配的ACL中的最后一条默认deny
any any的ACE占用表项。
3)该模块无论应用在物理端口还是应用在SVI端口,都不能共享表项,计算的时候要注意分别进行计算。
4)若route-map匹配的ACL中的ACE数为0的情况下,并将该route-map应用到端口,则不占用FFP表项,计算的时候要注意!
7、应用策略路由(PBR)时提示:
%PBR-6-UNSUPPORTED: IPv4 PBR does not support set nexthop错误
问题现象
route-map xinm permit 10
match ip address 99
set next-hop 10.100.3.14
ip access-list standard 99
10 deny 10.0.0.0 0.0.0.255
20 permit any
interface GigabitEthernet
0/24
no switchport
ip policy route-map xinm
ip address 10.100.2.248 255.255.255.0
配了 ip policy
route-map xinm 在日志中发现的这个提示,*Aug 15 15:55:47: %PBR-6-UNSUPPORTED: IPv4 PBR does
not support set nexthop。
问题原因
交换机上,ACE 的deny 选项行为,执行普通转发;并且为了满足策略路由的匹配顺序,deny
any any 行为是跳到下个 ACL 开始匹配。所以如果是ACL里面的deny与route-map的permit存在冲突或者嵌套的话,很容易影响PBR的一个正确转发,故,通常不建议在ACL里面配置deny选项,建议用permit来细化需要执行PBR的网段,或者是用route-map的deny行为来代替ACL的deny。
set next-hop xx:是用于设置BGP的路由下跳属性的,一般是无法被策略路由的route-map调用的
set ip next-hop
xx:是用于执行策略路由下跳选路的
该故障中很明显是配置问题,将set
next-hop 10.100.3.14修改为set ip next-hop 10.100.3 14就可以解决问题了
route-map xinm
permit 10
match ip address 99
set ip next-hop 10.100.3.14
8、如何修改策略路由是冗余还是备份的模式
目前我司策略路由可支持2种模式,冗余备份和负载均衡,默认是冗余备份方式
route-map C
permit 20
match ip address 102
set ip next-hop 24.2.2.4
set ip next-hop 23.2.2.3
全局配置模式下切换模式命令:
Ruijie(config)#ip
policy ?
load-balance Load-balance forward mode
redundance Redundance forward mode
9、交换机在下联物理口无法应用策略路由
汇聚交换机在应用策略路由的时候提示不支持
Ruijie(config)#int
g0/12
Ruijie(config-if-GigabitEthernet
0/12)#ip policy route-map ruijie
% Invalid input
detected at '^' marker.
Ruijie(config-if-GigabitEthernet
0/12)#
确认是不是三层路由口,如果不是,请配置no
switchport命令。
10、S6500系列/S6800系列/S6800E系列产品是否支持策略路由
都不支持
11、S5750S系列产品是否支持策略路由
老款的S5750S系列的产品,包括S5750S-24GT/12SFP,S5750S-48GT/4SFP两款由于硬件资源的限制,不支持策略路由
12、交换机做策略路由(pbr)时,下一跳能是隧道(tunnel
xx)地址吗
不可以,会报错:
%PBR-4-UN_SUPPORT: Policy Based Routing cann't support the special nexthop's
interface Tunnel 1。
但是show run看到配置中还有显示接口下做了策略路由,但其实是不生效的。需要注意。
13、SVI接口应用策略路由对DHCP的报文是否生效
不生效,SVI口下应用PBR,对该SVI接口收到的DHCP报文不生效,如果该SVI口配置了中继,那么交换机依然会中继给相应的dhcp服务器,不会走PBR。