0105 路由策略故障处理.docx
《0105 路由策略故障处理.docx》由会员分享,可在线阅读,更多相关《0105 路由策略故障处理.docx(38页珍藏版)》请在冰豆网上搜索。
0105路由策略故障处理
目录
5路由策略故障处理5-1
5.1路由策略与过滤器简介5-2
5.1.1路由策略5-2
5.1.2地址前缀列表5-2
5.1.3AS路径过滤器5-2
5.1.4团体属性过滤器5-3
5.1.5扩展团体属性过滤器5-3
5.1.6Route-Policy5-3
5.2路由策略故障处理5-3
5.2.1典型组网环境5-3
5.2.2配置注意事项5-5
5.2.3故障诊断流程5-9
5.2.4故障处理步骤5-11
5.3故障处理案例5-11
5.3.1使用IP-Prefix过滤路由问题5-12
5.3.2使用AS-Path过滤路由问题5-14
5.3.3使用Community过滤路由问题5-16
5.3.4使用Extcommunity过滤路由问题5-16
5.3.5使用Route-Policy指定策略问题5-19
5.4FAQ5-21
5.5故障诊断工具5-22
5.5.1display命令5-22
5.5.2debugging命令5-28
5.5.3告警5-28
插图目录
图5-1路由策略故障公网环境拓扑5-4
图5-2路由策略故障VPN环境拓扑5-4
图5-3路由策略故障诊断流程图5-10
图5-4AS-Path过滤路由故障处理案例组网图5-14
表格目录
表5-1displayipip-prefix命令输出信息描述5-23
表5-2displayipipv6-prefix命令输出信息描述5-23
表5-3displayipas-path-filter命令输出信息描述5-24
表5-4displayipcommunity-filter命令输出信息描述5-24
表5-5displayipextcommunity-filter命令输出信息描述5-25
表5-6displayroute-policy命令输出信息描述5-25
表5-7MatchClauses策略规则5-25
表5-8ApplyClauses策略规则5-27
5路由策略故障处理
关于本章
本章描述内容如下表所示。
标题
内容
5.1路由策略与过滤器简介
介绍了进行路由策略故障处理时用户所需的知识要点。
5.2路由策略故障处理
针对典型的组网环境,介绍配置路由策略时要注意的事项,路由策略故障处理流程和详细的故障处理步骤。
5.3故障处理案例
介绍了若干实际的故障处理案例。
5.4FAQ
介绍了若干实际的故障处理案例。
5.5故障诊断工具
介绍了进行故障处理所需要的故障诊断工具,包括display命令和debugging命令、告警信息。
5.1路由策略与过滤器简介
本节包含以下内容:
●路由策略
●地址前缀列表
●AS路径
●团体属性
●扩展团体属性
●Route-Policy
5.1.1路由策略
路由策略是为了改变网络流量所经过的途径而对路由信息采用的方法。
主要通过改变路由属性(包括可达性)来实现。
策略路由Policy-Based-Route用于指导报文转发。
本章只介绍路由策略。
为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则,可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。
匹配规则可以预先设置好,然后再将它们应用于路由的发布、接收和引入等过程的路由策略中。
路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,比如只接收或发布一部分满足条件的路由信息;一种路由协议(如RIPng)可能需要引入其它的路由协议发现的路由信息,从而丰富自己的路由知识;路由器在引入其它路由协议的路由信息时,可能需要只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。
5.1.2地址前缀列表
地址前缀列表(IP-PrefixList)包括IPv4地址前缀列表和IPv6地址前缀列表。
地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于为用户理解。
地址前缀列表在应用于路由信息的过滤时,其匹配对象为路由信息的目的地址信息域。
一个地址前缀列表由前缀列表名标识。
每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个Index-Number来标识,Index-Number指明了进行匹配检查的顺序。
在匹配的过程中,路由器按升序依次检查由Index-Number标识的各个表项,只要有某一表项满足条件,就意味着通过该地址前缀列表的过滤(不进入下一个表项的测试)。
5.1.3AS路径过滤器
BGP路由信息中包含的AS_Path路径属性逆序列出前缀所经过的自治系统。
AS路径g过滤器(as-path-filter)就是针对AS_Path路径属性进行过滤的过滤器。
5.1.4团体属性过滤器
BGP路由的Community属性被一组具有相同的特性的前缀所共享,团体属性过滤器(Community-Filter)就是针对团体属性域指定匹配条件的过滤器。
5.1.5扩展团体属性过滤器
BGP的扩展团体属性也是定义了一组共享相同特性的前缀,目前VRP的Excommunity-Filter针对一种常用的扩展团体属性进行过滤:
VPN-Target,定义了私网路由的VPN成员关系。
5.1.6Route-Policy
Route-Policy是一种复杂的过滤器,它不仅可以匹配给定路由信息的某些属性,还可以在条件满足时改变路由信息的属性。
Route-Policy可以使用前面几种过滤器定义自己的匹配规则。
一个Route-Policy可以由多个节点Node构成,不同节点之间是“或”的关系。
系统按节点序号依次检查各个节点,如果通过了其中一节点,就意味着通过该策略,不再对其他节点进行匹配测试。
每个节点由一组if-match和apply子句组成。
if-match子句定义匹配规则,匹配对象是路由信息的一些属性。
同一节点中的不同if-match子句是“与”的关系,只有满足节点内所有if-match子句指定的匹配条件,才能通过该节点的匹配测试。
apply子句指定动作,也就是在通过节点的匹配后,对路由信息的一些属性进行设置。
5.2路由策略故障处理
本节介绍如下的内容:
●典型组网环境
●配置注意事项
●故障诊断流程
●故障处理步骤
5.2.1典型组网环境
路由策略的典型组网如图5-1与图5-2所示。
路由策略的故障处理将基于该网络。
公网环境拓扑
图5-1路由策略故障公网环境拓扑
在公网环境中,在某个路由器上接受另外一个路由器通告来的路由时,发送者使用路由策略发布指定路由,接收者使用路由策略接收指定路由,以上拓扑是一个简化的拓扑,用于模拟实际环境中的路由发送/接收者。
VPN环境拓扑
图5-1路由策略故障VPN环境拓扑
在VPN环境中,路由策略可以应用在PE与CE上,用来发布/接收指定的路由。
其中,在PE上对于VPNv4和VPNInstance可同时应用策略。
以上拓扑是实际环境
中VPN的一个简化拓扑,用于模拟实际环境中PE与CE中的路由发送/接收者。
5.2.2配置注意事项
路由策略中常用过滤器配置
配置项
子项
注意事项
ip-prefix
ipip-prefixip-prefix-name[indexindex-number]{permit|deny}ip-addressmask-length[greater-equalgreater-equal-value|less-equalless-equal-value]
●配置IPv4前缀地址列表,列表名由ip-prefix-name指定,列表名下可以配置多个匹配项,每一项可以指定索引值Index,若没有指定索引值,则生成项的索引值由此前缀列表已存在的最大索引值+10;
●若同时指定前缀长度在greater-equal和less-equal之间时,匹配的范围就在二者之间,配置的greater-equal值和less-equal值必须满足条件:
mask-length<=greater-equal<=less-equal<=32;
●在匹配过程中,系统按索引号升序依次检查各个表项,只要有一个表项下的地址/掩码与要检查的路由地址/掩码相同,就返回此表项下配置的过滤模式(Permit或Deny),不再去匹配其他表项;
●如果所有表项都是Deny模式,则任何路由都不能通过该过滤列表。
建议在多条Deny模式的表项后定义一条permit0.0.0.00greater-equal0less-equal32表项,允许其它所有IPv4路由信息通过。
●使用中最常见的理解错误是把IP-Prefix的配置方法和ACL的配置方法等同,实际上,在只指定IP-Address/Mask-Length的情况下,IP-Prefix只精确匹配一条路由,不匹配一段掩码范围内的路由。
要匹配一段掩码范围内的路由,必须指定greater-equal和less-equal参数。
ipv6-prefix
ipipv6-prefixipv6-prefix-name[indexindex-number]{permit|deny}ipv6-addressmask-length[greater-equalgreater-equal-value|less-equalless-equal-value]
●配置IPv6前缀地址列表,列表名由ipv6-prefix-name指定,此列表名下可以配置多个匹配项,每一项可以指定索引值index,若没有指定索引值,则生成项的索引值由此前缀列表已存在的最大索引值+10;
●若同时指定前缀长度在greater-equal和less-equal之间时,匹配的范围就在二者之间,配置的greater-equal值和less-equal值必须满足条件:
mask-length<=greater-equal<=less-equal<=128;
●在匹配过程中,系统按索引号升序依次检查各个节点,只要有一个节点满足条件,就认为通过该过滤列表,不再去匹配其他表项;
●如果所有表项都是Deny模式,则任何路由都不能通过该过滤列表。
建议在多条Deny模式的表项后定义一条permit:
:
00greater-equal0less-equal128表项,允许其它所有IPv6路由信息通过。
as-path-filter
ipas-path-filteras-path-filter-number{deny|permit}regular-expression
●使用正则表达式来定义AS-Path属性过滤规则,BGP可以使用此过滤器来匹配BGP路由的AS-Path属性,以此决定是否发布/接收路由。
●如果所有表项都是Deny模式,则任何路由都不能通过该过滤列表。
建议在多条Deny模式的表项后定义一条permit.*表项,允许其它所有路由信息通过;
community-filter
●ipcommunity-filterbasic-comm-filter-num{deny|permit}[community-number|aa:
nn]*&<1-16>[internet|no-export-subconfed|no-advertise|no-export]*
●ipcommunity-filteradv-comm-filter-num{deny|permit}regular-expression
●定义一个团体属性过滤器。
有两种配置方式,属性号在1-99的为基本团体属性过滤器,通过指定明确的团体属性来定义过滤规则;属性号在100-199为高级团体属性过滤器,通过指定正则表达式来定义过滤规则。
●对于基本团体属性过滤器,Internet选项表示匹配所有的团体属性;而对高级团体属性过滤器,正则表达式”.*”表示匹配所有的团体属性。
●对于基本团体属性过滤器,有完全匹配模式whole-match和一般匹配模式。
在完全匹配模式下,BGP给出的团体属性列表必须完全与过滤器规则中定义的团体属性一致才能匹配。
在一般匹配模式下,BGP给出的团体属性列表必须要包含过滤器规则中定义的团体属性才能匹配。
●如果所有表项都是Deny模式,则任何路由都不能通过该过滤列表。
建议在多条Deny模式的表项后定义一条permit.*表项(高级团体属性过滤器)或permitinternet(基本团体属性过滤器)表项,允许其它所有路由信息通过。
extcommunity-filter
ipextcommunity-filterext-comm-list-number{deny|permit}rt{as-number:
nn|ipv4-address:
as-number}
定义扩展团体属性过滤器规则。
route-policy
route-policyroute-policy-name{permit|deny}node{node-number}
●Permit指定节点的匹配模式为允许。
当路由项通过该节点的过滤后,将执行该节点的Apply子句,不进入下一个节点的测试;如果路由项没有通过该节点过滤,将进入下一个节点继续测试;当节点下没有If-Match子句时,所有节点路由都允许。
●Deny指定节点的匹配模式为拒绝,这时Apply子句不会被执行。
当路由项满足该节点的所有If-Match子句时,将被拒绝通过该节点,不进入下一个节点;如果路由项不满足该节点的If-Match子句,将进入下一个节点继续测试;当节点下没有If-Match子句时,所有的路由都被拒绝。
●如果所有的节点的If-Match规则都不能匹配,则整个策略的过滤结果默认是Deny。
●当所有节点都是配置Deny时,将导致所有路由均被拒绝,所以在所有Deny节点后至少配置一个Permit节点,以允许其它的路由通过。
过滤器应用注意事项
●假设当前过滤器下配置了至少一个节点,Permit或Deny。
若是没有节点符合到要过滤路由的地址/掩码范围,则此路由过滤结果为Deny。
●若是在策略中使用了某个不存在的过滤器,则结果为对所有要过滤的路由为Permit。
正则表达式编写规则
正则表达式是按照一定的模板来匹配字符串的公式。
符号
说明
^
匹配一个字符串的开始。
如“^300”表示只匹配AS_Path的第一个值为300。
$
匹配一个字符串的结束。
如“300$”表示只匹配AS_Path的最后一个值为300。
.
匹配任何单个字符,包括空格。
+
匹配前面的一个字符或者一个序列,1次或者多次出现。
_
匹配一个符号。
如逗号,括号,空格符号等。
*
匹配前面的一个字符或者一个序列,可以0次或者多次出现。
?
匹配前面的一个字符,可以0次或者多次出现。
()
匹配的变化的AS或者一个独立的匹配,通常和“|”一起使用。
|
逻辑或。
[]
匹配的一个范围内的AS,通常和“-”一起使用。
-
连接符。
举例:
●ipas-path-filter10deny^$:
拒绝发布本地始发路由。
●ipas-path-filter10permit.*:
允许发布/接收其他AS的路由。
●ipas-path-filter2deny(6[0-9]|7[0-9]|8[0-9]|9[0-9]|1[0-3][0-9]|130)$:
拒绝从AS60-130始发的路由。
●ipcommunity-filter100permit1000:
10[0-9]$:
允许团体属性为1000:
100至1000:
109之间的路由。
5.2.3故障诊断流程
针对图5-1或图5-2所示的网络,在配置各路由器后发现指定的路由没有被过滤或全部被过滤。
请使用下面的故障诊断流程,如图5-3所示。
图5-1路由策略故障诊断流程图
5.2.4故障处理步骤
步骤1检查网络的连通性。
使用displayipinterfacebrief命令来检查各个接口的状态。
Up表示可用,Down表示不可用。
如果接口状态为Down请检查线路是否连接好,接口是否被shutdown。
步骤2检查路由协议配置是否正确。
使用displaycurrent-configurationconfiguration命令来检查路由协议配置是否正确。
如果路由协议配置的不正确,请您参考相应协议的故障处理手册。
步骤3检查IP-PrefixList是否配置。
使用displayipip-prefix命令检查当前路由器是否配置IP-PrefixList。
并通过查看匹配的次数,检查IP-PrefixList是否起作用。
若未匹配,请查看配置注意事项中有关IP-PrefixList的部分。
步骤4检查AS-Path-Filter是否配置。
使用displayipas-path-filter命令检查当前路由器是否配置AS-Path-Filter。
如果已配置请查看AS-Path-Filter配置注意事项
请查看配置注意事项中有关AS-Path-Filter的部分。
步骤5检查Community-Filter是否配置。
使用displayipcommunity-filter命令查看当前路由器是否配置Community-Filter。
如果已配置请查看团体属性过滤器配置注意事项
请查看配置注意事项中有关Community-Filter的部分。
步骤6检查Excommunity-Filter是否配置。
使用displayipexcommunity-filter命令查看当前路由器是否配置Excommunity-Filter。
如果已配置请查看拓展团体属性过滤器配置注意事项
请查看配置注意事项中有关Excommunity-Filter的部分。
步骤7检查Route-Policy是否配置。
使用displayroute-policy命令检查当前路由器是否配置了Route-Policy。
如果已配置请查看Route-Policy过滤器配置注意事项
请查看配置注意事项中有关Route-Policy的部分。
如果检查结束,故障仍然无法排除,请联系华为的技术支持工程师。
----结束
5.3故障处理案例
本节列出了常见的故障处理案例,如下:
●使用IP-Prefix过滤路由问题
●使用AS-Path过滤路由问题
●使用Community过滤路由问题
●使用Extcommunity过滤路由问题
●使用Route-Policy指定策略问题
5.3.1使用IP-Prefix过滤路由问题
网络环境
组网图请参考图5-1。
案例中RouterA采用IP-Prefix过滤器对从RouterB中接收到的路由进行过滤:
RouterA上的配置:
#
bgp100
peer192.168.1.2as-number200
#
ipv4-familyunicast
undosynchronization
peer192.168.1.2enable
peer192.168.1.2ip-prefixrtaimport
#
ipip-prefixrtaindex20deny2.2.2.232
#
RouterB上的配置:
#
bgp200
peer192.168.1.1as-number100
#
ipv4-familyunicast
undosynchronization
network1.1.1.1255.255.255.255
network2.2.2.2255.255.255.255
peer192.168.1.1enable
#
使用displayiprouting-table命令查看RouterA上接收到的路由,应该可以接收到1.1.1.1/32,但是路由表中没有。
故障分析
使用以下步骤调查故障原因:
步骤1检查RouterB路由表信息,确定是否所有路由已被通告给邻居RouterA。
在RouterB上使用displaybgprouting-table,显示路由表信息,发现1.1.1.1/32及2.2.2.2/32这两条路由均已通告给RouterA,问题应该是在RouterA上。
步骤2检查RouterA上的BGP配置,确定BGP在接收路由时是否使用了过滤器。
在RouterA上使用displaycurrent-configurationconfigurationbgp命令检查BGP的配置,发现在接收从RouterB通告过来的路由时使用了IP-Prefix过滤器,预计是过滤器将所有路由都过滤了。
步骤3检查IP-Prefix过滤器的配置。
确定此路由是否被过滤器过滤掉了。
在RouterA上使用displayipip-prefixrta命令查看过滤器的配置,发现仅对路由2.2.2.2/32配置了Deny策略,但对于路由1.1.1.1/32没有配置Permit。
故障的原因定位:
在RouterA上使用IP-Prefix过滤路由问题。
系统过滤路由时对于没有匹配的路由默认返回Deny,所以将1.1.1.1/32也过滤了。
----结束
处理步骤
因为系统过滤路由时,没有匹配的路由默认返回Deny,所以过滤策略仅配置可以通过的路由即可。
在RouterA上执行如下操作:
步骤1将过滤规则替换为ipip-prefixrtaindex10permit1.1.1.132。
步骤2使用displayiprouting-table命令查看RouterA上接收到的路由,发现路由表中出现路由1.1.1.1/32,故障被排除。
----结束
案例总结
当配置IP-Prefix过滤路由时,若是仅配置Deny节点,那么对于没有命中匹配地址/掩码的路由系统默认返回Deny。
所以,需要配置Permit节点对指定路由允许;或在执行Deny后,定义一条permit0.0.0.00greater-equal0less-equal32表项,允许其它所有路由通过。
请参考配置注意事项IP-Prefix小节。
5.3.2使用AS-Path过滤路由问题
网络环境
图5-1AS-Path过滤路由故障处理案例组网图
案例中RouterA采用AS-Path过滤器对从RouterB通告过来的路由进行过滤:
RouterA上的配置:
#
bgp100
peer192.168.1.2as-number200
#
ipv4-familyunicast
undosynchronization
peer192.168.1.2enable
peer192.168.1.2as-path-filter10import
#
ipas-