要点:首先启用一个密钥,然后声明它

OSPF认证   密钥   声明
    Link   intf   intf (接口下操作)
    Area   intf   ospf Porcess(接口下)
    Vlink  PVC   PVCInterface下:明文:
   ip ospf authentication-key 'passwd'
   ip ospf authentication
 密文:
   ip ospf message-digest-key 1 md5 'passwd'
   ip ospf authentication message-digestArea认证:明文:
   interface下启用一个密钥:ip ospf authentication-key 'passwd'
   ospf进程下去声明此密钥: area 1 authentication
 密文:
   interface下启用一个密钥:ip ospf message-digest-key 1 md5 'passwd'
   ospf进程下去声明此密钥: area 1 authentication message-digestVirtual-Link:明文:
   area 1 virtual-link 1.1.1.1 authentication-key 'passwd'
   area 1 virtual-link 1.1.1.1 authentication
 密文:
   area 1 virtual-link 1.1.1.1 message-digest-key 1 md5 'passwd'
   area 1 virtual-link 1.1.1.1 authentication message-digest注意在area 0中做认证时,也必须在VirtualLink上做
明文:
   area 0 authentication
   area 1 virtual-link 1.1.1.1 authentication-key 'passwd'
 密文:
   area 0 authentication message-digest
   area 1 virtual-link 1.1.1.1 message-digest-key 1 md5 'passwd'

小结:当启用OSPF接口验证时,不需要在OSPF进程下启用OSPF验证,直接在接口下启用即可,并且只需要对端的接口也启用相同的验证方法和密码,验证即可通过,而不需要整个区域都参与验证。而在OSPF进程下启用区域验证时,实际上是把本路由器上所有属于该区域的接口都启用了验证,因此这些接口的对端也都必须启用OSPF验证才能成功建立邻接关系,这样的结果就是整个区域都必须参与验证。还有一点需要注意的是virtual-link的验证,因为virtual-link都是属于区域0的,所以当区域0启动区域验证时,必须在virtual-link上也启用验证,否则virtual-link将验证失败。

注意,配置区域认证之后,要在区域内的所有路由器上都配置。在区域里启用认证之后,同区域的所有路由器接口上都生效。但需要注意的是:所谓区域认证,其实质还是链路认证,只是你不用在接口上敲ip ospf authentification message-digest,配置起来比较方便而已。如果在OSPF中启用了区域认证,则只需在接口上敲密码的命令就可以了,即 ip ospf message-digest-key key-id md5 key,而如果不启用区域认证,则在每个接口都要启用MD5认证。
如果在接口上和区域里同时启用了认证,则接口上的认证数据优先,例如在一台路由器的接口上配置了MD5加密认证,区域里启用了简单密码认证。则最终的认证方式为MD5加密认证。 区域认证配置中,key-id 和key值要对应相等。
      1、如果区域内的某处配置了认证,那么就必须在整个区域内都要配置认证。
      2、明文认证的时候,密码最长为8个八位组字节。
      3、MD5密文认证的时候,密码最长为16个八位组,密钥ID在1-255之间。
      4、所配置的口令在整个区域间可以不同,但是在一对邻居路由器之间必须相同。
      5、区域内配置对区域间没有影响。
      6、可以同时配置多个MD5口令。

 

OSPF认证分为区域认证和接口认证,加密方法分为简单加密和MD5加密。

(下面所讲的都是在网络设备正确安装配置,OSPF协议正常运行,网络全互联状态下)

(一)首先先讲下接口下的认证:
 1.接口下基于明文的认证
 R1(config)#interface serial 1/1
 R1(config-if)#ip ospf authentication 
 R1(config-if)#ip ospf authentication-key free
 R1(config-if)#exit这时候debug会出现以下信息
 00:30:33: OSPF: 192.168.1.5 address 192.168.1.2 on Serial1/1 is dead 
 00:30:33: OSPF: 192.168.1.5 address 192.168.1.2 on Serial1/1 is dead, state DOWN 
 00:30:33: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Serial1/1 from FULL to DOWN, Neighbor Down: Dead timer expired 
 00:30:35: OSPF: Rcv pkt from 192.168.1.2, Serial1/1 : Mismatch Authentication type. Input packet specified type 0, we use type 1 
 00:54:45: OSPF: Rcv pkt from 192.168.1.2, Serial1/1 : Mismatch Authentication Key - Clear Text大意为认证的失败导致邻居关系DOWN,明文认证。
 这时候就需要在对端接口下启用相同命令就可以正常建立邻居关系。2.接口下基于MD5认证:
R1(config)#interface serial 1/1 
 R1(config-if)#ip ospf authentication message-digest 
 R1(config-if)#ip ospf message-digest-key 1 md5 free
 命令和上面的明文差不多,第一句是启用基于MD5的认证,第二句中数字1是key ID,范围为1-255。md5后面为密码,16位以内字符即可,不过双方需要一致。配置完成同样会出现邻接关系DOWN掉的提示,依旧在对方配置相同信息即可。
(二)下面讲讲基于区域的认证。
 1.基于区域的明文认证:
 R1(config)#router ospf 1
 R1(config-router)#area 1 authentication   (区域1开启认证)
 R1(config-router)#exit
 R1(config)#interface serial 1/1 
 R1(config-if)#ip ospf authentication-key free(配置认证的明文密码)配置完成后会出现下面的提示
 01:10:25: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Serial1/1 from FULL to DOWN, Neighbor Down: Dead timer expired
 这时候同样在对方配上相同信息即可。2.基于区域的MD5认证:
 R1(config)#router ospf 1 
 R1(config-router)#area 1 authentication message-digest    (区域1开启MD5认证)
 R1(config-router)#exit 
 R1(config)#interface serial 1/1 
 R1(config-if)#ip ospf message-digest-key 1 md5 free(配置认证的MD5密码)然后同样在对方配置完成即可正常建立邻居关系。
当然,当你想更换密码的话,可以用一下命令,
 R1(config)#interface serial 1/1 
 R1(config-if)#ip ospf message-digest-key 2 md5 free2


这样OSPF在发送数据时会同时使用1和2两种加密密码,发送两份不同数据。当两端同时配好,2可以正常使用,就可以no掉1了。这样做不影响正常邻居关系。

说的很多,其实OSPF的身份认证还是比较简单的。
 


转载于:https://blog.51cto.com/soulful/532381