CCNP-32 BGP 2

CCNP-32 BGP 2


写在前面:BGP的属性是BGP学习中的重点,要深刻的理解BGP的每个属性和应用范围。

实验拓扑:
实验要求: R1 AS 100 中,配置 R1 R2 R3 成为 EBGP PEER R2 R4 R3 成为 IBGP PEER ,同样 R3 R2 R4 IBGP PEER ,且都在 AS 200 中, IGP OSPF
试验目的:掌握 BGP 用属性来决定路由路径和配置的方法。

试验配置:
R1
R1(config)#int f0/0
R1(config-if)#ip add 172.16.1.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#exit
R1(config)#int f1/0
R1(config-if)#ip add 172.16.4.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#exit
R1(config)#int loop0
R1(config-if)#ip add 1.1.1 .1 255.255.255.0
R1(config-if)#exit
R1(config)#int loop1
R1(config-if)#ip add 199.99.1.1 255.255.255.0
R1(config-if)#exit
R1(config)#int loop2
R1(config-if)#ip add 199.99.2.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#exit
R1(config)#router bgp 100
R1(config-router)#neighbor 172.16.1.2 remote-as 200
R1(config-router)#neighbor 172.16.4.2 remote-as 200
R1(config-router)#network 199.99.1.0
R1(config-router)#network 199.99.2.0
R1(config-router)#exit
 
R2
R2(config)#int f0/0
R2(config-if)#ip add 172.16.1.2 255.255.255.0
R2(config-if)#no shu
R2(config-if)#int f1/0
R2(config-if)#ip add 172.16.2.1 255.255.255.0
R2(config-if)#no shu
R2(config-if)#exit
R2(config)#int loop0
R2(config-if)#ip add 2.2.2 .2 255.255.255.0
R2(config-if)#exit
R2(config)#router ospf 100
R2(config-router)#router-id 2.2.2 .2
R2(config-router)#network 0.0.0 .0 0.0. 0.0 a 0
R2(config-router)#exit
R2(config)#router bgp 200
R2(config-router)#neighbor 172.16.1.1 remote-as 100
R2(config-router)#neighbor 4.4.4 .4 remote-as 200
R2(config-router)#neighbor 4.4.4 .4 update-source loopback 0
R2(config-router)#neighbor 4.4.4 .4 next-hop-self
R2(config-router)#network 172.16.2.0 mask 255.255.255.0
R2(config-router)#exit
 
R3
R3(config)#int f1/0
R3(config-if)#ip add 172.16.4.2 255.255.255.0
R3(config-if)#no shu
R3(config-if)#exit
R3(config)#int f0/0
R3(config-if)#ip add 172.16.3.2 255.255.255.0
R3(config-if)#no shu
R3(config-if)#exit
R3(config)#int loop0
R3(config-if)#ip add 3.3.3 .3 255.255.255.0
R3(config-if)#exit
R3(config)#router ospf 100
R3(config-router)#router-id 3.3.3 .3
R3(config-router)#network 0.0.0 .0 0.0. 0.0 a 0
R3(config-router)#exit
R3(config)#router bgp 200
R3(config-router)#neighbor 172.16.4.1 remote-as 100
R3(config-router)#neighbor 4.4.4 .4 remote-as 200
R3(config-router)#neighbor 4.4.4 .4 update-source loopback 0
R3(config-router)#neighbor 4.4.4 .4 next-hop-self
R3(config-router)#network 172.16.3.0 mask 255.255.255.0
R3(config-router)#exit
 
R4
R4(config)#int f0/0
R4(config-if)#ip add 172.16.3.2 255.255.255.0
R4(config-if)#exit
R4(config-if)#int f1/0
R4(config-if)#ip add 172.16.2.2 255.255.255.0
R4(config-if)#no shu
R4(config-if)#exit
R4(config-if)#int loop0
R4(config-if)#ip add 4.4.4 .4 255.255.255.0
R4(config-if)#exit
R4(config)#router ospf 100
R4(config-router)#router-id 4.4.4 .4
R4(config-router)#network 0.0.0 .0 0.0. 0.0 a 0
R4(config-router)#exit
R4(config)#router bgp 200
R4(config-router)#neighbor ccnp peer-group
R4(config-router)#neighbor ccnp remote-as 200
R4(config-router)#neighbor ccnp update-source loopback 0
R4(config-router)#neighbor 2.2.2 .2 peer-group ccnp
R4(config-router)#neighbor 3.3.3 .3 peer-group ccnp
R4(config-router)#exit
上面的配置是关于基本的 EBGP IBGP 的,这次试验中比上次多出的命令解释如下:
Neighbor x.x.x.x next-hop-self :是用来更改 BGP nest-hop 属性的,有关 next-hop 属性,我的下次试验会做详细讲解;
Neighbor <word> peer-group :配置 BGP 组,用来把基于相同的策略的 BGP 邻居放在一起,然后只需要对组进行配置就可以了,大大简化了配置的复杂度。
好了,然后我们在 R4 上观察 BGP 路由:
R4#show ip bgp
BGP table version is 13, local router ID is 4.4.4 .4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
r>i172.16.2.0/24    2.2.2 .2                  0    100      0 i
r>i172.16.3.0/24    3.3.3 .3                  0    100      0 i
*>i199.99.1.0       2.2.2 .2                  0    100      0 100 i
* i                 3.3.3 .3                  0    100      0 100 i
*>i199.99.2.0       2.2.2 .2                  0    100      0 100 i
* i                 3.3.3 .3                  0    100      0 100 i
注意用红颜色标记的部分,在 R4 上可以看到两条到达 199.99.1.0/24 199.99.2.0/24 的路径,但是这两条路径都选择了走上面,也就是从 R2 走,这样只有从 R2 走的路由会被写入路由表(我这里忘记 show ip route 了),这样的话 R3 就浪费了,我们可以配置 BGP 的本地优先级属性来使 199.99.2.0/24 R3 走,下面是配置过程:
R3(config)#access-list 1 permit 199.99.2.0 0.0.0 .255
R3(config)#route-map ccnp permit 1
R3(config-route-map)#match ip add 1
R3(config-route-map)#set local-preference 200
R3(config-route-map)#exit
R3(config)#route-map ccnp permit 2
R3(config-route-map)#set local-preference 100
R3(config-route-map)#exit
R3(config)#router bgp 200
R3(config-router)#neighbor 172.16.4.1 route-map ccnp in
R3(config-router)#exit
首先定义一条访问控制列表来匹配这条路由,然后配置策略路由 ccnp 序号 1 ,匹配 ACL 1 ,设置本地优先级为 200 BGP 默认本地优先级为 100 ),配置策略路由 ccnp 序号 2 ,匹配除 ACL 1 之外其他的路由,设置本地优先级为 100 ,最后在邻居 172.16.4.1 in 方向上应用。
注意:本地优先属性只在自治系统内部传输,不在自治系统外部传输。
配置好后我们使用 clear ip bgp * 来强制重起 BGP 。然后再到 R4 上观察 BGP 路由表:
R4(config)#do show ip bgp
BGP table version is 23, local router ID is 4.4.4 .4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
r>i172.16.2.0/24    2.2.2 .2                  0    100      0 i
r>i172.16.3.0/24    3.3.3 .3                  0    100      0 i
* i199.99.1.0       3.3.3 .3                  0    100      0 100 i
*>i                 2.2.2 .2                  0    100      0 100 i
*>i199.99.2.0       3.3.3 .3                  0    200      0 100 i
* i                 2.2.2 .2                  0    100      0 100 i
与第一次的输出对比一下可以看到, 199.99.2.0/24 的路径选择发生了变化,选择了从 R3 走的路由,这样的话写进路由表里的路由的下一跳就是 R3 了,不在是 R2 了,但是从 199.99.1.0/24 走的路由还是选择 R2 为下一跳。
补充:这里我们使用的命令是 neighbor 172.16.4.1 route-map ccnp in ,方向是 in ,还有一种方法是修改方向为 out ,不过相应的邻居也需要改变,例如: neighbor 172.16.3.1 route-map ccnp out 同样也可以达到上面的效果!

实验总结:掌握 BGP 本地优先属性在 BGP 路径选择中的作用和配置方法,会配置 BGP 组来管理一组有相同策略的 BGP 邻居。

你可能感兴趣的:(网络,Cisco,休闲,BGP,CCNP-32)