• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

Comware V7 FW BGP AS过滤典型配置

2022-10-11 发表
  • 0关注
  • 2收藏 1490浏览
粉丝:28人 关注:2人

组网及说明

如图所示,MSR3分别与MSR1 MSR2 MSR5建立EBGP邻居MSR1 MSR4 MSR3 MSR5分别属于AS100 AS300 AS200 AS400.

目前需要实现,MSR3对于从联通收到的100.100.100.100的路由只会通过联通的链路传到MSR5MSR3对于从电信收到的100.100.100.100的路由只会从电信的链路传到MSR5


配置步骤

MSR3 对于与MSR5电信链路建立的EBGP邻居过滤关键配置:

以下ACL能够实现,只接收AS path路径中包含AS300的路由,其余路由全拒绝,相当于一个白名单

ip as-path 2 permit _300_

ip as-path 2 deny .*

 

bgp 200

 peer 1.1.1.1 as-number 100

 peer 2.1.1.1 as-number 300

 peer 3.1.1.2 as-number 400

 peer 4.1.1.2 as-number 400

 #

 address-family ipv4 unicast

  peer 1.1.1.1 enable

  peer 2.1.1.1 enable

  peer 3.1.1.2 enable

  peer 3.1.1.2 as-path-acl 1 export

  peer 4.1.1.2 enable

peer 4.1.1.2 as-path-acl 2 export

#


为了测试模拟效果,将MSR3MSR4相连的电信链路断掉,将MSR3MSR5相连的联通链路断掉,此时不做任何过滤条件之前,MSR5上可以学到来自AS100即联通链路传过来的100.100.100.100的路由,下一跳指向4.1.1.1,如果加上过滤条件,则MSR5上将学习不到来自AS100100.100.100.100的路由

 

加过滤条件之前:

[MSR5]display  ip routing-table

 

Destinations : 13       Routes : 13

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/0          Static  60  0           4.1.1.1         GE5/0

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

1.1.1.0/24         BGP     255 0           4.1.1.1         GE5/0

4.1.1.0/24         Direct  0   0           4.1.1.2         GE5/0

4.1.1.2/32         Direct  0   0           127.0.0.1       InLoop0

4.1.1.255/32       Direct  0   0           4.1.1.2         GE5/0

100.100.100.100/32 BGP     255 0           4.1.1.1         GE5/0

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0

224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

 

加过滤条件之后:

[MSR5]display  ip routing-table

 

Destinations : 11       Routes : 11

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/0          Static  60  0           4.1.1.1         GE5/0

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

4.1.1.0/24         Direct  0   0           4.1.1.2         GE5/0

4.1.1.2/32         Direct  0   0           127.0.0.1       InLoop0

4.1.1.255/32       Direct  0   0           4.1.1.2         GE5/0

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0

224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0


配置关键点

正则表达式一定要配置正确

常用的正则表达式如下:

AS路径是BGP的路由属性之一,记录了某条路由从本地到目的地址所要经过的所有AS号。AS_PATH属性在BGP路由表中的显示格式如图所示:

1-1 AS_PATH的显示格式

 

从图中可以得知AS_PATH可以看作是一个由数字09、“()”、“[]”、“{}”和空格组成的字符串,各部分表示的含义如下:

·              AS_CONFED_SEQUENCE:联盟内子AS号按照一定的顺序排列。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。

·              AS_CONFED_SET:联盟内经过的子AS号的简单罗列,没有顺序要求。

·              AS_SEQUENCEAS号按照一定的顺序排列。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。

·              AS_SETAS号只是经过的AS的简单罗列,没有顺序要求。

需要注意的是,BGP路由的AS_PATH属性不一定完整包含上述四个部分,请以实际情况为准。

AS路径过滤列表根据正则表达式来匹配BGP路由中的AS_PATH属性,从而达到过滤路由信息的目的。

1-1 正则表达式在AS路径过滤列表中的应用举例

特殊字符

含义

举例

^

匹配以指定字符开始的行

匹配AS_PATH为空的路由(本地路由):

ip as-path as-path-number { deny | permit } ^$

$

匹配以指定字符结束的行

匹配从AS100始发的路由:

ip as-path as-path-number { deny | permit } 100$

.

通配符,可代表任何一个字符

匹配经过了AS100的路由(非始发或最后一个AS)

ip as-path as-path-number { deny | permit } ._100_.

*

匹配星号前面的字符或字符串零次或多次

匹配任意AS_PATH的路由:

ip as-path as-path-number { deny | permit } .*

+

匹配+前面的字符或字符串一次或多次

匹配AS路径中包含“5”的路由:

ip as-path as-path-number { deny | permit } 5+

x|y

匹配|左边或右边的整个字符串

匹配从AS100AS200始发的路由:

ip as-path as-path-number { deny | permit } 100$|200$

( )

表示字符串,一般与“+”或“*”等符号一起使用

匹配AS路径中包含“123”的路由:

ip as-path as-path-number { deny | permit } (123)+

[xyz]

表示字符选择范围,将以选择范围内的单个字符为条件进行匹配,只要字符串里包含该范围的某个字符就能匹配到

匹配从单一路径AS10AS19收到的路由:

ip as-path as-path-number { deny | permit } ^1[0-9]$

[^xyz]

表示选择范围外的字符,将以单个字符为条件进行匹配,只要字符串里包含该范围外的某个字符就能匹配到

匹配始发AS的末位不为“2”或“4”的路由:

ip as-path as-path-number { deny | permit } [^24]$

{n}

n是一个非负整数,匹配n

匹配AS路径中包含“55”的路由:

ip as-path as-path-number { deny | permit } 5{2}

{n,}

n是一个非负整数,至少匹配n

匹配AS路径中至少包含两个连续“5”的路由:

ip as-path as-path-number { deny | permit } 5{2,}

{n,m}

mn均为非负整数,其中n小于等于m。只要字符串里包含nm个某字符就能匹配到

匹配AS路径中至少包含一个“5”或两个连续“5”的路由:

ip as-path as-path-number { deny | permit } 5{1,2}

[a-z]

匹配指定字符范围内的任意字符。不可同时匹配多个字符,也不可匹配同一个字符多次

匹配AS路径中包含“0”、“1”或“2”的路由:

ip as-path as-path-number { deny | permit }[0-2]

[^a-z]

匹配任何不在指定范围的任意字符。只要字符串里有指定范围外的字符就能匹配到

匹配单一AS路径中不包含“0”、“1”和“2”的路由:

ip as-path as-path-number { deny | permit }^ [^0-2]$

_

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

匹配经过AS101 100的路由:

ip as-path as-path-number { deny | permit } 101_100_

\b

匹配一个单词边界,也就是指单词和空格间的位置

匹配从AS100始发的路由:

ip as-path as-path-number { deny | permit } \b100$

\B

匹配非单词边界

匹配从AS号以1开头的AS收到的路由:

ip as-path as-path-number { deny | permit } ^1\B

\

转义操作符,\后紧跟本表中罗列的单个特殊字符时,将去除特殊字符的特定含义

\w

\w等效于[A-Za-z0-9_],是数字、字母或下划线

匹配AS路径中包含两位数AS的路由:

ip as-path as-path-number \w{2}

\W

\W等效于[^A-Za-z0-9_],是除了数字、字母和下划线之外的任意字符

\index

表示重复一次指定字符串,字符串是指\前用()括起来的字符串,index对应\前字符串的顺序号按从左至右的顺序从1开始编号:如果\前面只有一个字符串,则index只能为1;如果\前面有n个字符串,则index可以为1n中的任意整数

匹配AS路径中包含两个连续的“1”的路由:

ip as-path as-path-number (1)\1

 

匹配相同条件AS路径过滤列表的正则表达式并不唯一,表1-1中的正则表达式仅为示例。

 

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2022-10-11对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作