这是我们的实验要求以及原始拓扑
我们根据要求搭建拓扑如图
整体实验因为没有私网的部署,整体的ip地址规划较为简单,基本分为了公网和三个私网,我们的实验的目标是将三个私网通过NBMA相连,路由可达。
无论任何情况,部署网络都要根据步骤来,第一步ip已经规划好了,我们配置好各自ip后,就要开始全网路由可达。
我们先在每个私网的边界路由器上做好向公网的缺省路由和nat,因为这不是我们这个实验重视的部分,详细可以见
在ensp上的ospf,telnet技术,nat端口映射,nat技术,acl技术,dhcp技术的综合复习实验-优快云博客至此我们在此时全网就已经可达了,但是我们是通过nat经过公网来互连的,我们现在要使用NBMA技术创建一个虚拟的网段使每个私网形成如下的网络类型。
我们先做r1的HDLC认证:
[r1]interface s4/0/0 进到对应接口上
[r1-Serial4/0/0]link-protocol hdlc 接口协议改为hdcl类型
注意:我们要在两段也就是r1和r2的12.1.1.0网络段的接口上都要配置,不然有一个端点配置而另一个端点没有配置,那么就会显示物理接口通,但是协议是不同的,此时两个设备是连不上的。
然后我们做r2-r3的ppp封装,pap认证
我们先在r2主认证方上配置:
[r2]aaa 进入到aaa认证模式中
[r2-aaa]local-user ltr password cipher 123 添加一个新的账户用于认证
Info: Add a new user.
[r2-aaa]local-user ltr service-type ppp 将账户用于ppp封装
[r2-aaa]q
[r2]interface s3/0/1
[r2-Serial3/0/1]ppp authentication-mode pap 进入对应接口,并使其为ppp封装,pap认证
在被认证方r3上配置:
r3]int
[r3]interface s4/0/0 进入对应接口
[r3-Serial4/0/0]ppp pap local-user ltr password cipher 123 认证类型和认证账号和密码。
然后我们在r2-r4上做ppp封装,chap认证。
我们在r2上做的配置和ppp认证类似,只是认证类型改为了chap类型。
[r2]interface s4/0/0
[r2-Serial4/0/0]ppp authentication-mode chap
[r2-Serial4/0/0]q
然后再被认证方配置:
[r4]interface s4/0/0
[r4-Serial4/0/0]ppp chap user ltr 认证使用的账号
[r4-Serial4/0/0]ppp chap password cipher 123 密码
然后我们搭建r1,r3,r4的MGRE环境:
个人理解:做MGRE环境和NHRP相当于将私网和公网隔开了,
一个私网的设备想去公网找服务器那么就走物理接口,nat转换地址,然后缺省指向运营商进行访问,
一个私网的设备想去私网找客户端那么就走tunnel口,走虚拟的接口。
我们从r1开始搭建,也将r1作为中心站点:
[r1]interface tunnel 0/0/0 创建tunnel接口
[r1-Tunnel0/0/0]ip address 192.168.4.1 我们要将这个虚拟的网段看做真实的网段来配置!!
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp 定义该隧道为多点gre隧道
[r1-Tunnel0/0/0]source 12.1.1.1 该隧道加封装的报头源ip
Mar 13 2025 13:24:00-08:00 r1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP
on the interface Tunnel0/0/0 has entered the UP state.
[r1-Tunnel0/0/0]nhrp entry multicast dynamic 因为目的ip是不确定的所以我们通过nhrp来直接获取目的ip而不是直接写死
[r1-Tunnel0/0/0]nhrp network-id 100 nhrp的工作编号,该网段所有设备必须在同一id
注意:我们一定要将MGRE创建的虚拟网段看做真实的网段,这样才能理解其工作原理:在这个包中真实的源目ip虽然是虚拟的ip但是我们会在这个包头部再加一个报头,源ip定位到真实的物理接口,目的ip也为真实的物理接口上的ip。
然后我们配置分站点:
注意:我们此时模拟的分站点源ip都没有写死,只有主站点的ip是写死的,因为我们实际上的分站点的ip可能会改变,所以我们要通过nhrp来让其向主站点报道,让它把真实的ip给主站点。
在倒数第二行的register必须要加上:其作用为让分站点可以问主站点要其得到的所有分站点的ip表单,因为分站点虽然要向主站点报道,但是分站点和分站点之间是独立的,互相没有真实ip,所以只有问主站点要其他分站点的ip,不然互相是连不上的。
在r1配置主站点和r3 r4上配置分站点后,我们可以在r1上得到这样一张表:
[r1]display nhrp peer all
-------------------------------------------------------------------------------
Protocol-addr Mask NBMA-addr NextHop-addr Type Flag
-------------------------------------------------------------------------------
192.168.4.2 32 22.1.1.2 192.168.4.2 dynamic route tunnel
-------------------------------------------------------------------------------
Tunnel interface: Tunnel0/0/0
Created time : 00:04:24
Expire time : 01:55:36
-------------------------------------------------------------------------------
Protocol-addr Mask NBMA-addr NextHop-addr Type Flag
-------------------------------------------------------------------------------
192.168.4.3 32 32.1.1.2 192.168.4.3 dynamic route tunnel
-------------------------------------------------------------------------------
Tunnel interface: Tunnel0/0/0
Created time : 00:02:05
Expire time : 01:57:55
可以看到我们已经获取了分站点的真实的ip。
在分站点上表是这样的:
[r4]display nhrp peer all
-------------------------------------------------------------------------------
Protocol-addr Mask NBMA-addr NextHop-addr Type Flag
-------------------------------------------------------------------------------
192.168.4.1 32 12.1.1.1 192.168.4.1 static hub
-------------------------------------------------------------------------------
Tunnel interface: Tunnel0/0/0
Created time : 00:00:45
Expire time : --
r4上没有r3的ip,但是我们在配置时,目的ip 加上了register,向主站点问了其他分站点的ip所以r4还是可以ping通r3的。
然后我们在每个路由器配置rip,这样就正式形成了这样的网络拓扑
分为了1.0,2.0,3.0,4.0四个网段。
配置rip宣告各自网段后,此拓扑全网还不可达,因为2和3都要向r1分享路由表,
但是rip有水平分割机制:从同一个口进的路由就不会从同一个口告诉其他人这个路由
因此我们要在r1上解除水平分割机制,因为我们是在tunnel口配置的rip所以也应该在tunnel口上配置:
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]undo rip split-horizon
让我我们再在r3查看路由表
[r3]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 17 Routes : 17
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 22.1.1.1 Serial4/0/0
192.168.1.0/24 RIP 100 1 D 192.168.4.1 Tunnel0/0/0
192.168.3.0/24 RIP 100 2 D 192.168.4.1 Tunnel0/0/0
192.168.4.0/24 Direct 0 0 D 192.168.4.2 Tunnel0/0/0
192.168.4.2/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/0
192.168.4.255/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
就可以看到3.0网段的路由啦。
至此整个实验结束。