一、Community
该属性为可选传递属性,是一种路由标记,用于简化路由策略的执行,可以将某些路由分配一个特定的Community属性值,之后就可以基于Community值而不是网络号/掩码信息来抓取路由并执行相应的策略了。
Community属性值长度为32个比特,也就是4个字节。可使用两种形式呈现,一是单个十进制整数格式,二是AA:NN格式,其中AA表示AS号,NN是自定义的编号。
为BGP路由设置Community属性值
R1配置:
ip ip-prefix 1 permit 1.1.1.0 24
route-policy RP permit node 10
if-match ip-prefix 1
apply community 100:1
route-policy RP permit node 20
bgp 100
peer 10.1.12.2 as-number 200
peer 10.1.12.2 route-policy RP export
peer 10.1.12.2 advertise-community //必须配置advertise-community,否则community属性值无法正常发送。
使用ip community-filter匹配community属性
(1)ip community-filter 1 permit 100:999
匹配community中包含100:999的路由。因此匹配住路由1.1.1.0/24及1.2.2.0/24。
(2)ip community-filter 2 permit 100:1 100:999
匹配community中包含100:1,并且包含100:999的路由,因此只匹配住1.1.1.0/24。
(3)ip community-filter 3 permit 100:1
ip community-filter 3 permit 100:2
匹配community中包含100:1,或者包含100:2的路由,因此匹配住路由1.1.1.0/24及1.2.2.0/24。
(4)ip community-filter 12 permit internet
默认所有路由都能被internet这个Community所匹配,因此这条community-filter同时匹配了路由1.1.1.0/24及1.2.2.0/24。
(5)ip community-filter 9 permit 100:999
route-policy RP permit node 10
if-match community 9 whole-match // 严格匹配
Whole-match关键字表示严格匹配,因此上面的例子要求严格匹配community属性为100:999的路由。
删除一个community值
ip community-filter 1 permit 100:2 // 用于匹配10.2.2.0/24路由
ip community-filter basic del permit 100:999 // 用于匹配要删除的Community值
route-policy RP permit node 10
if-match community-filter 1
apply comm-filter del delete // 用这条命令删除100:999
route-policy RP permit node 20
在R2上进行配置,使得它在向R3通告1.1.1.0/24及1.2.2.0/24路由时,将1.2.2.0/24路由的Community属性值中的100:999删除。
删除多个community值
community-filter 1 permit 100:2
ip community-filter basic del permit 100:999
ip community-filter basic del permit 100:2
route-policy RP permit node 10
if-match community-filter 1
apply comm-filter del delete