为何团体属性
团队属性也是BGP路由属性的一种,利用团队属性可以将路由策略应用于一组路由。大家可以回忆一下,我们用LP、MED、AS_PATH属性来解决BGP路由的各种问题的时候,无一例外都要用到路由策略,而路由策略很多都是基于前缀来进行处理的。当需要处理路由特别多的时候,我们的配置和维护工作量就会大幅度增加,在大型网络中,这种配置和维护的成本是难以接受的。所以我们可以对需要做同一策略的路由标识一个相同的团队属性,这样就可以基于团队属性来对路由实施策略了。
团队属性也是BGP路由属性的一种,利用团队属性可以将路由策略应用于一组路由。大家可以回忆一下,我们用LP、MED、AS_PATH属性来解决BGP路由的各种问题的时候,无一例外都要用到路由策略,而路由策略很多都是基于前缀来进行处理的。当需要处理路由特别多的时候,我们的配置和维护工作量就会大幅度增加,在大型网络中,这种配置和维护的成本是难以接受的。所以我们可以对需要做同一策略的路由标识一个相同的团队属性,这样就可以基于团队属性来对路由实施策略了。
团体属性的应用举例
这里我们要求R3发给R4的少林路由均打上LP属性值100,而发给R4的武当路由均打上LP属性值200。如何通过通过团队属性来实现这个目的呢?
一般的做法是,我们先要求R1通过路由策略,将发给R3的少林路由打上团队属性100:1。而发给R3的武当路由打上团队属性200:1。
注意:团队属性的团体号取值有两种形式:
1:整数形式,取值范围是0~4294967295
2:AA:NN形式,AA和NN的取值范围均为0~65535
我们要求R2也同样在将路由发给R3时打上团队属性。这样,我们在R3上就可以通过路由策略,将携带团队属性100:1的路由打上LP属性值100,将携带团队属性200:1的路由打上LP属性值200,这样配置和管理的工作量就小了很多。
R1的关键配置:
#
bgp 1
peer 11.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
network 1.1.1.0 255.255.255.0
network 2.2.2.0 255.255.255.0
peer 11.1.1.2 enable
peer 11.1.1.2 route-policy R1 export /对R3出方向使用路由策略R1
peer 11.1.1.2 advertise-community /注意这个必配,对R3发送路由时携带团队属性,缺省情况下,BGP不将团队属性发送给任何对等体。
#
route-policy R1 permit node 5 /配置路由策略,所有匹配前缀列表shaolin的路由打上团队属性100:1
if-match ip-prefix shaolin
apply community 100:1
#
route-policy R1 permit node 10 /配置路由策略,所有匹配前缀列表wudang的路由打上团队属性200:1
if-match ip-prefix wudang
apply community 200:1
#
ip ip-prefix shaolin index 10 permit 1.1.1.0 24 /前缀列表shaolin匹配前缀1.1.1.0/24
ip ip-prefix wudang index 10 permit 2.2.2.0 24 /前缀列表wudang匹配前缀1.1.1.0/24
R2的关键配置:
#
bgp 2
peer 12.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
network 3.3.3.0 255.255.255.0
network 4.4.4.0 255.255.255.0
peer 12.1.1.2 enable
peer 12.1.1.2 route-policy R2 export
peer 12.1.1.2 advertise-community
#
route-policy R2 permit node 5
if-match ip-prefix shaolin
apply community 100:1
#
route-policy R2 permit node 10
if-match ip-prefix wudang
apply community 200:1
#
ip ip-prefix shaolin index 10 permit 3.3.3.0 24
ip ip-prefix wudang index 10 permit 4.4.4.0 24
#
R3的关键配置:
#
bgp 100
peer 11.1.1.1 as-number 1
peer 12.1.1.1 as-number 2
peer 13.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
peer 11.1.1.1 enable
peer 12.1.1.1 enable
peer 13.1.1.2 enable
peer 13.1.1.2 route-policy R3 export /对R3出方向实施路由策略R3
peer 13.1.1.2 next-hop-local /这条必配,否则R3上BGP路由不生效
#
route-policy R3 permit node 5 /配置路由策略R3,所有匹配团队属性过滤器1的路由打上LP属性值100
if-match community-filter 1
apply local-preference 100
#
route-policy R3 permit node 10 /配置路由策略R3,所有匹配团队属性过滤器2的路由打上LP属性值200
if-match community-filter 2
apply local-preference 200
#
ip community-filter 1 permit 100:1 /配置团队属性过滤器1,允许团体属性100:1
ip community-filter 2 permit 200:1 /配置团队属性过滤器2,允许团体属性200:1
配置完成后,我们在R3上通过命令display bgp routing-table community 100:1和命令display bgp routing-table community 200:1查看团队属性100:1和200:1对应的BGP路由。
除了可以为路由配置团队属性值外,还能指定路由属于一些众所周知(Well-known)的团队。
其它的团体属性
下面我们简单介绍一下几种众所周知的团队属性::
1:Internet:设备收到携带该团队属性的路由可以将之发送给任何对等体,缺省情况下任何路由都属于该团体。
2:No_Advertise:设备收到携带该团队属性的路由后,不向任何对等体发送该路由。
3:No_Export:设备收到携带该团队属性的路由后,不向AS外(EBGP对等体)发送该路由。
4:No_Export_Subconfed:设备收到携带该团队属性的路由后,只能在AS内传递,并且如果配置BGP联盟,不向其他子AS发送该路由。
下面以No_Export说明一下,其他周知团队属性类似。
假设上例中,AS1不希望AS2能够访问本AS中的少林网段和武当网段,这时就可以利用No_Export来实现。先看一下R2的BGP路由表:
这时,R2上是有AS1的路由的。我们在R1上修改如下配置:
#
route-policy R1 permit node 5
if-match ip-prefix shaolin
apply community 100:1 no-export
#
route-policy R1 permit node 10
if-match ip-prefix wudang
apply community 200:1 no-export
#
R2上已经没有AS1的路由。