一、实验拓扑
二、实验需求
1、AS1中存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告;
AS3中存在两个环回,一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,最终要求这两个环回可以ping通;
2、整个AS2的IP地址为172.16.0.0/16,请合理划分;并且其内部配置OSPF协议
3、AS间的骨干链路IP地址随意定制;
4、使用BGP协议让整个网络所有设备的环回可以互相访问;
5、减少路由条目数量,避免环路出现;
三、实验思路
1、子网划分:
首先,根据实验要求,将172.16.0.0/16全部划分为掩码为24的子网
172.16.0.0/24
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
172.16.4.0/24
172.16.5.0/24
172.16.6.0/24
172.16.7.0/24
建邻环回:此拓扑中有8个路由,这8个路由器都需要建邻,用172.16.0.0/24进行划分
172.16.0.1/32------R1
172.16.0.2/32------R2
172.16.0.3/32------R3
172.16.0.4/32------R4
172.16.0.5/32------R5
172.16.0.6/32------R6
172.16.0.7/32------R7
172.16.0.8/32------R8
AS2的骨干链路,用172.16.1.0/24网段进行划分,因为每条链路只需要两个IP地址,所以为了节约IP地址,可给限制可用IP地址数量为2个,AS 2中有6条骨干链路,所以需要6个/30的网段。
子网划分如下:
172.16.1.0/30
172.16.1.4/30
172.16.1.8/30
172.16.1.12/30
172.16.1.16/30
172.16.1.20/30
业务环回:将剩余的子网划分给业务环回
172.16.3.0/24------R3
172.16.4.0/24------R4
172.16.5.0/24------R5
172.16.6.0/24------R6
172.16.7.0/24------R7
2、使用ospf配置通AS 2内部
3、配置BGP,建立EBGP、IBGP对等体关系,并修改一些属性,配置完成后,查看BGP邻居表,确保邻居都起来。
4、按题目要求宣告网段,查看BGP路由表的学习情况。
5、给两个固定环回搭建虚拟隧道。并在R1和R8上写个静态控制流量方向,实现192.168.1.0至192.168.2.0能通
6、检查实验要求是否达到,测试全网通。
7、减少路由条目数量,避免环路出现。
四、实验步骤
1、配置各设备的接口IP地址
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[R1-GigabitEthernet0/0/0]int l0
[R1-LoopBack0]ip add 172.16.0.1 32
[R1-LoopBack0]int l1
[R1-LoopBack1]ip add 192.168.1.1 24
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.1.1.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 172.16.1.1 30
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip add 172.16.1.21 30
[R2]int l1
[R2-LoopBack1]ip add 172.16.0.2 32
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 172.16.1.2 30
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 172.16.1.5 30
[R3-GigabitEthernet0/0/1]int l0
[R3-LoopBack0]ip add 172.16.0.3 24
[R3-LoopBack0]int l1
[R3-LoopBack1]ip add 172.16.3.1 24
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 172.16.1.6 30
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 172.16.1.9 30
[R4]int l0
[R4-LoopBack0]ip add 172.16.0.4 32
[R4-LoopBack0]int l1
[R4-LoopBack1]ip add 172.16.4.1 24
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 172.16.1.22 30
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip add 172.16.1.17 30
[R5]int l0
[R5-LoopBack0]ip add 172.16.0.5 32
[R5-LoopBack0]int l1
[R5-LoopBack1]ip add 172.16.5.1 24
[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip add 172.16.1.18 30
[R6-GigabitEthernet0/0/0]int g0/0/1
[R6-GigabitEthernet0/0/1]ip add 172.16.1.13 30
[R6-GigabitEthernet0/0/1]int l0
[R6-LoopBack0]ip add 172.16.0.6 32
[R6-LoopBack0]int l1
[R6-LoopBack1]ip add 172.16.6.1 24
[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip add 172.16.1.14 30
[R7-GigabitEthernet0/0/0]int g0/0/2
[R7-GigabitEthernet0/0/2]ip add 34.1.1.7 24
[R7-GigabitEthernet0/0/2]int l0
[R7-LoopBack0]ip add 172.16.0.7 32
[R7-LoopBack0]int l1
[R7-LoopBack1]ip add 172.16.7.1 24
[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ip add 34.1.1.8 24
[R8-GigabitEthernet0/0/0]int l0
[R8-LoopBack0]ip add 172.16.0.8 32
[R8-LoopBack0]int l1
[R8-LoopBack1]ip add 192.168.2.8 24
- 配置ospf协议,给R2至R7,,实现整个AS 2内部互通
宣告方法1:精确宣告
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net
[R2-ospf-1-area-0.0.0.0]network 172.16.1.1 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 172.16.1.21 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 172.16.0.2 0.0.0.0
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 172.16.1.2 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 172.16.1.5 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 172.16.0.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 172.16.3.1 0.0.0.0
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 172.16.1.6 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 172.16.1.9 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 172.16.0.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 172.16.4.1 0.0.0.0
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 172.16.1.22 0.0.0.0
[R5-ospf-1-area-0.0.0.0]network 172.16.1.17 0.0.0.0
[R5-ospf-1-area-0.0.0.0]network 172.16.0.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0]network 172.16.5.1 0.0.0.0
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 172.16.1.18 0.0.0.0
[R6-ospf-1-area-0.0.0.0]network 172.16.1.13 0.0.0.0
[R6-ospf-1-area-0.0.0.0]network 172.16.0.6 0.0.0.0
[R6-ospf-1-area-0.0.0.0]network 172.16.6.1 0.0.0.0
[R7]ospf 1 router-id 7.7.7.7
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]netw
[R7-ospf-1-area-0.0.0.0]network 172.16.1.14 0.0.0.0
[R7-ospf-1-area-0.0.0.0]network 172.16.1.10 0.0.0.0
[R7-ospf-1-area-0.0.0.0]network 172.16.0.7 0.0.0.0
[R7-ospf-1-area-0.0.0.0]network 172.16.7.1 0.0.0.0
宣告方法2:大网段宣告
[R2-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
[R3-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
[R4-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
[R5-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
[R6-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
[R7-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
查看R2-R7路由器的路由表,看表中是否学习到R2-R7的环回地址,这非常重要,关系到BGP的建邻。下图以R2和R5的路由表为例:
3、配置BGP协议
分析:由于AS 2建立BGP联盟,所以R2、R3、R4的BGP 运行在 AS 64512中,R4、R5、R6的BGP运行在AS 64513中,子AS之间通过R2和R5、R4和R7建立EBGP邻居来解决BGP 路由黑洞问题。
真实 AS 之间的EBGP邻居仍然使用真实AS编号,子AS之间的EBGP 邻居使用子AS编号。
在AS 2外部,R1和R2建立EBGP邻居,R7和R8建立EBGP邻居。
在AS 2内部,R2和R5上建立EBGP邻居,R4-R7上建立EBGP邻居。R2和R3、R3和R4、R5和R6、R6和R7之间建立IBGP邻居。
要求EBGP邻居使用直连接口建立邻居,IBGP 邻居使用环回口建立邻居。
分析:
R1和R2、R7和R8,建立EBGP邻居,要求EBGP邻居使用直连接口建立邻居,不用修改更新源,直接进入IPV4地址族,使能邻居即可。
IBGP邻居要求使用环回口建立,根据BGP邻居建立条件,需要修改IBGP邻居更新源为对应环回口。由于R2和R7既有EBGP邻居,又有IBGP邻居,为了使从EBGP邻居学习的路由传递至IBGP邻居时下一跳可达,需要修改IBGP邻居下一跳为本机
步骤1:在R1-R2上配置EBGP,建立并使能邻居关系
分析:R2上创建BGP进程运行在AS 64512中,联盟ID为2,R1和R2建立EBGP邻居,与R3/R4/R5建立IBGP邻居,联盟内邻居AS为AS 64512
[R1]bgp 1
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 12.1.1.2 as-number 2
[R1-bgp]ipv4-family unicast
[R1-bgp-af-ipv4]peer 12.1.1.2 enable
[R2]bgp 64512
[R2-bgp]confederation id 2
[R2-bgp]router-id 2.2.2.2
[R2-bgp]confederation peer-as 64513 //告知本地直连的其他小AS号,即自己的同盟
[R2-bgp]peer 12.1.1.1 as-number 1
步骤2:在R7-R8上配置EBGP,建立并使能邻居关系
[R7-bgp]router-id 7.7.7.7
[R7-bgp]confederation id 2
[R7-bgp]confederation peer-as 64512
[R7-bgp]peer 34.1.1.8 as-number 3
[R7-bgp]ipv4-family unicast
[R7-bgp-af-ipv4]peer 34.1.1.8 enable
[R8]bgp 3
[R8-bgp]router-id 8.8.8.8
[R8-bgp]peer 34.1.1.7 as-number 2
[R8-bgp]ipv4-family unicast
[R8-bgp-af-ipv4]peer 34.1.1.7 enable
步骤3:R2-R5上建立EBGP邻居
注意:R5虽然是R2的EBGP,但由于是联盟内的EBGP,所以仍然需要配置更改更新源及TTL值,因为默认EBGP之间的TTL值为1,但是由于环回发包,要经过两台路由器,每经过一个路由器TTL值减一。
[R2]bgp 64512
[R2-bgp]peer 172.16.0.5 as-number 64513
[R2-bgp]peer 172.16.0.0 connect-interface l
[R2-bgp]peer 172.16.0.5 connect-interface LoopBack 0
[R2-bgp]peer 172.16.0.5 ebgp-max-hop //更改TTL=255,默认是255
[R2-bgp]peer 172.16.0.5 next-hop-local //R2既有EBGP邻居,又有IBGP邻居,所以对IBGP邻居修改下一跳为本机,因为R5和R2上配置了BGP联盟,虽然建立EBGP邻居,但联盟的本质还是IBGP邻居
[R2-bgp]ipv4-family unicast
[R2-bgp-af-ipv4]peer 172.16.0.5 enable
[R5]bgp 64513
[R5-bgp]router-id 5.5.5.5
[R5-bgp]confederation id 2
[R5-bgp]confederation peer-as 64512
[R5-bgp]peer 172.16.0.2 as-number 64512
[R5-bgp]peer 172.16.0.2 connect-interface LoopBack 0
[R5-bgp]peer 172.16.0.2 ebgp-max-hop
[R5-bgp]peer 172.16.0.2 next-hop-local //R5既有EBGP邻居,又有IBGP邻居,所以对IBGP邻居修改下一跳为本机,因为R5和R2上配置了BGP联盟,虽然建立EBGP邻居,但联盟的本质还是IBGP邻居
[R5-bgp]ipv4-family unicast
[R5-bgp-af-ipv4]peer 172.16.0.2 enable
步骤4:R4-R7上建立EBGP邻居
注意:R7虽然是R4的EBGP,但由于是联盟内的EBGP,,所以仍然需要配置更改更新源及TTL值,因为默认EBGP之间的TTL值为1,但是由于环回发包,要经过两台路由器,每经过一个路由器TTL值减一。
[R4]bgp 64512
[R4-bgp]router-id 4.4.4.4
[R4-bgp]confederation id 2
[R4-bgp]confederation peer-as 64513
[R4-bgp]peer 172.16.0.7 as-number 64513
[R4-bgp]peer 172.16.0.7 connect-interface l0
[R4-bgp]peer 172.16.0.7 ebgp-max-hop
[R4-bgp]ipv4-family unicast
[R4-bgp-af-ipv4]peer 172.16.0.7 enable
[R7]bgp 64513
[R7-bgp]router-id 7.7.7.7
[R7-bgp]confederation id 2
[R7-bgp]confederation peer-as 64512
[R7-bgp]peer 172.16.0.4 as-number 64512
[R7-bgp]peer 172.16.0.4 connect-interface LoopBack 0
[R7-bgp]peer 172.16.0.4 ebgp-max-hop
[R7-bgp]ipv4-family unicast
[R7-bgp-af-ipv4]peer 172.16.0.4 enable
配置所有的IBGP
分析:R2和R3之间建立IBGP邻居。R3和R4之间建立IBGP邻居 R5和R6之间建立IBGP邻居。
在R2/R3/R4之间配置IBGP时,可将R3作为反射器。可防环
在R5/R6/R7之间配置IBGP时,可将R6作为反射器。可防环
步骤5:在R2/R3/R4之间配置IBGP时,可将R3作为反射器。:
- 配置R2/R3的IBGP
[R2-bgp]peer 172.16.0.3 as-number 64512
[R2-bgp]peer 172.16.0.3 connect-interface LoopBack 1
[R2-bgp]peer 172.16.0.3 next-hop-local //R2既有EBGP邻居,又有IBGP邻居,所以对IBGP邻居修改下一跳为本机
[R2-bgp]ipv4-family unicast
[R2-bgp-af-ipv4]peer 172.16.0.3 enable
[R3]bgp 64512
[R3-bgp]router-id 3.3.3.3
[R3-bgp]confederation id 2
[R3-bgp]peer 172.16.0.2 as-number 64512
[R3-bgp]peer 172.16.0.2 connect-interface LoopBack 0
[R3-bgp]ipv4-family unicast
[R3-bgp-af-ipv4]peer 172.16.0.2 enable
- 配置R3/R4的IBGP
[R3-bgp]peer 172.16.0.4 as-number 64512
[R3-bgp]peer 172.16.0.4 connect-interface LoopBack 0
[R3-bgp]ipv4-family unicast
[R3-bgp-af-ipv4]peer 172.16.0.4 enable
[R4-bgp]peer 172.16.0.3 as-number 64512
[R4-bgp]peer 172.16.0.3 connect-interface LoopBack 0
[R4-bgp]peer 172.16.0.3 next-hop-local
[R4-bgp]ipv4-family unicast
[R4-bgp-af-ipv4]peer 172.16.0.3 enabl
(3)在R3上配置为路由反射器
[R3-bgp]peer 172.16.0.2 reflect-client
[R3-bgp]peer 172.16.0.4 reflect-client
步骤六:在R5/R6/R7之间配置IBGP时,可将R6作为反射器。
(1)配置R5/R6的IBGP
[R5-bgp]peer 172.16.0.6 as-number 64513
[R5-bgp]peer 172.16.0.6 connect-interface LoopBack 0
[R5-bgp]peer 172.16.0.6 next-hop-local //R5既有EBGP邻居,又有IBGP邻居,所以对IBGP邻居修改下一跳为本机
[R5-bgp]ipv4-family unicast
[R5-bgp-af-ipv4]peer 172.16.0.6 enable
[R6]bgp 64513
[R6-bgp]router-id 6.6.6.6
[R6-bgp]confederation id 2
[R6-bgp]peer 172.16.0.5 as-number 64513
[R6-bgp]peer 172.16.0.5 connect-interface LoopBack 0
[R6-bgp]ipv4-family unicast
[R6-bgp-af-ipv4]peer 172.16.0.5 enable
(2)配置R6/R7的IBGP
[R6-bgp]peer 172.16.0.7 as-number 64513
[R6-bgp]peer 172.16.0.7 connect-interface LoopBack 0
[R6-bgp]ipv4-family unicast
[R6-bgp-af-ipv4]peer 172.16.0.7 enable
[R7-bgp]peer 172.16.0.6 as-number 64513
[R7-bgp]peer 172.16.0.6 connect-interface LoopBack 0
[R7-bgp]peer 172.16.0.6 next-hop-local
[R7-bgp]ipv4-family unicast
[R7-bgp-af-ipv4]peer 172.16.0.6 enable
(3)在R6上配置为路由反射器
[R6-bgp]peer 172.16.0.7 reflect-client
[R6-bgp]peer 172.16.0.5 reflect-client
查看邻居表,邻居是否起来,如果邻居没起来,即使后面宣告了网段,也不会全网通,所以这步很关键
4、BGP宣告网段
AS1中存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告;
AS3中存在两个环回,一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,最终要求这两个环回可以ping通;
针对上述情况需要做隧道,GRE或者MGRE都可以,在这里以GRE为例。其他没特殊要求的网段则正常宣告。
注意:宣告的方式多种多样,可先老老实实宣告,再后期做汇总防环;也可在宣告的时候,之间宣告大网段,一步做到汇总效果。
[R1-bgp-af-ipv4]network 172.16.0.1 32
[R2-bgp-af-ipv4]network 172.16.0.2 32
[R3-bgp-af-ipv4]network 172.16.0.3 32
[R3-bgp-af-ipv4]network 172.16.3.1 24
[R4-bgp-af-ipv4]network 172.16.0.4 32
[R4-bgp-af-ipv4]network 172.16.4.1 24
[R5-bgp-af-ipv4]network 172.16.0.5 32
[R5-bgp-af-ipv4]network 172.16.5.1 24
[R6-bgp-af-ipv4]network 172.16.0.6 32
[R6-bgp-af-ipv4]network 172.16.6.1 24
[R7-bgp-af-ipv4]network 172.16.0.7 32
[R7-bgp-af-ipv4]network 172.16.7.1 24
[R8-bgp-af-ipv4]network 172.16.0.8 32
测试:查看bgp路由表的学习情况。
5、做192.168.1.0/24到192.168.2.0/24之间的GRE,使两个网段互通。隧道的地址自选,本文中选了10.1.1.0/24
[R1]int Tunnel 0/0/0
[R1-Tunnel0/0/0]ip address 10.1.1.1 255.255.255.0
[R1-Tunnel0/0/0]tunnel-protocol gre
[R1-Tunnel0/0/0]source 172.16.0.1
[R1-Tunnel0/0/0]destination 172.16.0.8
[R8]int Tunnel 0/0/0
[R8-Tunnel0/0/0]ip address 10.1.1.2 255.255.255.0
[R8-Tunnel0/0/0] tunnel-protocol gre
[R8-Tunnel0/0/0] source 172.16.0.8
[R8-Tunnel0/0/0]destination 172.16.0.1
在R1和R8上写个静态控制流量方向
[R1]ip route-static 192.168.2.0 255.255.255.0 10.1.1.2
[R8]ip route-static 192.168.1.0 24 10.1.1.1
6、测试:全网通