eNSP设备配置+Wireshark抓包
网络环境如上图所示、内部网络由多台路由器联合起来,以R4作为出口路由器连接到ISP网络
各网段IP地址规划如图所示,其中R1上面连接着3条内部条目需要通告进入OSPF的路由环境中,R8上面连接着两条外部直连条目需要导入即重分发到OSPF的环境中。OSPF个区域规划如图所示。
以在R1上配置为例有如下命令(其余设备的配置和R1配置类似,需要特别说明的是串行链路要两端接口IP都配置好配置信息才会生效出现在路由表里):
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 //查看路由表检查是否配置成功
以在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的回环口条目了
在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报文以维持邻居关系。
[R8-ospf-1]import-route direct //在区域中将回环口路由条目导入OSPF中
dis ospf lsdb //在R1上查看条目学习情况
可以看到R1此时已经可以接收5类LSA,学习到R8的回环口里的路由条目了。
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。
[R3-ospf-1-area-0.0.0.0]authentication-mode simple cipher 123
因为R5和R7之间设置了连接,所以R7也算在区域0里面所以配置密码的时候R7也要跟着配置否则会无法连通。
抓包看到在hello包的头部信息中显示了认证方式为明文认证,密码为123。
[R3-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0
在R3的区域1里设置汇总,然后在R4上查看路由表:
发现R1的回环口条目已经被汇总了。
[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了。
[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了。