BGP的正则表达式一般用在as-path中,常用的如下:
.(点):表示匹配任意一个字符,包括空格。
*:表示匹配零个或多个模式的出现。即前一个字符出现0次或多次。
+:表示匹配一个或多个模式的出现。即前一个字符出现1次或多次。
?:表示匹配零个或一个模式的出现。即前一个字符出现0次或一次。
^:表示匹配字符串的开始。
$:表示匹配字符串的结束。
_(下划线):匹配逗号、左大括号、右大括号、左小括号、右小括号、字符串的开始、字符串的结束或空格.
[]:匹配中括号中的任意字符之一。如[AB],则表示匹配A或B
|:匹配其中之一。如A|B,则表示匹配A或B。
-:表示的是范围。如[1-3],则表示匹配的是1、2、3中的单个字符。
有的时候,我们需要根据需求去过滤某些从其他AS学习来的BGP前缀,不传递到自己的peer。例如如下如:AS4上不需要学习AS1和AS12学习来的1.1.1.1/24、2.2.2.2/24和10.1.1.0/24
我们可以在R3上看出,邻居建立完成。
R3#sho ip b summ
BGP router identifier 3.3.3.3, local AS number 3
BGP table version is 6, main routing table version 6
5 network entries using 585 bytes of memory
5 path entries using 260 bytes of memory
5/4 BGP path/bestpath attribute entries using 620 bytes of memory
3 BGP AS-PATH entries using 72 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1537 total bytes of memory
BGP activity 5/0 prefixes, 5/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
13.1.1.1 4 1 19 22 6 0 0 00:14:13 2
23.1.1.2 4 12 18 22 6 0 0 00:14:10 1
34.1.1.4 4 4 18 18 6 0 0 00:14:16 1
且在R3上可以看到从AS1和AS12学习来的BGP前缀。
R3#sho ip bgp