交换机在江湖】路由策略专题-第5期-BGP路由策略(上)
交换机在江湖 官方号 2016-11-28 09:13:44 最新回复:2019-07-04 21:38:28
8
第5期 BGP路由策略(上) 在前几期的路由策略专题中,我们介绍路由策略的时候,大多是用某种IGP协议进行举例的。实际上,对于BGP路由的控制是路由策略的最大的用武之地,因为我们知道,BGP路由最大的特点就是灵活可控,这主要得益于BGP单独提供了不少工具用于配合执行路由策略。对BGP路由合理使用路由策略,可以做到对路由的精准控制,这也是很多网络工程师追求的一个目标。本期及下期内容内容,我们将会用较大的篇幅讨论BGP路由策略,希望能让大家有所收获。 1 ip-prefix在BGP中的应用在BGP中,ip-prefix除了可以配合filter-policy或者route-policy使用以外,还可以被peer命令直接调用,这也是BGP不同于其他路由协议的地方。通过peer命令调用的时候,仅对这一个对等体生效,因此BGP对路由的控制能做到更加精准。我们看下面这个举例。 图1 ip-prefix在BGP中的应用 需求描述 如图1所示,LSW1、LSW2、LSW3三个交换机分别属于不同的AS,他们之间维持EBGP邻居关系,在LSW1上通过BGP发布两条路由。现在LSW3上由于某种业务需求,要求禁止10.1.2.0/24这条路由,允许其他的路由。 配置方法 上述需求可以在LSW3的BGP进程中,通过peer命令调用ip-prefix进行过滤。 LSW3上的关键配置如下: # ip ip-prefix huawei index 10 deny 10.1.2.0 24 //定义ip-prefix,禁止目标路由 ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32 //允许其他所有路由 # bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast undo synchronization peer 192.168.23.1 enable peer 192.168.23.1 ip-prefix huawei import //在import方向关联ip-prefix。 # 当然,也可以在LSW2的export方向关联ip-prefix进行路由过滤,效果是一样的,大家可以自行试一下,这里不再赘述。 结果验证 完成上述配置后,查看LSW3的BGP路由表,可以看到,只有10.1.1.0/24这条路由,10.1.2.0/24已经被过滤掉。 [LSW3] display bgp routing-table
BGP Local router ID is 3.3.3.3 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 1 Network NextHop MED LocPrf PrefVal Path/Ogn
*> 10.1.1.0/24 192.168.23.1 0 200 100i 2 filter-policy在BGP中的应用filter-policy这个过滤工具我们前面曾经介绍过,我们知道filter-policy应用在距离矢量路由协议和链路状态路由协议的时候,过滤规则是不一样的,BGP属于一种距离矢量路由协议,具体过滤规则请参见路由策略专题第4期。 filter-policy在BGP中有两种应用方式: l 在BGP视图下对全局应用,对所有对等体生效。 l 通过peer命令应用,仅对这一个对等体生效。 相对于其他路由协议,BGP可以针对某个对等体单独应用filter-policy,这样也保证了BGP对路由的控制更加灵活、精确。下面我们来看一个具体的举例。 图2 filter-policy在BGP中的应用 需求描述 如图2所示,LSW1、LSW2、LSW3三个交换机分别属于不同的AS,他们之间维持EBGP邻居关系,在LSW1上通过BGP发布两条路由。现在LSW3上由于某种业务需求,要求禁止10.1.2.0/24这条路由,允许其他的路由。 配置方法 l 方法一:在BGP视图下对全局应用,对所有对等体生效。 LSW3的关键配置如下: # acl number 2001 //定义ACL,用于匹配目标路由 rule 5 deny source 10.1.2.0 0 //拒绝10.1.2.0这条路由 rule 10 permit source any //允许所有 # bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast undo synchronization filter-policy 2001 import //对所有对等体使用filter-policy过滤路由 peer 192.168.23.1 enable # l 方法二:通过peer命令应用,仅对这一个对等体生效。 LSW3的关键配置如下: # acl number 2001 //定义ACL,用于匹配目标路由 rule 5 deny source 10.1.2.0 0 //拒绝10.1.2.0这条路由 rule 10 permit source any //允许所有 # bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast undo synchronization peer 192.168.23.1 enable peer 192.168.23.1 filter-policy 2001 import //对单个对等体使用filter-policy # 3 route-policy在BGP中的应用route-policy在前面我们也详细介绍过了,在BGP中,route-policy同样是一个非常重要的工具,可以用来设置路由的属性,对路由进行过滤等。 我们再通过一个举例来看一下在BGP中调用route-policy的方法。 图3 route-policy在BGP中的应用 需求描述 如图2所示,LSW1和LSW2两个交换机分别属于不同的AS,他们之间维持EBGP邻居关系,在LSW1上通过BGP发布两条路由。现在由于某种业务需求,需要对LSW1发布的两条路由分别设置不通的团体属性值,10.1.1.0/24这条路由设置团体属性值为100:1,10.1.2.0/24这条路由设置团体属性值为100:2。 配置方法 l 方法一:通过network命令调用route-policy。 这种配置方法是在通过network命令发布路由的时候直接调用route-policy,设置相应的团体属性值以后再发布给对等体。 LSW1的关键配置如下: # ip ip-prefix 1 index 10 permit 10.1.1.0 24 //定义前缀列表,匹配目标路由 ip ip-prefix 2 index 10 permit 10.1.2.0 24 # route-policy huawei permit node 10 //为不同的路由设置不同的团体属性值 if-match ip-prefix 1 apply community 100:1 # route-policy huawei permit node 20 if-match ip-prefix 2 apply community 100:2 # route-policy huawei permit node 30 //允许剩余所有路由 # bgp 100 router-id 1.1.1.1 peer 192.168.12.2 as-number 200 # ipv4-family unicast undo synchronization network 10.1.1.0 255.255.255.0 route-policy huawei network 10.1.2.0 255.255.255.0 route-policy huawei peer 192.168.12.2 enable peer 192.168.12.2 advertise-community # l 方法二:通过peer命令调用route-policy。 这种配置方法,在通过network命令发布路由的时候不使用route-policy,但是通过peer命令针对对等体使用route-policy,这样路由在发布之前先通过route-policy的过滤,通过并设置相应的团体属性值以后再发布给对等体。 LSW1的关键配置如下: # ip ip-prefix 1 index 10 permit 10.1.1.0 24 //定义前缀列表,匹配目标路由 ip ip-prefix 2 index 10 permit 10.1.2.0 24 # route-policy huawei permit node 10 //为不同的路由设置不同的团体属性值 if-match ip-prefix 1 apply community 100:1 # route-policy huawei permit node 20 if-match ip-prefix 2 apply community 100:2 # route-policy huawei permit node 30 //允许剩余所有路由 # bgp 100 router-id 1.1.1.1 peer 192.168.12.2 as-number 200 # ipv4-family unicast undo synchronization network 10.1.1.0 255.255.255.0 network 10.1.2.0 255.255.255.0 peer 192.168.12.2 enable peer 192.168.12.2 route-policy huawei export peer 192.168.12.2 advertise-community # 结果验证 上述两种配置方法虽然不一样,但是对于这个场景,都可以实现10.1.1.0/24这条路由设置团体属性值为100:1,10.1.2.0/24这条路由设置团体属性值为100:2。完成配置后,在LSW2上查看一下BGP路由表,可以看到已实现上述需求。 [LSW2] display bgp routing-table community
BGP Local router ID is 2.2.2.2 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2 Network NextHop MED LocPrf PrefVal Community
*> 10.1.1.0/24 192.168.12.1 0 0 <100:1> *> 10.1.2.0/24 192.168.12.1 0 0 <100:2> 相对于其他路由协议,BGP中应用route-policy的命令会更多一点,更具体一点。常见的调用route-policy的命令有下面这些: l network l peer l import-route l dampening 上面给大家举例看了一下network和peer命令调用route-policy的方法,其他的调用命令我们不再一一举例。 对于BGP路由,更重要的是通过BGP的路由属性对路由进行控制,BGP具有丰富的路由属性可供使用,常用的有AS_Path过滤器和团体属性过滤器,这个我们将会在下一期路由策略专题中详细介绍,请大家持续关注。
|