BGP的Community属性又叫做“团队属性”,它属于“可选可传递”的属性。在BGP的路径属性中,它不是用于路径选择,而是用于路由过滤的属性。BGP Community等于是给路由条目加上一个标记(TAG),对方BGP设备收到这条带Community的路由后,会根据策略决定是否接收这条路由。可以说,BGP Community是专门用于BGP的Route-TAG。
虽然用前缀列表和Route-map就已经可以配置BGP的路由过滤了,但是使用BGP Community能够实现更加灵活,需求也更加复杂的路由过滤。
2.1 BGP Community的分类:
预定义的Community(也叫做“众所周知的Community”)能够被所有的BGP路由器识别,它必须采用固定的格式和参数。
AS 64811收到来自AS 64810的公网路由,发现有no-export属性,就不再把它传递给AS 64880了。
AS 64811收到来自AS 64880的公网路由,发现有no-export属性,就不再把它传递给AS 64810了。
no-export属性需要将路由传递一跳以后才会生效。
体现在配置命令上,一级骨干A网AS 64810上针对二级骨干AS 64811是这样配置的:
自定义的Community也叫“私有Community”,就是用户给路由打上的一个“标记”。
私有Community的类型是十进制数字,默认长度是32bit。一般遵循的私有Community的格式为AS:nn格式,即16bit的AS号码(0–65535)加上16bit(0–65535)的任意整数。Cisco设备显示私有Community模式不是AS:nn格式,必须要在全局模式下输入ip BGP-Community New-Format命令才能让私有Community显示为AS:nn格式。
我们可以用Cisco模拟器,给大家做一个简单的实验来理解这个自定义的Community
使用物理接口作为BGP更新源,让R1、R2、R3之间建立eBGP邻居
在R1、R2、R3上重分发直连路由,让它们都能收到对方的Loopback接口地址。
以私有Community的设置方式。在R3上将10.3.3.3/32设置私有Community,属性值是300:3。在R2上过滤掉带有300:3标记的路由。
在R3上让10.3.3.3/32携带Community属性的配置方式:
要让私有Community属性显示为AS:nn的格式,要在R3和R2的全局模式下输入一条命令:
ip bgp-community new-format
如果你不改私有Community的显示格式,是不会影响到Community的过滤效果的,但它不便于记忆和查看,所以还是建议大家修改私有Community的显示格式。
所以,自定义Community和预定义Community不同的地方就在于:预定义Community发送给对方后,Community的过滤功能会立刻生效;而自定义Community需要在接收设备上配置Community-List来针对Community属性进行过滤。
如果要在R2上拒绝带有300:3标记的路由,配置的方式是这样的