所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

S1720, S2700, S5700, S6720 V200R010C00 配置指南-IP单播路由

本文档介绍了设备支持的IP单播路由相关配置。主要内容包括IP路由概述,静态路由、RIP、RIPng、OSPF、OSPFv3、IS-IS(IPv4)、IS-IS(IPv6)、BGP、路由策略以及策略路由的基本原理和配置过程,并提供相关的配置案例。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
AS_Path Filter在BGP中的应用

AS_Path Filter在BGP中的应用

AS_Path Filter介绍

AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。如图1所示,某条BGP路由的AS_Path属性实际上可以看作是一个包含空格的字符串,所以可以通过正则表达式来进行匹配。

图11-14   BGP路由的AS_Path属性

正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。BGP的AS_Path过滤器主要是定义AS_Path正则表达式,然后去匹配BGP路由的AS_Path属性信息,从而实现对BGP路由信息的过滤。

例如ip as-path-filter 1 permit 495就定义了一个AS_Path过滤器1,使用的正则表达式是495,这个表达式的含义是匹配任何包含495的字符串。

AS_Path正则表达式的组成

AS_Path过滤器的核心内容就是正则表达式。关于正则表达式的内容较为复杂,我们这里仅讨论一些跟AS_Path过滤器相关的内容。

AS_Path过滤器使用正则表达式来定义匹配规则。正则表达式由元字符和数值两部分组成:

  • 元字符定义了匹配的规则

  • 数值定义了匹配的对象

BGP AS_Path支持的元字符如表11-6所示。

表11-6  BGP AS_Path支持的元字符描述

元字符

含义

示例

.

匹配除“\n”之外任何单个字符,包括空格。

.*表示匹配任意字符串,即AS_Path为任意,可以用来匹配所有路由。

说明:

通常定义了多个deny模式的ip as-path-filter子句之后,会定义一个ip as-path-filter as-path-filter-name permit .*子句,用于允许其他路由通过。

*

之前的字符在目标对象中出现0次或连续多次。

参考上例。

+

之前的字符在目标对象中出现1次或连续多次。

65+表示6在AS_Path的首位,而5在AS_Path中出现一次或多次,那么:
  • 如下字符串都符合这个特征:65,655,6559,65259,65529等。
  • 如下字符串不符合这个特征:56,556,5669,55269,56259等。

|

竖线左边和右边的字符为“或”的关系。

100|65002|65003表示匹配100、65002或65003。

^

之后的字符串必须出现在目标对象的开始。

^65表示匹配以65开头的字符串,那么:
  • 如下字符串都符合这个特征:65,651,6501,65001等。
  • 如下字符串不符合这个特征:165,1650,6650,60065等。

$

之前的字符串必须出现在目标对象的结束。

65$表示匹配以65结尾的字符串,那么:
  • 如下字符串都符合这个特征:65,165,1065,10065,60065等。
  • 如下字符串不符合这个特征:651,1650,6650,60650,65001等。
说明:

^$表示匹配空字符串,即AS_Path为空,通常用来匹配本地始发路由。

(xyz)

一对圆括号内的正则表达式作为一个子正则表达式,匹配子表达式并获取这一匹配。圆括号内也可以为空。

100(200)+可以匹配100200、100200200、……

[xyz]

匹配方括号内列出的任意字符。

[896]表示匹配含有8、9或6中任意一个字符。

[^xyz]

匹配除了方括号内列出的字符外的任意字符(^号在字符前)。

[^896]表示匹配含有8、9或6这几个字符之外的任意一个字符。

[a-z]

匹配指定范围内的任意字符。

[2-4]表示匹配2,3,4;[0-9]表示匹配数字0~9。
说明:

方括号内“[]”只能填写数字0到9。例如,如果需要匹配735~907,则需要写成(73[5-9]|7[4-9][0-9]|8[0-9][0-9]|90[0-7])。

[^a-z]

匹配不在指定范围内的任意字符。

[^2-4]表示匹配除2,3,4外的其他字符;[^0-9]表示匹配除数字0~9外的其他字符。

_

匹配一个符号,包括逗号、左大括号、右大括号、左括号、右括号和空格,在表达式的开头或结尾时还可作起始符、结束符(同^ ,$)。

  • ^65001_表示匹配字符串的开始为65001,字符串的后面为符号,也即AS_Path最左边AS(最后一个AS)为65001,可以用来匹配AS 65001邻居发送的路由,

  • _65001_表示匹配字符串里有65001,即AS_Path中有65001,可以用来匹配经过AS 65001的路由。

  • _65001$表示匹配字符串的最后为65001,字符串前面是符号,即AS_Path最右边AS(起始AS)为65001,可以用来匹配AS 65001始发的路由。

\

转义字符。

AS_Confed_Sequence是用“(” 、“)”表示的,“(” 、“)”在正则表达式中是特殊字符,有特殊用处,所以对于这种特殊字符,可以使用“\”来去除其特殊意义进行匹配。例如:
  • \(65002_表示匹配字符串为(65002,字符串的后面为符号,也即AS_Confed_Sequence最左边AS(最后一个AS)为65002,可以用来匹配联盟AS 65002邻居发送的路由。

  • \(.*_65003_.*\) 表示AS_Confed_Sequence中间有65003,可以用来匹配经过联盟AS 65003的路由。

  • _65004\)表示匹配字符串最后为65004),字符串的前面为符号,也即AS_Confed_Sequence最右边AS(起始AS)为65004,可以用来匹配联盟AS 65004始发的路由,还可以用来匹配联盟AS 65004直接发布的路由。_65004\)与65004\)作用相同。

同理,AS_Confed_Set使用的“[”、“]”,AS_Set使用的“{”、“}”也都可以使用“\”符号来去除这些特殊符号的特殊意义。

在同一个过滤器编号下,可以定义多条过滤规则(permit或deny模式)。在匹配过程中,这些规则之间是“或”的关系,即只要路由信息通过其中一项规则,就认为通过由该过滤器编号标识的这组AS_Path过滤器。在下文中,将分不同的场景来对AS_Path过滤器的作用进行举例说明。

AS_Path Filter的应用方式

AS_Path过滤器只定义一个过滤工具,需要在某个地方调用这个过滤工具才会最终生效。在BGP中可以有两种方式调用AS_Path过滤器:

  • 通过peer命令直接调用AS_Path_Filter。
  • 通过route-policy调用AS_Path_Filter。

应用方式一:通过peer命令直接调用as-path-filter

#
ip as-path-filter s1 permit ^100$
#
bgp 65100
  peer 10.1.1.2 as-path-filter s1 import
#

在应用方式1中,我们定义了一个AS_Path_Filter并关联了一个正则表达式^100$,这个AS_Path_Filter可以匹配AS_PATH严格为100的路由(不包含任何其他的AS号或其他数字),随后我们将AS_Path_Filter应用在了peer命令上,这样一来,只有被AS_Path_Filter s1所匹配的路由,才会被传递给BGP邻居10.1.1.2。

应用方式二:通过route-policy调用as-path-filter

#
ip as-path-filter s1 permit ^100$
#
route-policy huawei permit node 10
 if-match as-path-filter s1
 apply local-preference 100
#
bgp 65100
  peer 10.1.1.2 route-policy huawei import
#

在应用方式2中,我们在route-policy中的if-match命令调用定义好的AS_Path_Filter,随后使用apply命令设置Local-Preference路径属性值,并在BGP配置模式下应用在了peer命令上(import方向)。这样,该交换机在收到BGP邻居10.1.1.2所发送过来的BGP路由中,所有被AS_Path_Filter匹配的路由均将LP路径属性值设置为100。

AS_Path Filter的使用举例

图2所示,LSW1与LSW2之间,LSW1与LSW3之间,LSW2与LSW3之间,LSW2与LSW4之间,LSW3与LSW4之间,LSW4与LSW5之间都建立EBGP邻居。各个设备把LoopBack0接口的IP地址通过network命令发布到BGP中,用作测试路由网段。

图11-15   使用AS_Path Filter对BGP路由进行过滤

当没有使用AS_Path过滤器时,LSW1的原始BGP路由表如下。

[LSW1] display bgp routing-table

 BGP Local router ID is 10.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 9
      Network        NextHop        MED    LocPrf  PrefVal Path/Ogn

 *>   1.1.1.9/32     0.0.0.0         0                 0       i
 *>   2.2.2.9/32     10.1.1.2        0                 0       65200i
 *                   10.1.2.2                          0       65300 65200i
 *>   3.3.3.9/32     10.1.2.2        0                 0       65300i
 *                   10.1.1.2                          0       65200 65300i
 *>   4.4.4.9/32     10.1.1.2                          0       65200 65400i
 *                   10.1.2.2                          0       65300 65400i
 *>   5.5.5.9/32     10.1.1.2                          0       65200 65400 65500i
 *                   10.1.2.2                          0       65300 65400 65500i

Case1:定义一个AS_Path过滤器s1,只接收AS 65500始发的路由。

[LSW1] ip as-path-filter s1 permit _65500$          //定义一个AS_Path过滤器s1
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s1 import   //通过peer命令调用
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s1 import

配置完成后BGP路由表如下:

[LSW1] display bgp routing-table

 BGP Local router ID is 10.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network        NextHop       MED    LocPrf    PrefVal Path/Ogn

 *>   1.1.1.9/32     0.0.0.0        0                  0        i
 *>   5.5.5.9/32     10.1.1.2                          0       65200 65400 65500i
 *                   10.1.2.2                          0       65300 65400 65500i

从以上显示信息可以看出,AS 65500始发的路由被允许,其他路由被拒绝。

Case2:定义一个AS_Path过滤器s2,拒绝AS 65500始发的路由,允许接收其他路由。

[LSW1] ip as-path-filter s2 deny _65500$
[LSW1] ip as-path-filter s2 permit .*
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s2 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s2 import

配置完成后BGP路由表如下:

[LSW1] display bgp routing-table

 BGP Local router ID is 10.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 7
      Network        NextHop        MED    LocPrf   PrefVal  Path/Ogn

 *>   1.1.1.9/32     0.0.0.0         0                 0       i
 *>   2.2.2.9/32     10.1.1.2        0                 0       65200i
 *                   10.1.2.2                          0       65300 65200i
 *>   3.3.3.9/32     10.1.2.2        0                 0       65300i
 *                   10.1.1.2                          0       65200 65300i
 *>   4.4.4.9/32     10.1.1.2                          0       65200 65400i
 *                   10.1.2.2                          0       65300 65400i

从以上显示信息可以看出,AS 65500始发的路由被拒绝,其他路由被允许。

Case3:定义一个AS_Path过滤器s3,拒绝经过AS 65400的路由

[LSW1] ip as-path-filter s3 deny _65400_
[LSW1] ip as-path-filter s3 permit .*
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s3 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s3 import

配置完成后BGP路由表如下:

[LSW1] display bgp routing-table

 BGP Local router ID is 10.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 5
      Network        NextHop        MED    LocPrf   PrefVal  Path/Ogn

 *>   1.1.1.9/32     0.0.0.0         0                 0       i
 *>   2.2.2.9/32     10.1.1.2        0                 0       65200i
 *                   10.1.2.2                          0       65300 65200i
 *>   3.3.3.9/32     10.1.2.2        0                 0       65300i
 *                   10.1.1.2                          0       65200 65300i

从以上显示信息可以看出,经过AS 65400的路由被拒绝,其他路由被允许。

Case4:定义一个AS_Path过滤器s4,拒绝经过AS 65400的路由,其中AS 65400既不是路由的始发AS,也不是路由经过的最后一个AS。

[LSW1] ip as-path-filter s4 deny ._65400_.
[LSW1] ip as-path-filter s4 permit .*
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s4 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s4 import

配置完成后BGP路由表如下:

[LSW1] display bgp routing-table

 BGP Local router ID is 10.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 7
      Network        NextHop        MED    LocPrf   PrefVal  Path/Ogn

 *>   1.1.1.9/32     0.0.0.0         0                 0       i
 *>   2.2.2.9/32     10.1.1.2        0                 0       65200i
 *                   10.1.2.2                          0       65300 65200i
 *>   3.3.3.9/32     10.1.2.2        0                 0       65300i
 *                   10.1.1.2                          0       65200 65300i
 *>   4.4.4.9/32     10.1.1.2                          0       65200 65400i
 *                   10.1.2.2                          0       65300 65400i

从以上显示信息可以看出,只有AS_Path的中间AS是65400的路由被拒绝,其他路由被允许。

Case5:定义一个AS_Path过滤器s5,匹配本地始发路由,不接收其他AS的任何路由。

[LSW1] ip as-path-filter s5 permit ^$
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s5 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s5 import

配置完成后BGP路由表如下:

[LSW1] display bgp routing-table

 BGP Local router ID is 10.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network        NextHop        MED    LocPrf    PrefVal Path/Ogn

 *>   1.1.1.9/32     0.0.0.0         0                 0             i

从以上显示信息可以看出,只有AS_Path为空的本地始发路由被允许,其他路由被拒绝。

翻译
下载文档
更新时间:2019-04-17

文档编号:EDOC1000141402

浏览量:21974

下载量:1340

平均得分:
本文档适用于这些产品
相关文档
相关版本
分享
上一页 下一页