小型OSPF路由网络的搭建

实验环境:

eNSP设备配置+Wireshark抓包

网络拓扑:

实验需求:

网络环境如上图所示、内部网络由多台路由器联合起来,以R4作为出口路由器连接到ISP网络

各网段IP地址规划如图所示,其中R1上面连接着3条内部条目需要通告进入OSPF的路由环境中,R8上面连接着两条外部直连条目需要导入即重分发到OSPF的环境中。OSPF个区域规划如图所示。

实验步骤:

1、根据个网段IP地址规划、配置相应接口IP并测试直连网段的连通性

      以在R1上配置为例有如下命令(其余设备的配置和R1配置类似,需要特别说明的是串行链路要两端接口IP都配置好配置信息才会生效出现在路由表里):

<R1>sys   //进入系统模式
[R1]int g0/0/0   
[R1-GigabitEthernet0/0/0]ip address 10.1.123.1 24
[R1-GigabitEthernet0/0/0]int loo1
[R1-LoopBack1]ip address 192.168.0.1 24
[R1-LoopBack1]int loo2
[R1-LoopBack2]ip address 192.168.1.1 24
[R1-LoopBack2]int loo3
[R1-LoopBack3]ip address 192.168.2.1 24
[R1]dis ip routing-table          //查看路由表检查是否配置成功

2、根据OSPF的区域规划、运行OSPF协议,为每台路由器制定RID,其中Area3没有直接连接到Area0会产生什么问题?如何解决?请保障各个区域都学习到R1的回环口条目

      以在R1上配置为例有如下命令:

[R1]ospf 1 router-id 1.1.1.1   //设置R1的routeID为1.1.1.1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]network 192.168.0.0 0.0.3.255
[R1-ospf-1-area-0.0.0.1]network 10.1.123.0 0.0.0.255
[R1]dis ospf lsdb    //查看OSPF的链路数据库信息
[R1]dis ospf peer    //查看邻居状态关系表

      在所有的路由器上都运行OSPF协议并且通告路由后通过命令查看链路数据库信息有(以R1为例):

      可以看到此时R1可以接收到1类、2类和3类的LSA

      再查看R7的LSDB,因为R7的两个接口一个属于区域2,一个属于区域3,从下图中可以看到,属于区域2的接口因为和骨干区域相连,所以可以正常的接收到1、2、3类的LSA,而区域3没有和骨干区域相连所以不能和其他区域通信只能产生1、2类LSA。

      为了解决这个问题,我们可以在R5和R7之间配置一条虚连接,配置的命令如下

[R7-ospf-1-area-0.0.0.2]vlink-peer 5.5.5.5

      配置完虚连接后再查看LSDB发现此时区域3以及可以学习到R1的回环口条目了

3、通过抓包,观察分析OSPF邻接状态建立的过程及几种报文的作用,我在R6的g0/0/0接口上通过抓包有如下过程:

      在R6还没有通告路由之前只有R5向R6发送hello包,R6通告路由之后双方组播发送hello包以发现邻居,期间R6发送了一个ARP报文请求R5的mac地址。

      初期发送的hello包,此时还没有建立邻居关系,并且DR和BDR都还没有选举,此时是在init状态

      在互相发送hello包之后R5发送的最后一个hello包中可以看到以及有了邻居为6.6.6.6,并且选举R5为DR,此时到达了2-way状态。

     

      这是建立邻居关系之后交互的第一个DD报文,I位表示这是初始的DD报文,M位表示后面还有更多的报文,MS位表示认为自己是主位。可以发现这里面没有包含LSA说明这是空的DD报文。

      然后是选举完主从关系之后交互的DD报文,此时里面已经有包含了LSA,并且可以看出R6被选举为主路由器了。

      之后就是R1和R2分别请求自己感兴趣的LSA,发送LSR请求报文和LSU更新报文还要LSAck确认报文后,到达loading状态。当双方的LSDB同步后,到达full状态。最后双方定时发送hello报文以维持邻居关系。

4、将R8上使用命令import-route direct将回环口条目导入OSPF环境中并在R1上检查条目学习情况。配置的命令如下:

[R8-ospf-1]import-route direct  //在区域中将回环口路由条目导入OSPF中
<R1>dis ospf lsdb   //在R1上查看条目学习情况

      可以看到R1此时已经可以接收5类LSA,学习到R8的回环口里的路由条目了。

5、按照如下需求部署

   a、要求路由表中不能出现主机路由(修改网络类型),配置的命令如下:

[R1-LoopBack1]ospf network-type broadcast  //把链路类型改为广播

当只修改了回环口1的链路类型的情况下查看R2的路由表,发现R2的路由表中已经关于回环口1的地址已经不是主机路由了,而其他两个口依旧是主机路由。

b、要求R1成为Area1中的DR(修改接口优先级)

      DR的选举是依据接口优先级,因为优先级默认为1,所以这里根据routeID进行选举,因为配置的R3的routeID最大,所以在选举DR和BDR的时候将R3设置为了DR,这时候我们通过手动修改接口优先级的方法让R1成为DR,配置的命令如下:

ospf dr-priority 255 //把R1的接口优先级修改为255

      然后把ospf进程重置一下,就可以发现R1成功的被选举为DR,并且接口优先级修改为255了。

c、要求增加到达Area1内条目的流量开销(修改接口开销)

      要增加到达区域1的开销,就要将R4或者R3的s4/0/0接口的开销变大,我这边以把R3接口的开销变大为例做修改,配置的命令如下:

[R3-Serial4/0/0]ospf cost 500
[R3]dis ip rout

      然后查看路由表可以看到到达区域1的开销在原来的基础上加上了500。

6、采用明文的方式保证在骨干区域的安全性,并通过抓包查看传输的密码。配置的命令如下(以在R3上配置为例):

[R3-ospf-1-area-0.0.0.0]authentication-mode simple cipher 123

因为R5和R7之间设置了连接,所以R7也算在区域0里面所以配置密码的时候R7也要跟着配置否则会无法连通。

      抓包看到在hello包的头部信息中显示了认证方式为明文认证,密码为123。

7、减少R4上关于R1回环口的条目,减少条目的方式有汇总和设置特殊区域两种,这里我们采用的是汇总的方式。配置的命令如下:

[R3-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0

      在R3的区域1里设置汇总,然后在R4上查看路由表:

      发现R1的回环口条目已经被汇总了。

8、R1、R2路由器性能不足,尽量减少路由条目,由于是性能不足,所以这次我减少路由条目的方法使用的是设置特殊区域,将区域1设置为totally stub。配置的命令如下(以在R3上面配置为例):

[R3-ospf-1-area-0.0.0.1]stub     //配置为stub
[R3-ospf-1-area-0.0.0.1]stub no-summary     //配置为totally stub

      然后通过dis ospf lsdb查看链路状态数据库

      区域1已经不会接收到3、4、5类的LSA了。

9、在R4上下发默认路由,并通过EasyIP的方式实现NAT转换,让内部网络能够访问ISP-Rputer,配置的命令如下:

[R4]ip route-static 0.0.0.0 0.0.0.0 210.1.1.2   //配置一条去往外部网络的默认静态路由
[R4-ospf-1]default-route-advertise always    //设置总是放下静态路由
[R4]acl 2000        
[R4-acl-basic-2000]rule permit source 211.1.1.1 255.255.255.252     
[R4-GigabitEthernet0/0/0]nat outbound 2000

      配置完后查看

 

      R4已经可以访问ISP-Router了。

猜你喜欢

转载自blog.csdn.net/weixin_43955429/article/details/88551604