ospfv3是基于ipv6的路由协议,因为IPV6本身的IPSEC安全特性,OSPFV3本身就已经没有再带安全认证功能,这一功能由IPV6协议来完成。
(我查了好久,书里并没有提到如何配置,国内的论坛也很少说到,即使有说到配置,也没有文字说明,看得很不明白。查了国外的文章,才找了相关的资料。还是得谢谢google啊。)
IPSEC有两种安全认证方法:AH 头和ESP头,AH支持认证,完整性校验,和防报文重放功能,ESP则更加强大,除了AH的前面几样功能,ESP还支持加密功能。但是由于目前的IOS性能,可能还不支持ESP的OSPFV3.所以只能用AH。
实验:
- R1:
- interface Serial0/0
- no ip address
- ipv6 address 2001:12::1/64
- ipv6 address FE80:12::1 link-local
- ipv6 ospf 100 area 0
- ipv6 ospf authentication ipsec spi 256 sha1 5749CD34D2B87A1D4868F8ACA1ABF2F7025A32CA
- serial restart-delay 0
- !
- ipv6 router ospf 100
- router-id 1.1.1.1
- log-adjacency-changes
- R2:
- interface Serial0/0
- no ip address
- ipv6 address 2001:12::2/64
- ipv6 address FE80:12::2 link-local
- ipv6 ospf 100 area 0
- ipv6 ospf authentication ipsec spi 256 sha1 5749CD34D2B87A1D4868F8ACA1ABF2F7025A32CA
- serial restart-delay 0
- ipv6 router ospf 100
- router-id 2.2.2.2
- log-adjacency-changes
关键点在于其中红色部分的spi字段,spi跟我们配置key chain中的key number是具有相似的功能的,可以理解为标识符,标识这一条加密连接,但是在OSPFV3中,spi是必须匹配的。
这个值可能随便起,但是范围在256~~~4,294,967,295。必须匹配。
支持的hash算法有两种,MD5和SHA,
MD5有32个字符,SHA有40个字符长。在配置的时候这个值输入进去很费事。可以用另一种方法来代替,如果你用的是linux系统,则:
- yeelone@yee:~$ dd if=/dev/urandom count=1024 | sha1sum
- 5749cd34d2b87a1d4868f8aca1abf2f7025a32ca -
- 记录了1024+0 的读入
- 记录了1024+0 的写出
- 524288字节(524 kB)已复制,0.123345 秒,4.3 MB/秒
- yeelone@yee:~$
通过linux的dd命令和sha1sum来算出一个随机的hash值,然后复制进去。
- r2#show crypto ipsec sa
- inbound ah sas:
- spi: 0x100(256)
- transform: ah-sha-hmac ,
- in use settings ={Transport, }
- conn id: 2004, flow_id: SW:4, crypto map: (none)
- no sa timing
- replay detection support: N
- Status: ACTIVE
- inbound pcp sas:
- outbound esp sas:
- outbound ah sas:
- spi: 0x100(256)
- transform: ah-sha-hmac ,
- in use settings ={Transport, }
- conn id: 2003, flow_id: SW:3, crypto map: (none)
- no sa timing
- replay detection support: N
- Status: ACTIVE
ospfv3即支持基于接口的认证,如上实验,也支持基于area的认证。
实验二:
拓扑还是上面那个:
- R1:
- ipv6 router ospf 100
- router-id 1.1.1.1
- log-adjacency-changes
- area 0 authentication ipsec spi 256 sha1 5749CD34D2B87A1D4868F8ACA1ABF2F7
- 025A32CA
现在很多地方要用到IPSEC,个人感觉IPSEC真不好理解,理论真多。
转载于:https://blog.51cto.com/yeelone/499029