实验拓扑:
实验要求:
如图为公司的现状,R5为公司总部的网关,R2和R4 分别是一号楼和二号楼的核心交换机,这里用路由器模拟,R1 和 R3 分别为一号楼和二号楼的分发层交换机,这里也是用路由器模拟,每一栋楼是一个普通 ospf 区域,核心交换机和网关之间是骨干区域。R6是公司的分公司网关,和总部之间启用ipv6的手工隧道互联,分公司内网启用ripng。
根据以下要求进行配置:
- 如图搭建好拓扑,配置好路由器的IPV6地址后测试直连PING通、
- PC(用路由器模拟)通过向网关请求获取IPV6地址。
- 依据上图,在总公司配置好 OSPFv3 协议,验证邻居建立,使得PC1和PC2可以ping通网关。
- 在分公司内部配置ripng,实现分公司PC3可以ping通分公司网关R6。
- 在R5和R6上采用gre隧道,并且在隧道口上建立ospfv3,使得两端的条目都传递到对方网络中。
- 确保总分部之间网络可达,在R6上做双向重发布。
- 因为R1,R3性能不足,尽量减少其路由条目。
实验步骤:
一、IP地址配置
首先按照地址规划配置公司内部的路由器的的IPV6地址和外网的IPV4地址如下:
配置完成后直接ping通检查配置是否正确。
二、让主机无状态获取IP地址
现在,为了让主机无状态获取IP地址,与之直连的路由器的直连接口上需要开启命令:undo ipv6 nd ra halt
并在R1,R3,R7这三个与PC机直连的路由器的相应接口上开启RA报文的发送:undo ipv6 nd ra halt(华为设备特有,思科已经默认开启RA报文的发送)配置完成。
在R1上:g0/0/0接口
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:101::1/64
undo ipv6 nd ra halt
同时在PC1(用路由器模拟)上,配置一条默认路由来模拟主机:
ipv6 route-static :: 0 GigabitEthernet0/0/0 2001:101::1
下一跳R1的g0/0/1接口的IP地址。
配置完成以后,我们在PC1的接口上并没有活动IP地址。我们需要在PC1的接口上配置:
interface GigabitEthernet0/0/0
ipv6 enable (在接口打开IPV6)
ipv6 address auto global(IPV6全局地址获取的方式为自动获取)
然后我们在PC1的接口g0/0/0上查看对应信息:(使用命令dis ipv6 interface brief )
配置完成以后,我们检测直连的互通,用PC1pingR1:
完成互联,说明模拟终端主机无状态获取IP地址配置成功。
同理:
我们在R3上进行配置:
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:201::3/64
undo ipv6 nd ra halt
在PC2上进行配置:
首先进行默认路由的配置:
ipv6 route-static :: 0 g0/0/0 2001:201::3
然后将接口开启IPV6并且获取地址:
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address auto global
配置完成后,查看IP地址是否或得的和测试直连是否相通。
已成功获得IPV6地址。
直连ping能够通。
R7同理:
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:301::7/64
undo ipv6 nd ra halt
在PC3上:
静态路由:
ipv6 route-static :: 0 GigabitEthernet0/0/0 2001:301::7
接口获取IP:
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address auto global
成功获取地址,ping测试:
三、依据上图,在总公司配置好 OSPFv3 协议,验证邻居建立,使得PC1和PC2可以ping通网关
首先按照要求,我们在要求在总公司配置OSPFV3协议 :(在各路由器上启动ospfv3,因为ospv3无法自动产生32位的route-id,需要自己进行配置。)
需要配置OSPFV3协议的路由器为:R1,R2,R3,R4,R5:(另外两台路由器因为模拟主机不用进行添加)
R1上:
[R1-ospfv3-1]router-id 1.1.1.1(配置全局router id经过测试不行,必须进入OSPV3进程下配置OSPFV3协议专属router id)
[R1]ospfv3 1(首先创建OSPFv3进程号)
[R1-ospfv3-1]area 1(在进程中创建路由器接口所在的区域,R1的所以接口只在区域1里,所以这里只需要创建区域1即可)
[R1-GigabitEthernet0/0/0]ospfv3 1 area 1 (将G0/0/0加入OSPF区域1)
[R1-GigabitEthernet0/0/1]ospfv3 1 area 1 (将g0/0/1加入OSPF区域1)
R2上:
[R2-ospfv3-1]router-id 2.2.2.2
[R2]ospfv3 1
[R2-ospfv3-1]area 1
[R2-ospfv3-1]area 0(需要创建两个区域,因为接口属于两个不同的区域)
[R2-GigabitEthernet0/0/0]ospfv3 1 area 0
[R2-GigabitEthernet0/0/1]ospfv3 1 area 1
R3上:
[R3-ospfv3-1]router-id 3.3.3.3
[R3]ospfv3 1
[R3-ospfv3-1]area 2
[R3-GigabitEthernet0/0/0]ospfv3 1 area 2
[R3-GigabitEthernet0/0/1]ospfv3 1 area 2
R4上:
[R4-ospfv3-1]router-id 4.4.4.4
[R4]ospfv3 1
[R4-ospfv3-1]area 0
[R4-ospfv3-1]area 2
[R4-GigabitEthernet0/0/0]ospfv3 1 area 0
[R4-GigabitEthernet0/0/1]ospfv3 1 area 2
R5上:
[R5-ospfv3-1]router-id 5.5.5.5
[R5]ospfv3 1
[R5-ospfv3-1]area 0
[R5-GigabitEthernet0/0/1]ospfv3 1 area 0
[R5-GigabitEthernet0/0/0]ospfv3 1 area 0
配置完成后,我们逐一检查OSPFV3的邻居是否建立完成:
R2上:
dis ospfv3 peer
R2和R1,R2和R5之间的邻接关系到达full状态,完成。R4上:
R4和R3,R4和R5之间的邻接关系到达full状态,完成。现在按照要求用PC1和PC2ping通网关:
PC1:(成功)
PC2:(成功)
四、在分公司内部配置ripng,实现分公司PC3可以ping通分公司网关R6
RIPNG配置更加简单,首先需要我们确定需要在R6,R7上配置RIPNG即可:
在R6上:
interface GigabitEthernet0/0/0(进入需要开启RIPng的接口)
ripng 1 enable(将RIPng开启)
interface GigabitEthernet0/0/0
ripng 1 enable
interface GigabitEthernet0/0/1
ripng 1 enable
配置完成以后,我们就可以在R6上检测有没有PC3网段的路由条目到了:
Dis ipv6 routeing-table protocol ripng
成功获取路由条目,现在只需要用PC3来ping网关测试是否互通:(成功)
完成这个步骤以后,也就是完成了公司内部的互通。
五、在R5和R6上采用gre隧道,并且在隧道口上建立ospfv3,为得两端的条目都传递到对方网络中做准备
按照要求,我们在R5和R6之间建立gre隧道,让ipv6的报文包裹在ipv4的报文之中,建立一个虚拟的通道,让ipv6能够在ipv4的环境中进行传输。
R5上:
interface Tunnel0/0/0(建立一个隧道,编号为0/0/0)
tunnel-protocol gre(隧道的模式是gre)
source 12.1.1.1(表示IPV4环境中隧道的起点,也就是自己与外网相连的接口的IP地址)
description 23.1.1.1 (表示IPV4环境中隧道的终点,是对端与外网相连接口的IP地址)
ipv6 enable (将IPV6协议打开)
ipv6 address 2002:56::5/64 (给这个隧道加入一个IPV6的源地址)
ospfv3 1 area 0.0.0.0(将这个隧道的虚拟接口按照要求通告进入区域0)
同理在R6上:
首先R6上并没有开启OSPFV3,和配置RID。
ospfv3 1(开启OSPFV3)
router-id 6.6.6.6(OSPFV3中需要用手动配置RID作为自己唯一的标识)
area 0(开启区域0)
配置完了OSPFV3的前置准备工作以后,我们进行隧道的建立:
interface Tunnel0/0/0
tunnel-protocol gre
source 23.1.1.1
destination 12.1.1.1
ipv6 enable
ipv6 address 2002:56::6/64
ospfv3 1 area 0.0.0.0
配置完成以后,我们在R6上查看OSPFV3邻居关系建立是否正常:
状态时full,表示邻居关系建立成功,现在我们已经将隧道建立成功了,但是需要简单描述一下隧道建立的过程:首先,gre隧道利用了IPV4承载IPV6报文通过IPV4环境的特性,当配置完成以后,以PC1与R6的一次通信为例子,ipv6报文经过内网到达到达R5,首先也会查看IPV6的路由表:
查看到了这样一条路由条目,出接口为隧道0/0/0,然后就会按照隧道中的配置去完成,首先隧道封装的协议是gre,表示这是一个gre隧道,然后就会将gre报头加在ipv6报头之前,另外看到了隧道的源是23.1.1.1,为出接口g0/0/2的ip地址,目的地址为12.1.1.1。然后就会在gre报头之前按照我们配置的源目地址添加一个IPV4报头,既然添加了IPV4的报头,自然就差查看IPV4的路由表:
只能唯一匹配到默认路由,下一跳为12.1.1.2,就会按照路由表进行转发,R8接收到以后,也会按照IPV4的报文转发,按照直连路由将报文转发到R6,R6查看IPV4的报文头部,发现是自己接口g0/0/0的ip地址,协议号为47(代表封装的是GRE的了内容),就会拆封装,得到一个gre头部,会查看gre头部的内容,对隧道进行匹配,匹配到了隧道0/0/0,然后拆开gre头部,然后查看其中的IPV6的报文,按照IPV6的路由表的报文进行转发:
发现IPV6的目的地址是自己隧道中配置的IPV6地址,就会自己将这个报文进行处理。返程同理。
注意:双方隧道接口需要配置ipv6的地址,但是ipv6的地址不一定是同一网段的。
六、确保总分部之间网络可达,在R6上做双向重发布
保证双向可达,在R6上进行双向重分发,将ripng的路由条目发给ospv3,将ospfv3的路由条目发给ripng:
在R6上:
进入RIPNG进程:
[R6-ripng-1]import-route ospfv3
进入OSPFV3进程
[R6-ospfv3-1]import-route ripng 1
我们可以查看路由表进行查看通告是否成功,最简单的方法就是让总公司和分公司之间进行PC的互通,如果互通了,肯定也是重分发成功了。
PC1pingPC3:
因为PC3的IP地址是无状态自动获取得到的,我们先查看PC3的接口的IP地址:
将地址复制出来,PC1pingPC3:
成功,侧面也说明了双向重分发也是成功的。
七、因为R1、R3性能不足,尽量减少其路由条目
R1和R3都在总公司,而且运行的路由协议都是OSPFV3。而且他们都处于同样的地位。我们采用不同的方法对他们的条目进行减少。
首先我们思考R1的路由条目怎么减少,R1处于区域1,而且没有虚链路通过,最好也是最简单发方法也就是进行特殊区域处理。其他的方法如果进行RIPNG和OSPFV3区域的汇总也可以减少R1的路由条目。
因为R1没有连接外部,没有引入外部路由,所以我们将之配置成完全末节区域:
首先在R1上查看路由条目(13条):
在R1和R2上:
R1:
ospfv3 1
stub no-summary
R2:
ospfv3 1
stub no-summary配置完成后,我们在R1上查看路由条目:只有7条条目并且只有一条OSPFV3的3类默认路由条目。
现在进行R3路由条目的减少,R1减少条目的时候运用了特殊区域,现在我们减少R3路由条目就运用路由汇总:首先在R3上查看IPV6的路由表:一共有13条路由条目。
我们进行OSPFV3的区域间路由汇总:
R3处于区域2,为了减少区域2的路由条目,我们可以将区域1的条目进行汇总,区域0的华为设备中无法进行汇总。而区域1只存在一共ABR,也就是R2,所以我们在R2上进行汇总即可:
我们将2001: 100::/64和2001:101::/64这两条路由条目进行汇总,按照CIDR可以汇总成27位的路由条目。
[R2-ospfv3-1-area-0.0.0.1]abr-summary 2001: 100:: 27
然后我们在R3上进行查看:(汇总成功)
进行ping操作,检查双方能通信:
Ping操作成功,说明汇总的条目没有问题。现在条目减少了2条,效果比做特殊区域差了很多。
除此之外,还可以在R7上做RIPng的汇总,将路由条目发给R6的时候就减少了,因此充分发进入OSPF的5类LSA会减少。用ripng汇总试一下:
[R7-GigabitEthernet0/0/0]ripng summary-address 2001:300:: 27
在R3上查看RIPng的路由条目进行了汇总: