简介
本文档介绍如何使用带边界网关协议(BGP)的正则表达式。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于 Cisco IOS® 软件版本 12.0。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
规则
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
背景信息
您可以在 ip as-path access-list 命令中使用边界网关协议(BGP)的正则表达式。有关正则表达式的更多一般信息,请参阅有关正则表达式的 Cisco 文档。有关基本BGP配置的详细信息,请参阅BGP案例分析和配置基本BGP网络。
网络环境
这是本文档中提及的网络图。
仅允许源自AS 4的网络进入Router 1
如果您希望路由器1仅接收源自AS 4的路由(无Internet路由),则可以在路由器1上应用入站访问列表:
ip as-path access-list 1 permit ^4$
router bgp 1
neighbor 10.4.4.4 remote-as 4
neighbor 10.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 10.2.2.2 remote-as 1
neighbor 10.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 10.2.2.2 remote-as 1
neighbor 10.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,请在路由器1上应用下一个入站过滤器。
ip as-path access-list 1 permit ^4_[0-9]*$
router bgp 1
neighbor 10.4.4.4 remote-as 4
neighbor 10.4.4.4 route-map foo in
route-map foo permit 10
match as-path 1
在 ip as-path access-list 命令中,尖号(^)用于启动输入字符串并指定AS,下划线(_)表示字符串中有一个null字符串,位于AS 4”之后。[0-9]*表示任何连接且带有有效AS编号的AS都可以通过过滤器。使用[0-9]*语法的优点是,您可以灵活地添加任意数量的AS,而无需修改此命令字符串。有关其他信息,请参阅 AS 正则表达式。
相关信息