OSPF(open shortest path first)即开放式最短路径优先选择协议。在配置中它支持三种验证方式、即
1.无需验证,这个也是默认的配置,代号是0
2.明文认证,代号是1
3.密文认证,代号是2
看吧。我默认就开启两台3640路由器,并且没有开启OSPF认证情况下的Debug信息。(先关闭s0/0口再开启s0/0口,让他们重建邻居关系)
 
看到那个字段了吗?。aut:0 就代表表要验证。
 
接下来我准备进入借口配置验证。看图
我说过它支持三种验证模式。如图如果你直接回车的话那就是明文认证。如果你选择message-digest那就是md5密文认证了。如果你选择null的话那毫无疑问就是默认的不需要认证模式了。
于是我在第一台路由器R1的s0/0口上配置了认证之后看看控制台给我们输出了虾米提示信息
 
 
 
看到了吧。邻居关系马上就down了。虽然我都满足了建立邻居的三个条件。但是因为一台配置了明文认证,而另外一台并没有配置任何认证,所以导致邻居关系建立不起来。这个也是导致许多人郁闷的根源所在,我明明已经满足OSPF建立邻居的条件,并且线路,IP地址都配置没问题为什么就是不通了,那就是因为认证问题。同样的你打开Debug信息看看就知道了,如下:
 
 
看到了吧。认证的类型不匹配。我接受的数据包使用类型0(无认证),而我自己使用的是类型1(明文认证),所以当然邻居关系就down咯。。
 
还有一点需要注意的是:OSPF每个接口同时支持两套密钥,也就是说如果你配置的密钥不小心泄露了,那么你可以在路由器的相应接口上再配置一套密钥,并且把就得密钥删除掉,这样就保证了安全性,不会让其它路由器参与OSPF的收发。同时又保证了更换密钥过程中网络的连通性。
 
接下来附上配置的命令。只贴上第一台路由器上R1上配置:
明文认证:
r1#conf t 
r1(config)#inter s0/0
r1(config-if)#ip ospf authentication ?
  message-digest  Use message-digest authentication
  null            Use no authentication
  <cr>
r1(config-if)#ip ospf authentication
r1(config-if)#ip ospf authentication-key sharpshooter
r1(config-if)#end
r1#
密文认证:
r1#conf t 
r1(config)#inter s0/0
r1(config-if)#ip ospf  authentication  message-digest-key
r1(config-if)#ip ospf message-digest-key 1 md5 sharpshooter
r1(config-if)#end
r1#