CCNP BGP正则表达式.docx
- 文档编号:28008040
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:7
- 大小:34.65KB
CCNP BGP正则表达式.docx
《CCNP BGP正则表达式.docx》由会员分享,可在线阅读,更多相关《CCNP BGP正则表达式.docx(7页珍藏版)》请在冰豆网上搜索。
CCNPBGP正则表达式
BGP正则表达式
在BGP的过滤路由机制里可以使用route-map,distribute-list,这些机制都需要我们定义好需要过滤的路由,如果现在需要过滤某一个AS的所有路由,而该AS又传递了大量的路由,那么使用以上工具来逐条定义路由再进行过滤的方法操作就十分繁杂,并且不便于管理。
BGP针对于上述情况设计了专门的解决方案:
as-pathaccess-list,专门针对于as-path来进行过滤。
而匹配AS号的工具就是正则表达式。
在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.30300200100i
*>2.2.2.2/3234.1.1.30300200i
*>3.3.3.3/3234.1.1.300300i
^表示一个表达式的开始,如果不用这个字符,那么默认就没有开始的限制了。
R4(config)#ipas-pathaccess-list1permit^300
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示只允许接收经过相邻直连AS为300的路由,其余的全部过滤掉。
正则表达式中的开始,只是查看bgp路由as-path列表的第一个AS,而不是真正经过AS路径的第一个AS(实际是相反的,as-path是从右往左算的)
查看R4的bgp路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.30300200100i
*>2.2.2.2/3234.1.1.30300200i
*>3.3.3.3/3234.1.1.300300i
$表示一个表达式的结束,如果不用这个字符,那么默认就没有结束的限制了。
R4(config)#ipas-pathaccess-list1permit100$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示允许接收起源AS为100的路由(根据上面的描述,正则表达式的开始与结束和as-path记录的开始与结束是相反的)
查看R4的bgp路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.30300200100i
?
表示匹配前面的一个字符出现一次或者是空(零次)。
Cisco路由器上使用trcl+v再?
来输入问号
R4(config)#ipas-pathaccess-list1permit10?
$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示允许接收起源AS为1或者10(10?
代表前一个字符0出现零次,即为1,或者一次,即为10)的路由
R1(config)#norouterbgp100
R1(config)#routerbgp1
R1(config-router)#network1.1.1.1mask255.255.255.255
R1(config-router)#neighbor12.1.1.2remote-as200
查看R4的bgp路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.3030020010i
将R1的AS改为10
R1(config)#norouterbgp100
R1(config)#routerbgp10
R1(config-router)#network1.1.1.1mask255.255.255.255
R1(config-router)#neighbor12.1.1.2remote-as200
查看R4的bgp路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.3030020010i
*表示匹配前面的一个字符出现多次或者是空,注意,和?
不同的是?
只允许匹配出现一次或者是空。
R4(config)#ipas-pathaccess-list1permit10*$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示允许接收起源AS为1,10,100,1000,10000……等路由
现在将R1的AS改为1000
R1(config)#routerbgp1000
R1(config-router)#neighbor12.1.1.2remote-as200
R1(config-router)#network1.1.1.1mask255.255.255.255
查看R4的bgp路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.303002001000i
+表示匹配前面的一个字符出现一次或者多次,但是不能是零次,而*可以出现零次。
R4(config)#ipas-pathaccess-list1permit10*$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示允许接收起源AS为10,100,1000,10000……等路由
. 表示任意单个字符,包括空格
.*就可以表示任意字符
R4(config)#ipas-pathaccess-list1deny100$
R4(config)#ipas-pathaccess-list1permit.*
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示接收除了起源AS为100以外的所有路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>2.2.2.2/3234.1.1.30300200i
*>3.3.3.3/3234.1.1.300300i
_ 表示逗号,左大括号,右大括号,左小括号,右小括号
R4(config)#ipas-pathaccess-list1permit^300_200$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示只允许接收起源AS为200,直连相邻AS为300的路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>2.2.2.2/3234.1.1.30300200i
^300$表示只经过AS300,不包括其他任何AS
R4(config)#ipas-pathaccess-list1permit^300$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>3.3.3.3/3234.1.1.300300i
^$表示本地始发的路由
R3(config)#ipas-pathaccess-list1deny^$
R3(config)#ipas-pathaccess-list1permit.*
R3(config)#routerbgp300
R3(config-router)#neighbor34.1.1.4filter-list1out
表示拒绝AS300本地始发的路由,允许其余所有路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>2.2.2.2/3234.1.1.30300200i
*>3.3.3.3/3234.1.1.300300i
[Aa]表示匹配单个字符A或者a
R4(config)#ipas-pathaccess-list1permit[23]00$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示只允许接收起源AS为200或300的路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>2.2.2.2/3234.1.1.30300200i
*>3.3.3.3/3234.1.1.300300i
[1-36-9]表示匹配单字符1、2、3、6、7、8、9中的任意一个
R4(config)#ipas-pathaccess-list1permit[1-3]00$
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示允许接收起源AS为100或200或300的路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.30300200100i
*>2.2.2.2/3234.1.1.30300200i
*>3.3.3.3/3234.1.1.300300i
[^1-3]中括号中的^符号表示反转字符的意思
R4(config)#ipas-pathaccess-list1permit[^04-9]00
R4(config)#routerbgp400
R4(config-router)#neighbor34.1.1.3filter-list1in
表示允许接收经过除了AS0,AS400,AS500,AS600,AS700,AS800,AS900以外的所有路由
R4#showipbgp
NetworkNextHopMetricLocPrfWeightPath
*>1.1.1.1/3234.1.1.30300200100i
*>2.2.2.2/3234.1.1.30300200i
*>3.3.3.3/3234.1.1.300300i
{12} 表示使用as-path选项聚合路由,从as1和as2来的路由形成聚合
(65530) 表示与对等体形式联盟,该对等体在as65530
1 ^254_[0-9]*_253$ 表示起源于AS253,直连相邻AS为254,中间有一个任意AS
2 ^254_[0-9_]*_253$ 表示起源于AS253,直连相邻AS为254,中间包括多个任意AS
3 ^254_[0-9]?
_253$ 表示起源于AS253,直连相邻AS为254,中间包括一个AS,{AS0-AS9或中间没有AS}
4 ^254_[0-9]+_253$ 表示起源于AS253,直连相邻AS为254,相对于1来说,其中间必须存在一个AS,而1可以只有AS254,AS253
5 ^254_[0-9_]+253$ 表示起源于AS253,直连相邻AS为254,相对于2来说,其中间必须还经过一个AS或多个AS,而2可以只经过AS254,AS253
BGP的前缀告警门限
作用就是当路由器接收到了设置的前缀上限的时候,那么就应该停止接收前缀,并且发出告警等一系列的动作,是让邻居down还是其他动作。
R1(config-router)#neighbor12.1.1.2maximum-prefix100075restart1
表示接收邻居12.1.1.2的路由条目超过了1000*75%=750条,即751条时发送告警消息,如果超过了1000条,即1001条则在1分钟后重置bgp连接。
R1(config-router)#neighbor12.1.1.2maximum-prefix100075warning-only
表示即使接收邻居12.1.1.2的路由条目超过了1000条,也只发送告警消息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CCNP BGP正则表达式 BGP 正则 表达式
![提示](https://static.bdocx.com/images/bang_tan.gif)