华为数通操作手册VRP全系列VRP故障处理手册路由器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第5章路由策略故障处理............................ 5-1
5.1 路由策略与过滤器简介 ....................... 5-1
5.1.1 路由策略与策略路由..................... 5-2
5.1.2 地址前缀列表........................... 5-3
5.1.3 AS路径访问列表......................... 5-4
5.1.4 团体属性列表........................... 5-5
5.1.5 扩展团体属性列表....................... 5-5
5.1.6 路由策略............................... 5-5
5.2 路由策略故障处理 ........................... 5-6
5.2.1 典型组网环境........................... 5-7
5.2.2 配置注意事项........................... 5-9
5.2.3 故障诊断流程.......................... 5-12
5.2.4 故障处理步骤.......................... 5-14
5.3 故障处理案例 .............................. 5-17
5.3.1 使用IP-Prefix过滤路由问题............. 5-18
5.3.2 使用AS-Path过滤路由问题............... 5-22
5.3.3 使用Community过滤路由问题............. 5-28
5.3.4 使用Extcommunity过滤路由问题.......... 5-28
5.3.5 使用route-policy过滤路由问题.......... 5-36 5.4 FAQ ....................................... 5-42
5.5 故障诊断工具 .............................. 5-45
5.5.1 display命令........................... 5-45
5.5.2 debugging命令......................... 5-52
5.5.3 告警.................................. 5-52
第5章路由策略故障处理
本章包含以下内容:
●路由策略与过滤器简介
介绍了进行BGP故障处理时用户所需的知识要点。
●路由策略故障处理
针对典型的BGP组网环境,介绍配置BGP时要注意的事
项,BGP对等体不能建立连接故障处理的流程和详细的
故障处理步骤。
●故障处理案例
介绍了若干实际的故障处理案例。
●FAQ
列出了用户常问的问题,并给出了相应的解答。
●故障诊断工具
介绍了进行故障处理所需要的故障诊断工具,包括
display命令和debugging命令、告警信息。
5.1 路由策略与过滤器简介
本节包含以下内容:
●路由策略与策略路由
●地址前缀列表
●AS路径访问列表
●团体属性列表
●扩展团体属性列表
●路由策略
5.1.1 路由策略与策略路由
路由策略是为了改变网络流量所经过的途径而对路由信息采用的方法。
主要通过改变路由属性(包括可达性)来实现。
策略路由Policy-Based-Route用于指导报文转发。
本章只介绍路由策略。
为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则,可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。
匹配规则可以预先设置好,然后
再将它们应用于路由的发布、接收和引入等过程的路由策略中。
路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,比如只接收或发布一部分满足条件的路由信息;一种路由协议(如RIPng)可能需要引入其它的路由协议发现的路由信息,从而丰富自己的路由知识;路由器在引入其它路由协议的路由信息时,可能需要只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。
5.1.2 地址前缀列表
地址前缀列表(IP-Prefix-Filter)包括IPv4地址前缀列表和IPv6地址前缀列表。
地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于为用户理解。
地址前缀列表在应用于路由信息的过滤时,其匹配对象为路由信息的目的地址信息域。
一个地址前缀列表由前缀列表名标识。
每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个Index-Number来标识,Index-Number指明了进行匹配检查的顺序。
在匹配的过程中,路由器按升序依次检查由Index-Number标识的各个表项,只要有某一表项满足条件,就意味着通过该地址前缀列表的过滤(不进入下一个表项的测试)。
5.1.3 AS路径访问列表
BGP路由信息中包含的AS_PATH路径属性逆序列出前缀所经过的自治系统。
AS路径访问列表(as-path-filter)就是针对AS_PATH路径属性进行过滤的过滤器。
5.1.4 团体属性列表
BGP路由的Community属性被一组具有相同的特性的前缀所共享,团体属性列表(Community-Filter)就是针对团体属性域指定匹配条件的过滤器。
5.1.5 扩展团体属性列表
BGP的扩展团体属性也是定义了一组共享相同特性的前缀,目前VRP的Excommunity-Filter针对一种常用的扩展团体属性进行过滤:VPN-Target,定义了私网路由的VPN 成员关系。
5.1.6 路由策略
路由策略(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所示。
路由策略的故障处理将基于该网络。
1. 公网环境拓扑
图5-1路由策略故障公网环境拓扑
公网环境时,在某个路由器上接受另外一个路由器通告来的路由时,发送者使用路由策略发布指定路由,接收者使用路由策略接收指定路由,以上拓扑是一个简化的拓扑,用于模拟实际环境中的路由发送/接收者。
2. VPN环境拓扑
图5-2路由策略故障VPN环境拓扑
VPN环境时,路由策略可以应用在PE与CE上,用来发布/接收指定的路由。
其中,在PE上对于VPNv4和VPN Instance可同时应用策略。
以上拓扑是实际环境
中VPN的一个简化拓扑,用于模拟实际环境中PE与CE 中的路由发送/接收者。
5.2.2 配置注意事项
1. 路由策略中常用过滤器配置
ip-prefix ip ip-prefix
ip-prefix-name[ index
index-number ] { permit
|deny }ip-address
mask-length
[ greater-equal
greater-equal-value|
less-equal
less-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模式的表项后定义一条permit 0.0.0.0 0 greater-equal 0 less-equal 32表项,允许其它所有IPv4路由信息通过。
●使用中最常见的理解错误是把IP-Prefix的配置
方法和ACL的配置方法等同,实际上,在只指定IP-Address/Mask-Length的情况下,
IP-Prefix只精确匹配一条路由,不匹配一段掩码范围内的路由。
要匹配一段掩码范围内的路由,必须指定Greater-Equal和Less-Equal参数。
ipv6-prefix ip ipv6-prefix
ipv6-prefix-name
[ index index-number]
{permit |deny }
ipv6-address
mask-length
[ greater-equal
greater-equal-value|
less-equal
less-equal-value ] ●配置IPv6前缀地址列表,列表名由
ipv6-prefix-name指定,此列表名下可以配置多个匹配项,每一项可以指定索引值index,若没有指定索引值,则生成项的索引值由此前缀列表已存在的最大索引值+10;
●若同时指定前缀长度在greater-equal和
less-equal之间时,匹配的范围就在二者之间,配置的greater-equal值和less-equal值必须满足条件:
mask-length<=greater-equal<=less-equal<=1
28;
●在匹配过程中,系统按索引号升序依次检查各个
节点,只要有一个节点满足条件,就认为通过该过滤列表,不再去匹配其他表项;
●如果所有表项都是Deny模式,则任何路由都不
能通过该过滤列表。
建议在多条Deny模式的表项后定义一条permit ::0 0 greater-equal 0
less-equal 128表项,允许其它所有IPv6路由信息通过。
as-path-filter ip as-path-filter
as-path-filter-number
{deny |permit }
regular-expression ●使用正则表达式来定义AS-Path属性过滤规则,
BGP可以使用此过滤器来匹配BGP路由的
AS-Path属性,以此决定是否发布/接收路由。
●如果所有表项都是Deny模式,则任何路由都不
能通过该过滤列表。
建议在多条Deny模式的表项后定义一条permit .* 表项,允许其它所有路
由信息通过;
community-fil ter ●ip
community-filter
basic-comm-filter-n
um{ deny | permit }
[community-numbe
r|aa:nn ]* &<1-16>
[internet |
no-export-subconf
ed | no-advertise |
no-export ]*
●ip
community-filter
adv-comm-filter-nu
m { deny | permit }
regular-expression
●定义一个团体属性过滤器。
有两种配置方式,属
性号在1-99的为基本团体属性过滤器,通过指
定明确的团体属性来定义过滤规则;属性号在
100-199为高级团体属性过滤器,通过指定正则
表达式来定义过滤规则。
●对于基本团体属性过滤器,Internet选项表示匹
配所有的团体属性;而对高级团体属性过滤器,
正则表达式”.*”表示匹配所有的团体属性。
●对于基本团体属性过滤器,有完全匹配模式
Whole-Match和一般匹配模式。
在完全匹配模
式下,BGP给出的团体属性列表必须完全与过
滤器规则中定义的团体属性一致才能匹配。
在一
般匹配模式下,BGP给出的团体属性列表必须
要包含过滤器规则中定义的团体属性才能匹配。
●如果所有表项都是Deny模式,则任何路由都不
能通过该过滤列表。
建议在多条Deny模式的表
项后定义一条permit .*表项(高级团体属性过滤
器)或permit internet(基本团体属性过滤器)
表项,允许其它所有路由信息通过。
extcommunit y-filter ip extcommunity-filter
ext-comm-list-number
{deny|permit }rt
{as-number : nn|
ipv4-address :
as-number }
定义扩展团体属性过滤器规则。
route-policy route-policy
route-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节点,以允许其它的路由通过。
2. 过滤器应用注意事项
(1) 假设当前过滤器下配置了至少一个节点,Permit
或Deny。
若是没有节点符合到要过滤路由的地址/掩码范围,则此路由过滤结果为Deny。
(2) 若是在策略中使用了某个不存在的过滤器,则结
果为对所有要过滤的路由为Permit。
3. 正则表达式编写规则
正则表达式是按照一定的模板来匹配字符串的公式。
^ 匹配一个字符串的开始。
如“^300”表示只匹配AS_Path的第一个值为300。
$ 匹配一个字符串的结束。
如“300$”表示只匹配AS_Path的最后一个值为300。
. 匹配任何单个字符,包括空格。
+ 匹配前面的一个字符或者一个序列,1次或者多次出现。
_ 匹配一个符号。
如逗号,括号,空格符号等。
* 匹配前面的一个字符或者一个序列,可以0次或者多次出现。
?匹配前面的一个字符,可以0次或者多次出现。
( ) 匹配的变化的AS或者一个独立的匹配,通常和“|”一起使用。
| 逻辑或。
[ ] 匹配的一个范围内的AS,通常和“-”一起使用。
- 连接符。
举例:
●ip as-path-filter 10 deny ^$:拒绝发布本地
始发路由。
●ip as-path-filter 10 permit .*:允许发布/
接收其他AS的路由。
●ip as-path-filter 2 deny
(6[0-9]|7[0-9]|8[0-9]|9[0-9]|1[0-3][0-9]|130)$:
拒绝从AS60-130始发的路由。
●ip community-filter 100 permit
1000:10[0-9]$:允许团体属性为1000:100至1000:109
之间的路由。
5.2.3 故障诊断流程
针对图5-1或图5-2所示的网络,在配置各路由器后发现指定的路由没有被过滤或全部被过滤。
请使用下面的故障诊断流程,如图5-3所示。
图5-3路由策略故障诊断流程图
5.2.4 故障处理步骤
概要的故障处理步骤如下:
1 检查网络的连通性。
2 检查路由协议配置是否正确。
3 检查IP-Prefix-Filter是否配置。
4 检查AS-Path-Filter是否配置。
5 检查Community-Filter是否配置。
6 检查Extcommunity-Filter是否配置。
7 检查Route-Policy是否配置。
详细的故障处理步骤如下:
1. 检查网络的连通性
使用display ip interface brief命令来检查各个接口的状态。
Up表示可用,Down表示不可用。
如果接口状态为Down请检查线路是否连接好,接口是否被Shutdown。
2. 检查路由协议配置是否正确
使用display current-configuration命令来检查当前的路由器配置。
使用display current-configuration
configuration命令来检查路由协议配置是否正确。
如果路由协议配置的不正确,请您参考相应协议的故障处理手册。
3. 检查IP-Prefix-Filter是否配置
使用display ip ip-prefix命令检查当前路由器是否配置IP-Prefix-Filter。
如果已配置请查看IP-Prefix-Filter配置注意事项
请查看配置注意事项中有关IP-Prefix-Filter的部分。
4. 检查AS-Path-Filter是否配置
使用display ip as-path-filter命令检查当前路由器是否配置AS-Path-Filter。
如果已配置请查看AS-Path-Filter配置注意事项
请查看配置注意事项中有关AS-Path-Filter的部分。
5. 检查Community-Filter是否配置
使用display ip community-filter命令查看当前路由器是否配置Community-Filter。
如果已配置请查看团体属性过滤器配置注意事项
请查看配置注意事项中有关Community-Filter的部分。
6. 检查Excommunity-Filter是否配置
使用display ip excommunity-filter命令查看当前路由器是否配置Excommunity-Filter。
如果已配置请查看拓展团体属性过滤器配置注意事项
请查看配置注意事项中有关Excommunity-Filter的部分。
7. 检查Route-Policy是否配置
使用display route-policy命令检查当前路由器是否配置了Route-Policy。
如果已配置请查看Route-Policy 过滤器配置注意事项
请查看配置注意事项中有关Route-Policy的部分。
如果检查结束,故障仍然无法排除,请联系华为的技术支持工程师。
5.3 故障处理案例
本节列出了常见的故障处理案例,如下:
●使用IP-Prefix过滤路由问题
●使用AS-Path过滤路由问题
●使用Community过滤路由问题
●使用Extcommunity过滤路由问题
●使用Route-Policy过滤路由问题
5.3.1 使用IP-Prefix过滤路由问题
1. 网络环境
组网图请参考图5-1
案例中RouterA采用IP-Prefix过滤器对从RouterB 中接收到的路由进行过滤:
RouterA上的配置:
#
bgp 100
peer 192.168.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
peer 192.168.1.2 enable
peer 192.168.1.2 ip-prefix rta import
#
ip ip-prefix rta index 20 deny 2.2.2.2 32
#
RouterB上的配置:
#
bgp 200
peer 192.168.1.1 as-number 100
#
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
network 2.2.2.2 255.255.255.255
peer 192.168.1.1 enable
#
使用display ip routing-table命令查看RouterA上接收到的路由,应该可以接收到1.1.1.1/32,但是路由表中没有。
2. 故障分析
使用以下步骤调查故障原因:
(1) 检查RouterB路由表信息,确定是否所有路由已被通告给邻居RouterA。
在RouterB上使用display bgp routing-table,显示路由表信息,发现1.1.1.1/32及2.2.2.2/32这两条路由均已通告给RouterA,问题应该是在RouterA上。
(2) 检查RouterA上的BGP配置,确定BGP在接收路由时是否使用了过滤器。
在RouterA上使用display current-configuration configuration bgp命令检查BGP的配置,发现在接收从RouterB通告过来的路由时使用了IP-Prefix过滤器,预计是过滤器将所有路由都过滤了。
(3) 检查IP-Prefix过滤器的配置。
确定此路由是否被过滤器过滤掉了。
在Router A上使用display ip ip-prefix rta命令查看过滤器的配置,发现仅对路由2.2.2.2/32配置了Deny策略,但对于路由1.1.1.1/32没有配置Permit。
故障的原因定位:在RouterA上使用IP-Prefix过滤路由问题。
系统过滤路由时对于没有匹配的路由默认返回Deny,所以将1.1.1.1/32也过滤了。
3. 处理步骤
因为系统过滤路由时,没有匹配的路由默认返回Deny,所以过滤策略仅配置可以通过的路由即可。
在RouterA上执行如下操作:
1 将过滤规则替换为ip ip-prefix rta index 10 permit 1.1.1.1 32
使用display ip routing-table命令查看RouterA 上接收到的路由,发现路由表中出现路由1.1.1.1/32,故障被排除。
4. 案例总结
当配置IP-Prefix过滤路由时,若是仅配置Deny节点,那么对于没有命中匹配地址/掩码的路由系统默认返回
Deny。
所以,需要配置Permit节点对指定路由允许。
请参考配置注意事项IP-Prefix小节。
5.3.2 使用AS-Path过滤路由问题
1. 网络环境
图5-4AS-Path过滤路由故障处理案例组网图案例中RouterA采用AS-Path过滤器对从RouterB通告过来的路由进行过滤:
RouterA上的配置:
#
bgp 100
peer 192.168.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
peer 192.168.1.2 enable
peer 192.168.1.2 as-path-filter 10 import #
ip as-path-filter 10 deny 65430
#
RouterB上的配置:
#
bgp 200
peer 192.168.1.1 as-number 100
peer 10.1.1.1 as-number 65431
peer 172.11.10.1 as-number 65430
#
ipv4-family unicast
undo synchronization
peer 192.168.1.1 enable
peer 10.1.1.1 enable
peer 172.11.10.1 enable
#
RouterC上的配置:
#
bgp 65430
peer 172.11.10.2 as-number 200 #
ipv4-family unicast
undo synchronization
network 3.3.3.3 255.255.255.255 peer 172.11.10.2 enable
#
RouterD上的配置:
#
bgp 65431
peer 10.1.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
network 4.4.4.4 255.255.255.255
peer 10.1.1.2 enable
#
发现故障:使用display ip routing-table 命令查看RouterA上接收到的路由,应该可以看到RouterA过滤了RouterC通告的路由,接收了RouterD通告的路由,但路由表中显示RouterC及RouterD的路由均被RouterA过滤掉了。
2. 故障分析
故障现象:RouterA路由表中没有RouterD通告的路由。
使用以下步骤调查故障原因:
(1) 检查RouterB是否已将所有路由通告给邻居RouterA。
在RouterB上使用display ip routing-table,查看RouterB是否接收到了来自RouterC和RouterD的路由,结果显示已经接收到了。
所以判断问题应该是在RouterA上。
(2) 检查RouterA上的BGP配置,确定BGP在接收路由时是否使用了过滤器。
在RouterA上使用display current-configuration configuration bgp查看BGP的配置,发现BGP对从RouterB通告过来的路由使用了名为10的as-path过滤器过滤路由,估计是过滤器将所有路由都过滤了。
(3) 检查RouterA上AS-Path正则表达式的编写和过滤器的配置。
在RouterA上使用display ip as-path-filter 10查看过滤器的配置,发现仅对来自AS号为65430的路由配置了Deny策略,但对于来自65431域的路由没有配置Permit。
故障的原因定位:在RouterA上使用AS-Path过滤路由问题。
系统过滤路由时对于没有匹配的路由默认返回Deny,所以将来自AS65431域的路由也过滤掉了。
3. 处理步骤
因为系统过滤路由时对于没有匹配的路由默认返回Deny,那么过滤策略仅配置可以通过的路由即可。
在RouterA上执行如下操作:
1 将过滤规则替换为ip as-path-filter 10 permit 65431
使用display ip routing-table 命令查看RouterA 上接收到的路由,发现路由表中出现路由4.4.4.4/32,故障被排除。
4. 案例总结
当配置AS-Path过滤路由时,需要注意:正则表达式的编写规则;若是仅配置Deny节点,那么对于没有命中
AS-Path范围的系统返回Deny。
所以,需要配置Permit节点对指定路由允许。
请参考配置注意事项AS-Path小节。
5.3.3 使用Community过滤路由问题
Community-Filter一般情况下作为route-policy的if-match子句的匹配条件,当满足if-match community-filter<basic or advanced community-list >时,对路由应用apply子句下的动作。
需要注意Advanced Community-List中正则表达式的编写规则。
请参考配置注意事项的附注中正则表达式编写规则部分。
5.3.4 使用Extcommunity过滤路由问题
1. 网络环境
组网图请参考图5-2
用户组网需求:
CE1、CE3属于VPN-A,CE2、CE4属于VPN-B;。