孔德飞,Comware V7 FW BGP AS过滤典型配置
组网及说明
如图所示,MSR3分别与MSR1 MSR2 MSR5建立EBGP邻居MSR1 MSR4 MSR3 MSR5分别属于AS100 AS300 AS200 AS400.
目前需要实现,MSR3对于从联通收到的100.100.100.100的路由只会通过联通的链路传到MSR5,MSR3对于从电信收到的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
#
为了测试模拟效果,将MSR3与MSR4相连的电信链路断掉,将MSR3与MSR5相连的联通链路断掉,此时不做任何过滤条件之前,MSR5上可以学到来自AS100即联通链路传过来的100.100.100.100的路由,下一跳指向4.1.1.1,如果加上过滤条件,则MSR5上将学习不到来自AS100的100.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可以看作是一个由数字0~9、“()”、“[]”、“{}”和空格组成的字符串,各部分表示的含义如下:
· AS_CONFED_SEQUENCE:联盟内子AS号按照一定的顺序排列。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。
· AS_CONFED_SET:联盟内经过的子AS号的简单罗列,没有顺序要求。
· AS_SEQUENCE:AS号按照一定的顺序排列。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。
· AS_SET:AS号只是经过的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
匹配|左边或右边的整个字符串
匹配从AS100或AS200始发的路由:
ip as-path as-path-number { deny | permit } 100$|200$
( )
表示字符串,一般与“+”或“*”等符号一起使用
匹配AS路径中包含“123”的路由:
ip as-path as-path-number { deny | permit } (123)+
[xyz]
表示字符选择范围,将以选择范围内的单个字符为条件进行匹配,只要字符串里包含该范围的某个字符就能匹配到
匹配从单一路径AS10~AS19收到的路由:
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}
m和n均为非负整数,其中n小于等于m。只要字符串里包含n到m个某字符就能匹配到
匹配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可以为1到n中的任意整数
匹配AS路径中包含两个连续的“1”的路由:
ip as-path as-path-number (1)\1
匹配相同条件AS路径过滤列表的正则表达式并不唯一,表1-1中的正则表达式仅为示例。
CRM论坛(CRMbbs.com)——一个让用户更懂CRM的垂直性行业内容平台,CRM论坛致力于互联网、客户管理、销售管理、SCRM私域流量内容输出5年。 如果您有好的内容,欢迎向我们投稿,共建CRM多元化生态体系,创建CRM客户管理一体化生态解决方案。本文来源:知了社区基于知识共享署名-相同方式共享3.0中国大陆许可协议,Comware V7 FW BGP AS过滤典型配置
版权声明:我们致力于保护作者版权,注重分享,本文内容及图片(只作为美观性配图使用)由CRM小助手整理收集与网络(无任何非法侵犯第三方意图),仅供学习参考交流使用,不代表CRM论坛观点。如有侵权,请联系我们,我们将及时删除处理。
CRM论坛投稿:投稿地址
CRM论坛(CRMBBS.COM)始办于2019年,是致力于CRM实施方案、免费CRM软件、SCRM系统、客户管理系统的垂直内容社区网站,CRM论坛持续专注于CRM领域,在不断深化理解CRM系统的同时,进一步利用新型互联网技术,为用户实现企业、客户、合作伙伴与产品之间的无缝连接与交互。