1.1概述
学习边界网关协议BGP的关键在于如何理解和应用协议的“属性”,因此,本期文章将向小伙伴总结分享BGP的第七个属性——团体属性(Community)。
1.2BGP组网案例-团体属性(Community)
1.2.1组网拓扑图
组网拓扑图和地址规划如下图所示。 备注:模拟器采用HCL 5.5.0
1.2.2组网设备基础配置
组网设备基础配置主要涉及设备命名、接口IP地址和OSPF相关配置。
#SW_1设备基础配置
[H3C]sysname SW_1
[SW_1]interface LoopBack0
[SW_1-LoopBack0] ip address 10.10.0.1 255.255.255.255
[SW_1-LoopBack0]interface LoopBack1
[SW_1-LoopBack1] ip address 172.16.10.1 255.255.255.255
[SW_1-LoopBack1]quit
[SW_1]interface LoopBack2
[SW_1-LoopBack2] ip address 192.168.10.1 255.255.255.255
[SW_1-LoopBack2]quit
[SW_1]interface GigabitEthernet1/0/3
[SW_1-GigabitEthernet1/0/3] port link-mode route
[SW_1-GigabitEthernet1/0/3] ip address 10.10.13.1 255.255.255.252
[SW_1-GigabitEthernet1/0/3]quit
[SW_1]interface GigabitEthernet1/0/4
[SW_1-GigabitEthernet1/0/4] port link-mode route
[SW_1-GigabitEthernet1/0/4] ip address 10.10.14.1 255.255.255.252
[SW_1-GigabitEthernet1/0/4]quit
[SW_1]#
[SW_1]ip ttl-expires enable
[SW_1]ip unreachables enable
[SW_1]#
#SW_2设备基础配置
[H3C]sysname SW_2
[SW_2]interface LoopBack0
[SW_2-LoopBack0] ip address 10.20.0.1 255.255.255.255
[SW_2-LoopBack0]quit
[SW_2]interface LoopBack1
[SW_2-LoopBack1] ip address 172.16.20.1 255.255.255.255
[SW_2-LoopBack1]quit
[SW_2]interface LoopBack2
[SW_2-LoopBack2] ip address 192.168.20.1 255.255.255.255
[SW_2-LoopBack2]quit
[SW_2]
[SW_2]interface GigabitEthernet1/0/3
[SW_2-GigabitEthernet1/0/3] port link-mode route
[SW_2-GigabitEthernet1/0/3] ip address 10.20.23.1 255.255.255.252
[SW_2-GigabitEthernet1/0/3]quit
[SW_2]interface GigabitEthernet1/0/4
[SW_2-GigabitEthernet1/0/4] port link-mode route
[SW_2-GigabitEthernet1/0/4] ip address 10.20.24.1 255.255.255.252
[SW_2-GigabitEthernet1/0/4]quit
[SW_2]ip ttl-expires enable
[SW_2]ip unreachables enable
[SW_2]#
#SW_3设备基础配置
[H3C]sysname SW_3
[SW_3]interface LoopBack0
[SW_3-LoopBack0]ip address 10.30.0.3 255.255.255.255
[SW_3-LoopBack0]quit
[SW_3]interface GigabitEthernet1/0/3
[SW_3-GigabitEthernet1/0/3] port link-mode route
[SW_3-GigabitEthernet1/0/3] ip address 10.10.13.2 255.255.255.252
[SW_3-GigabitEthernet1/0/3]quit
[SW_3]interface GigabitEthernet1/0/23
[SW_3-GigabitEthernet1/0/23] port link-mode route
[SW_3-GigabitEthernet1/0/23] ip address 10.20.23.2 255.255.255.252
[SW_3-GigabitEthernet1/0/23]quit
[SW_3]#
[SW_3]interface GigabitEthernet1/0/5
[SW_3-GigabitEthernet1/0/5] port link-mode route
[SW_3-GigabitEthernet1/0/5] ip address 10.30.35.1 255.255.255.252
[SW_3-GigabitEthernet1/0/5]quit
[SW_3]ip ttl-expires enable
[SW_3]ip unreachables enable
[SW_3]#
#SW_4设备基础配置
[H3C]sysname SW_4
[SW_4]interface LoopBack0
[SW_4-LoopBack0]ip address 10.30.0.4 255.255.255.255
[SW_4-LoopBack0]quit
[SW_4]interface GigabitEthernet1/0/4
[SW_4-GigabitEthernet1/0/4] port link-mode route
[SW_4-GigabitEthernet1/0/4] ip address 10.10.14.2 255.255.255.252
[SW_4-GigabitEthernet1/0/4]quit
[SW_4]interface GigabitEthernet1/0/24
[SW_4-GigabitEthernet1/0/24] port link-mode route
[SW_4-GigabitEthernet1/0/24] ip address 10.20.24.2 255.255.255.252
[SW_4-GigabitEthernet1/0/24]quit
[SW_4]interface GigabitEthernet1/0/5
[SW_4-GigabitEthernet1/0/5] port link-mode route
[SW_4-GigabitEthernet1/0/5] ip address 10.30.45.1 255.255.255.252
[SW_4-GigabitEthernet1/0/5]quit
[SW_4]ip ttl-expires enable
[SW_4]ip unreachables enable
[SW_4]#
#SW_5设备基础配置
[H3C]sysname SW_5
[SW_5]interface LoopBack0
[SW_5-LoopBack0] ip address 10.30.0.5 255.255.255.255
[SW_5-LoopBack0]interface LoopBack1
[SW_5-LoopBack1] ip address 192.168.50.1 255.255.255.255
[SW_5-LoopBack1]quit
[SW_5]interface GigabitEthernet1/0/3
[SW_5-GigabitEthernet1/0/3] port link-mode route
[SW_5-GigabitEthernet1/0/3] ip address 10.30.35.2 255.255.255.252
[SW_5-GigabitEthernet1/0/3]quit
[SW_5]interface GigabitEthernet1/0/4
[SW_5-GigabitEthernet1/0/4] port link-mode route
[SW_5-GigabitEthernet1/0/4] ip address 10.30.45.2 255.255.255.252
[SW_5-GigabitEthernet1/0/4]quit
[SW_5]ip ttl-expires enable
[SW_5]ip unreachables enable
[SW_5]#
1.2.3组网设备BGP配置
#SW_1设备BGP配置
[SW_1]bgp 10
[SW_1-bgp-default] router-id 10.10.0.1
[SW_1-bgp-default] peer 10.10.13.2 as-number 30
[SW_1-bgp-default] peer 10.10.14.2 as-number 30
[SW_1-bgp-default] #
[SW_1-bgp-default] address-family ipv4 unicast
[SW_1-bgp-default-ipv4] network 172.16.10.1 255.255.255.255
[SW_1-bgp-default-ipv4] network 192.168.10.1 255.255.255.255
[SW_1-bgp-default-ipv4] peer 10.10.14.2 enable
[SW_1-bgp-default-ipv4] peer 10.10.13.2 enable
[SW_1-bgp-default-ipv4]quit
[SW_1-bgp-default]quit
[SW_1]#
#SW_2设备BGP配置
[SW_2]bgp 20
[SW_2-bgp-default] router-id 10.20.0.1
[SW_2-bgp-default] peer 10.20.23.2 as-number 30
[SW_2-bgp-default] peer 10.20.24.2 as-number 30
[SW_2-bgp-default] #
[SW_2-bgp-default] address-family ipv4 unicast
[SW_2-bgp-default-ipv4] network 172.16.20.1 255.255.255.255
[SW_2-bgp-default-ipv4] network 192.168.20.1 255.255.255.255
[SW_2-bgp-default-ipv4] peer 10.20.24.2 enable
[SW_2-bgp-default-ipv4] peer 10.20.23.2 enable
[SW_2-bgp-default-ipv4]quit
[SW_2-bgp-default]quit
[SW_2]#
#SW_3设备BGP配置
[SW_3]bgp 30
[SW_3-bgp-default] router-id 10.30.0.3
[SW_3-bgp-default] peer 10.10.13.1 as-number 10
[SW_3-bgp-default] peer 10.20.23.1 as-number 20
[SW_3-bgp-default] peer 10.30.35.2 as-number 30
[SW_3-bgp-default] #
[SW_3-bgp-default] address-family ipv4 unicast
[SW_3-bgp-default-ipv4] peer 10.10.13.1 enable
[SW_3-bgp-default-ipv4] peer 10.20.23.1 enable
[SW_3-bgp-default-ipv4] peer 10.30.35.2 enable
[SW_3-bgp-default-ipv4]peer 10.30.35.2 next-hop-local
[SW_3-bgp-default-ipv4]quit
[SW_3-bgp-default]quit
[SW_3]#
#SW_4设备BGP配置
[SW_4]bgp 30
[SW_4-bgp-default] router-id 10.30.0.4
[SW_4-bgp-default] peer 10.10.14.1 as-number 10
[SW_4-bgp-default] peer 10.20.24.1 as-number 20
[SW_4-bgp-default] peer 10.30.45.2 as-number 30
[SW_4-bgp-default] #
[SW_4-bgp-default] address-family ipv4 unicast
[SW_4-bgp-default-ipv4] peer 10.10.14.1 enable
[SW_4-bgp-default-ipv4] peer 10.20.24.1 enable
[SW_4-bgp-default-ipv4] peer 10.30.45.2 enable
[SW_4-bgp-default-ipv4]peer 10.30.45.2 next-hop-local
[SW_4-bgp-default-ipv4]quit
[SW_4-bgp-default]quit
[SW_4]#
#SW_5设备BGP配置
[SW_5]bgp 30
[SW_5-bgp-default] router-id 10.30.0.5
[SW_5-bgp-default] peer 10.30.35.1 as-number 30
[SW_5-bgp-default] peer 10.30.45.1 as-number 30
[SW_5-bgp-default] #
[SW_5-bgp-default] address-family ipv4 unicast
[SW_5-bgp-default-ipv4] network 192.168.50.1 255.255.255.255
[SW_5-bgp-default-ipv4] peer 10.30.35.1 enable
[SW_5-bgp-default-ipv4] peer 10.30.45.1 enable
[SW_5-bgp-default-ipv4]quit
[SW_5-bgp-default]quit
[SW_5]#
1.3查看SW_5设备BGP路由表-配置团体属性前
从SW_5设备BGP路由表可知:至目标172.16.10.1/32、172.16.20.1/32、192.168.10.1/32和192.168.20.1/32的最优路径,它的下一跳都是10.30.35.1,这是为何呢?
依据BGP的路由优选规则,在其它条件相同的情况下(如本地优先级都是100),SW_5设备最终根据“Router ID”的数值大小(数值小者优选)选择出最优路由。
10.30.35.1——对应SW_3设备,Router ID是10.30.0.3;
10.30.45.1——对应SW_4设备,Router ID是10.30.0.4。
1.4调试SW_1、SW_2、SW_3和SW_4设备配置
1.4.1SW_1设备-配置团体属性
目的:SW_1设备向SW_3和SW_4发送BGP路由,对192.168.10.1\32的路由标识团体属性号192:192, 对172.16.10.1\32的路由标识团体属性号172:172
#定义地址前缀列表Com10_192
[SW_1]ip prefix-list Com10_192 index 10 permit 192.168.10.1 32
#定义地址前缀列表Com10_172
[SW_1]ip prefix-list Com10_172 index 10 permit 172.16.10.1 32
#定义路由策略 RP_Com10节点5,匹配Com10_192地址前缀列表的路由,赋予团体属性号192:192;
[SW_1]route-policy RP_Com10 permit node 5
[SW_1-route-policy-RP_Com10-5]if-match ip address prefix-list Com10_192
[SW_1-route-policy-RP_Com10-5]apply community 192:192
[SW_1-route-policy-RP_Com10-5]quit
#定义路由策略 RP_Com10节点10,匹配Com10_172地址前缀列表的路由,赋予团体属性号172:172
[SW_1]route-policy RP_Com10 permit node 10
[SW_1-route-policy-RP_Com10-10]if-match ip address prefix-list Com10_172
[SW_1-route-policy-RP_Com10-10]apply community 172:172
[SW_1-route-policy-RP_Com10-10]quit
#SW_1设备BGP相关配置
[SW_1]bgp 10
[SW_1-bgp-default] address-family ipv4 unicast
#BGP对等体调用路由策略RP_Com10,方向是export
[SW_1-bgp-default-ipv4] peer 10.10.13.2 route-policy RP_Com10 export
#配置向对等体发布团体属性,缺省情况下,BGP不会将团体属性发送给任何对等体。
[SW_1-bgp-default-ipv4] peer 10.10.13.2 advertise-community
[SW_1-bgp-default-ipv4]peer 10.10.14.2 route-policy RP_Com10 export
[SW_1-bgp-default-ipv4] peer 10.10.14.2 advertise-community
[SW_1-bgp-default-ipv4]quit
[SW_1-bgp-default]quit
[SW_1]
1.4.2SW_2设备-配置团体属性
目的:SW_2设备向SW_3和SW_4发送BGP路由,对192.168.20.1\32的路由标识团体属性号192:192, 对172.16.20.1\32的路由标识团体属性号172:172。
#定义地址前缀列表Com20_192
[SW_2]ip prefix-list Com20_192 index 10 permit 192.168.20.1 32
#定义地址前缀列表Com20_172
[SW_2]ip prefix-list Com20_172 index 10 permit 172.16.20.1 32
#定义路由策略 RP_Com20节点5,匹配Com20_192地址前缀列表的路由,赋予团体属性号192:192;
[SW_2]route-policy RP_Com20 permit node 5
[SW_2-route-policy-RP_Com20-5]if-match ip address prefix-list Com20_192
[SW_2-route-policy-RP_Com20-5] apply community 192:192
[SW_2-route-policy-RP_Com20-5]quit
#定义路由策略 RP_Com20节点10,匹配Com20_172地址前缀列表的路由,赋予团体属性号172:172
[SW_2]route-policy RP_Com20 permit node 10
[SW_2-route-policy-RP_Com20-10]if-match ip address prefix-list Com20_172
[SW_2-route-policy-RP_Com20-10] apply community 172:172
[SW_2-route-policy-RP_Com20-10]quit
#SW_2设备BGP相关配置
[SW_2]bgp 20
[SW_2-bgp-default] address-family ipv4 unicast
[SW_2-bgp-default-ipv4]peer 10.20.23.2 route-policy RP_Com20 export
[SW_2-bgp-default-ipv4]peer 10.20.23.2 advertise-community
[SW_2-bgp-default-ipv4]peer 10.20.24.2 route-policy RP_Com20 export
[SW_2-bgp-default-ipv4]peer 10.20.24.2 advertise-community
[SW_2-bgp-default-ipv4]quit
[SW_2-bgp-default]quit
[SW_2]
1.4.3查看SW_3和SW_4设备收到团体属性的路由
SW_3和SW_4设备从SW_1设备接收172.16.10.1/32的路由被标识团体属性号172:172;
SW_3和SW_4设备从SW_1设备接收192.168.10.1/32的路由被标识团体属性号192:192;
SW_3和SW_4设备从SW_2设备接收172.16.20.1/32的路由被标识团体属性号172:172;
SW_3和SW_4设备从SW_2设备接收192.168.20.1/32的路由被标识团体属性号192:192。
SW_3和SW_4设备根据标识的团体属性号路由,配置路由策略,从而影响SW_5设备的BGP路由。
1.4.4SW_3设备-配置根据团体属性的路由策略
结合团体属性和本地优先级属性,在SW_3设备上配置路由策略;
#创建高级团体属性列表 Com_172,允许团体属性内容172:172的路由信息通过。
[SW_3]ip community-list advanced Com_172 permit 172:172
#创建高级团体属性列表 Com_192,允许团体属性内容192:192的路由信息通过。
[SW_3]ip community-list advanced Com_192 permit 192:192
#定义路由策略 R3节点5,匹配团体属性列表 Com_172的路由,赋予本地优先级值400
[SW_3]route-policy R3 permit node 5
[SW_3-route-policy-R3-5] if-match community name Com_172
[SW_3-route-policy-R3-5] apply local-preference 400
#定义路由策略 R3节点10,匹配团体属性列表 Com_192的路由,赋予本地优先级值200;
[SW_3-route-policy-R3-5]route-policy R3 permit node 10
[SW_3-route-policy-R3-10] if-match community name Com_192
[SW_3-route-policy-R3-10] apply local-preference 200
[SW_3-route-policy-R3-10]quit
[SW_3]
##SW_3设备BGP相关配置
[SW_3]bgp 30
[SW_3-bgp-default] address-family ipv4 unicast
#BGP对等体调用路由策略R3,方向是export
[SW_3-bgp-default-ipv4]peer 10.30.35.2 route-policy R3 export
[SW_3-bgp-default-ipv4]quit
[SW_3-bgp-default]quit
[SW_3]
1.4.5SW_4设备-配置根据团体属性的路由策略
[SW_4]ip community-list advanced Com_172 permit 172:172
[SW_4]ip community-list advanced Com_192 permit 192:192
[SW_4]route-policy R4 permit node 5
[SW_4-route-policy-R4-5] if-match community name Com_192
[SW_4-route-policy-R4-5] apply local-preference 400
[SW_4-route-policy-R4-5]#
[SW_4-route-policy-R4-5]route-policy R4 permit node 10
[SW_4-route-policy-R4-10] if-match community name Com_172
[SW_4-route-policy-R4-10] apply local-preference 200
[SW_4-route-policy-R4-10]bgp 30
[SW_4-bgp-default] address-family ipv4 unicast
[SW_4-bgp-default-ipv4] peer 10.30.45.2 route-policy R4 export
[SW_4-bgp-default-ipv4]quit
[SW_4-bgp-default]quit
[SW_4]#
1.5查看SW_5设备BGP路由表-配置团体属性后
从SW_5设备BGP路由表可知:
至目标172.16.10.1/32和172.16.20.1/32的最优路径,它们的下一跳都是10.30.35.1并且本地优先级属性值被赋予了400;而备选路径,它们的下一跳都是10.30.45.1并且本地优先级属性值被赋予了200。
至目标92.168.10.1/32和192.168.20.1/32的最优路径,它们的下一跳都是10.30.45.1并且本地优先级属性值被赋予了400;而备选路径,它们的下一跳都是10.30.35.1并且本地优先级属性值被赋予了200。
1.6公认团体属性
利用公认团体属性——No_Export,使SW_2无法获取SW_1设备的BGP路由。
实现方式:SW_1设备配置团体属性的路由策略RP_Com10时,再次应用“no-export”公认团体属性。
修改SW_1的路由策略RP_Com10之前,查看SW_2设备的BGP路由表可知:设备存在至SW_1设备的BGP路由;
修改SW_1的路由策略RP_Com10策略;
[SW_1]route-policy RP_Com10 permit node 5
[SW_1-route-policy-RP_Com10-5]apply community no-export
[SW_1-route-policy-RP_Com10-5]quit
[SW_1]route-policy RP_Com10 permit node 10
[SW_1-route-policy-RP_Com10-10]apply community no-export
[SW_1-route-policy-RP_Com10-10]quit
[SW_1]
修改SW_1的路由策略RP_Com10之后,查看SW_2设备的BGP路由表可知:设备无至SW_1设备的BGP路由;
1.7总结
团体属性是一种“可选过渡”类型的属性。
备注:可选过渡(Optional transitive):在AS之间具有可传递性的属性。BGP设备可以不支持此属性,但它仍然会接收这类属性,并传递给其他对等体。
团体属性(Community)用于标识具有相同特征的BGP路由,使路由策略的应用更加灵活,同时降低了维护管理的难度。
团体属性分为自定义团体属性和公认团体属性。
本文自定义的团体属性即是:
对192.168.10.1\32和192.168.20.1\32的路由标识团体属性号192:192;
对172.16.10.1\32和172.16.20.1\32的路由标识团体属性号172:172。
团队属性的团体属性号取值有两种形式:
1:整数形式,取值范围是0-4294967295
2:AA:NN形式,AA和NN的取值范围均为0-65535
公认团体属性除了No_Export还有其它三种,如下图所示;