bgp选路/聚合实验

在这里插入图片描述
本次实验涉及到的内容:OSPF、BGP选路、BGP路由聚合、路由策略
实验环境如图,需求如下:
1、AS200使用OSPF为底层路由协议,把R4上的loopback接口宣告进入ospf
2、AR1与AR2、AR1与AR3建立EBGP关系,AR2与AR4、AR3与AR4建稳定IBGP关系(使用lo0地址)。
3、在R4上宣告10.1.40.40路由进BGP,R2上宣告10.1.40.4路由进BGP,R3上仅引入10.1.40.4路由进BGP,在R1上观察BGP路由。
4、R1上能访问10.1.40.4与10.1.40.40路由。
5、R4访问100.100.100.100路径为R4-R3-R1,使用local-preference参数修改(注意来回路径)
6、在R2上修改med值,使AR1业务网段访问10.1.40.40路径为R1-R3-R4
7.在R1上聚合172.16.0.0网段路由,并抑制172.16.3.0该网段,其他明细发布给对等体。


需求1:1、AS200使用OSPF为底层路由协议,把R4上的loopback接口宣告进入ospf。

首先第一步,进行IP地址的配置,随后再进行OSPF的配置
R1:
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
interface LoopBack0
ip address 172.16.1.1 255.255.255.0
interface LoopBack1
ip address 172.16.0.1 255.255.255.0
interface LoopBack2
ip address 172.16.2.1 255.255.255.0
interface LoopBack3
ip address 172.16.3.1 255.255.255.0
interface LoopBack4
ip address 100.100.100.100 255.255.255.255
R2:
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.0.24.2 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.24.2 0.0.0.0

R3:
interface GigabitEthernet0/0/1
ip address 10.0.34.3 255.255.255.0
interface GigabitEthernet0/0/2
ip address 10.0.13.3 255.255.255.0
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.0.34.3 0.0.0.0

R4:
interface GigabitEthernet0/0/0
ip address 10.0.34.4 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.0.24.4 255.255.255.0
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
interface LoopBack1
ip address 10.1.40.4 255.255.255.255
interface LoopBack2
ip address 10.1.40.40 255.255.255.255
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 0.0.0.0 255.255.255.255
interface GigabitEthernet0/0/0
ip address 10.0.34.4 255.255.255.0
在这里插入图片描述

在R4使用display ospf peer命令可查看到与router id为2.2.2.2、3.3.3.3的ospf邻居信息,需求1完成。


需求2:AR1与AR2、AR1与AR3建立EBGP关系,AR2与AR4、AR3与AR4建稳定IBGP关系(使用lo0地址)。

R1:
bgp 100
peer 10.0.12.2 as-number 200
peer 10.0.13.3 as-number 200

R2:
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
peer 10.0.12.1 as-number 100

R3:
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0

R4:
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0

使用display bgp peer命令从R2、R3查看BGP邻居关系状态表:
在这里插入图片描述
在这里插入图片描述

可见R2、R3与其他BGP邻居均处于Established状态,需求2完成。


需求3:在R4上宣告10.1.40.40路由进BGP,R2上宣告10.1.40.4路由进BGP,R3上仅引入10.1.40.4路由进BGP,在R1上观察BGP路由。

由于在需求1 R4的配置中,已经将R4上所有的接口以及loopback接口的地址宣告进ospf,此时路由表里是有10.1.40.40/32以及10.1.40.4/32这两个地址的,所以可以在BGP内直接进行宣告:
R4:
[r4]bgp 200
[r4-bgp]network 10.1.40.40 32

R2:
[r2]bgp 200
[r2-bgp]network 10.1.40.4 32
关于R3,如果需要引入10.1.40.4,需要对OSPF 1的整个进程进行引入,为了过滤其他无关的路由,需要配置相应的路由策略
R3:
[r3]ip ip-prefix ip4 index 10 permit 10.1.40.4 32
[r3]route-policy rp4 permit node 10
[r3-route-policy]if-match ip-prefix ip4
[r3]bgp 200
[r3-bgp]import-route ospf 1 route-policy rp4
最后在R1查看BGP路由表:
在这里插入图片描述
可以看到10.1.40.4/32、10.1.40.40/32都分别从R2、R3传递给R1,但R1接收到的10.1.40.4/32的origin属性不一样,i表明BGP路由通过network命令注入,而R3是通过引入方式,所以传递过来的路由origin属性为?(Incomplete),优先级是比igp要低的。


需求4:R1上能访问10.1.40.4与10.1.40.40路由。

根据BGP的特性,BGP路由器在向IBGP邻居通告从EBGP学来的路由时,不改变该路由下一跳属性,我们先在R1把100.100.100.100宣告到bgp 100里,此时再查看R4的BGP路由表:
在这里插入图片描述
可以看到100.100.100.100/32是不可达的(*代表路由可达)。所以如果我们马上用R1 ping的话,R4无法回包。下一跳地址为10.0.13.1/10.0.12.1,还是R2/R3从R1学习过来的下一跳地址,此时可以在IBGP邻居(R2/R3)上修改nexthop属性,改为R2和R3自身:
[r2]bgp 200
[r2-bgp]peer 4.4.4.4 next-hop-local
[r3]bgp 200
[r3-bgp]peer 4.4.4.4 next-hop-local
修改后再进行查看:
在这里插入图片描述
可以看到此时路由已经可达,根据选路规则,其他条件一致的话,BGP优选router id小的路由器发布的路由,所以router id 2.2.2.2发布过来的路由为最优(>)
最后尝试连通性:
在这里插入图片描述
均能ping通,需求4完成。


需求5:R4访问100.100.100.100路径为R4-R3-R1,使用local-preference参数修改(注意来回路径)

先查看R4访问100.100.100.100的路径:
在这里插入图片描述
可判断出访问100.100.100.100/32路径为R4-R2-R1
但我们通过修改R3的local-preference属性,可以影响选路
[r3]ip ip-prefix ipp100 index 10 permit 100.100.100.100 32
通过ip prefix工具匹配感兴趣流
[r3]route-policy rp100 permit node 10
[r3-route-policy]if-match ip-prefix ipp100
[r3-route-policy]apply local-preference 101
[r3]route-policy rp100 permit node 20 (要开放其他流量)
[r3]bgp 200
[r3-bgp]peer 4.4.4.4 route-policy rp100 export
运用到策略工具router policy,并执行动作,将local-preference数值调整为101,数值默认为100,调得比原来大就OK了,最后带上策略通告给R4,方向是R3的出方向。
这时候再尝试:
在这里插入图片描述
可看出路径已变为R4-R3-R1,需求5完成。


需求6:R2上修改med值,使AR1业务网段访问10.1.40.40路径为R1-R3-R4

同样先来查看R1访问10.1.40.40的路径:
在这里插入图片描述
是经过R2走的,要改变路径的话,同样的我们需要借助route-policy工具修改med值:
[r2]ip ip-prefix med40 index 10 permit 10.1.40.40 32
还是通过ip prefix工具匹配感兴趣流
[r2]route-policy med40 permit node 10
[r2-route-policy]if-match ip-prefix med40
[r2-route-policy]apply cost 2
[r2]route-policy med40 permit node 20
[r2-bgp]peer 10.0.12.1 route-policy med40 export
通过route-policy将med修改为2,方向为r2的出方向通告给R1,再查看R1的bgp路由表:
在这里插入图片描述
再用tracert查看路径:
在这里插入图片描述
可看出路径已变为R1-R3-R4,需求6完成。


需求7:在R1上聚合172.16.0.0网段路由,并抑制172.16.3.0该网段,其他明细发布给对等体。

[r1]bgp 100
[r1-bgp]network 172.16.0.1 24
[r1-bgp]network 172.16.1.1 24
[r1-bgp]network 172.16.2.1 24
[r1-bgp]network 172.16.3.1 24
此时选择AS 200内的随意一台路由器查看路由表:
在这里插入图片描述
接下来进行聚合,也是需要使用ip prefix与route-policy工具:
[r1]ip ip-prefix yz3 index 10 permit 172.16.3.0 24
[r1]ip ip-prefix yz3 index 20 permit 172.16.3.0 24 greater-equal 32
抓取172.16.3.0整个网段为感兴趣流
[r1]route-policy yz3 permit node 10
[r1-route-policy]if-match ip-prefix yz3
[r1]bgp 100
[r1-bgp]aggregate 172.16.0.0 255.255.252.0 suppress-policy yz3
在bgp视图内配置手动聚合模式,发布聚合路由和通过路由策略被聚合的路由。因为有2(0010)有3(0011),所以子网掩码为22位。最后选择AS 200内的随意一台路由器查看路由表:
在这里插入图片描述 可以看到172.16.3.0网段被抑制,而抑制后的网段及其他明细网段发布给了EBGP对等体,本次实验结束~