Cisco经典文档

当前位置: 首页Cisco经典文档在 BGP 中使用正则表达式


在 BGP 中使用正则表达式

 

 

                                                       文档下载:

切换至英文原版


 

内容

前言
前提条件
      需求
      使用的组件
      惯例
网络环境
      只允许起源于 AS4 的网络进入路由器 1
      只允许通过 AS4 的网络输入 AS3
      拒绝起源于 AS4 的网络输入 AS3 但允许所有其它网络这么做
      只允许起源于 AS4 的网络和直接连接到 AS4 的 AS 进入路由器 1
 


前言

您能使用在ip as-path access-list命令的Regular Expression与边界网关协议(BGP)。 本文档介绍使用正则表达式的方案。 有关正则表达式的更多一般信息,请参阅有关正则表达式的 Cisco 文档。

前提条件

需求

本文档的读者应具备以下方面的知识:

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • Cisco IOS® 软件版本 12.0

本文档中的信息都是基于特定实验室环境中的设备创建的。 本文档中使用的所有设备最初均采用原始(默认)配置。 如果您在一个工作网络中操作,在使用之前请确认您已经理解所有指令的潜在影响。

惯例

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

网络环境

这三个方案中引用了下面的网络图。

/image/gif/paws/13754/26a.gif

只允许起源于 AS4 的网络进入路由器 1

如果希望路由器 1 仅接收源自 AS 4 的路由(不接收 Internet 路由),则可以按如下方式在路由器 1 应用一个入站访问列表:

ip as-path access-list 1 permit ^4$ 

router bgp 1 
 neighbor 4.4.4.4 remote-as 4 
 neighbor 4.4.4.4 route-map foo in 

route-map foo permit 10 
 match as-path 1 

这样可确保只有源自 AS 4 的网络允许进入路由器 1。

只允许通过 AS4 的网络输入 AS3

如果希望仅允许已通过 AS 4 的网络从路由器 3 进入 AS 3,则可以在路由器 3 应用一个入站过滤器。

ip as-path access-list 1 permit _4_ 

router bgp 3 
 neighbor 2.2.2.2 remote-as 1 
 neighbor 2.2.2.2 route-map foo in 

route-map foo permit 10 
 match as-path 1 

可以使用下划线 (_) 作为 ip as-path access-list 命令中的输入字符串和输出字符串。 请注意,本例中没有使用锚定(例如,没有 ^),因此哪些自治系统在 AS 4 前后到来是无关紧要的。

拒绝起源于 AS4 的网络输入 AS3 但允许所有其它网络这么做

如果要拒绝源自 AS 4 的所有网络,并允许所有其他路由从路由器 3 进入 AS 3,则可以在路由器 3 应用一个入站过滤器,如下所示:

ip as-path access-list 1 deny _4$  
ip as-path access-list 1 permit .*

router bgp 3 
 neighbor 2.2.2.2 remote-as 1 
 neighbor 2.2.2.2 route-map foo in 

route-map foo permit 10 
 match as-path 1

只允许起源于 AS4 的网络和直接连接到 AS4 的 AS 进入路由器 1

如果希望 AS 1 获得源自 AS 4 的网络以及 AS 4 的所有直接附加的 AS,可在路由器 1 应用以下入站过滤器。

ip as-path access-list 1 permit ^4_[0-9]*$ 

router bgp 1 
 neighbor 4.4.4.4 remote-as 4 
 neighbor 4.4.4.4 route-map foo in 

route-map foo permit 10 
 match as-path 1 

ip as-path access-list 命令中,尖号 (^) 表示输入字符串的开头并指定“AS”。 下划线 (_) 表示“AS 4”后面的字符串中有一个空字符串。 [0-9]* 指定具有有效 AS 编号的所有已连接的 AS 可以通过过滤器。 使用 [0-9]* 语法的优点是可以随意添加任何数量的 AS,而无需修改此命令字符串。 有关其他信息,请参阅 AS 正则表达式

 


 

 

注:本人能力有限,如遇不足之处,还请指正!

China-CCIE  QQ交流群:106155045   点击与作者QQ交谈