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