IPSec VPN常用输出命令的学习
时间:2010-10-12 来源:the-edge
这个小实验是在看wolf的视频后做的,我觉得wolf出的VPN视频真的非常非常棒。暑假的时候把厚厚的一本cisco出的VPN配置手册看完了,理论只是部分也啃了不少,但是学的还是太粗糙了,看了wofl的视频(shamulong大大)后犹如醍醐灌顶,奇经八脉打通了再看看以前似懂非懂的东西,怎一个舒畅形容,呵呵。再次感谢shamulong大大(不好意思我也不知道他大名何许)。
IPSec VPN的解密过程:只有出方向的时候才需要查map(也就是路由的时候,数据包到达该接口与该接口的map相撞),入方向接受的数据包不查map。但是这不是说入方向上接受到的数据包就都可以通过。在接收之前,他还要查看自己与对端的SPID是否匹配(从SPID可以知道是那个VPN隧道发来的数据),然后再查看Seq number号看是不是我需要接受的号码(这是防止重放攻击),之后才根据IV种子进行解密(初始化信息)。解密完成之后还需要过一遍访问列表看是不是感兴趣流。匹配了才会接收,不匹配的话一样还是要被丢掉。
下面的这个简单的小实验就是对ipsec vpn建立之后我们经常用的几个show命令输出的内容解释一下。
1. 实验中用到的两台路由器使用两个子接口来建立连接。
2. R1用loopback 0(1.1.1.1/32)模拟内网测试VPN,R2使用loopback 0(2.2.2.2/32)模拟内网。
3. 为了说明入接口方向不检查map,VPN的加密点没有设置在直连的两个接口上,R1的fa0/0.12为加密点,R2的fa0/0.21为加密点。
配置:crypto isakmp policy 10
crypto isakmp key cisco address 21.1.1.2
crypto ipsec transform-set myset esp-des esp-md5-hmac
crypto map mymap 10 ipsec-isakmp
interface Loopback0
interface FastEthernet0/0.12
interface FastEthernet0/0.21
ip route 2.2.2.2 255.255.255.255 FastEthernet0/0.12 12.1.1.2
ip access-list extended vpn
crypto isakmp policy 10
crypto isakmp key cisco address 12.1.1.1
crypto ipsec transform-set myset esp-des esp-md5-hmac
crypto map mymap 10 ipsec-isakmp
interface Loopback0
interface FastEthernet0/0
interface FastEthernet0/0.12
interface FastEthernet0/0.21
ip route 1.1.1.1 255.255.255.255 FastEthernet0/0.21 21.1.1.1
ip access-list extended vpn
R1#ping 2.2.2.2 sou l0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/61/132 ms
R1#sh crypto engine connections active
1 Fa0/0.12 12.1.1.1 set HMAC_SHA+DES_56_CB 0 0
2001 Fa0/0.12 12.1.1.1 set DES+MD5 0 9
2002 Fa0/0.12 12.1.1.1 set DES+MD5 9 0
R1#show crypto isakmp sa
dst src state conn-id slot status
这个命令显示的是IKE第一阶段的SA的相关信息。从STATE字段的QM-IDLE可以了解到VPN建立成功了。QM即 快速模式,这个是在IKE的第二阶段的过程。
R1#sh crypto ipsec sa
interface: FastEthernet0/0.12
remote ident (addr/mask/prot/port): (2.2.2.2/255.255.255.255/0/0) #感兴趣流
#pkts encaps: 9, #pkts encrypt: 9, #pkts digest: 9
#pkts decaps: 9, #pkts decrypt: 9, #pkts verify: 9 #加解密的统计信息
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
local crypto endpt.: 12.1.1.1, remote crypto endpt.: 21.1.1.2 #本地和peer的连接地址与端口
path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0.12
current outbound spi: 0x642C0915(1680607509) #outbound spi的信息
inbound esp sas: #本地的inbound spi,这个值与peer的outbound相一致,这个值就代表了这个vpn连接的SA的相关参数。下面还有outbound spi,大家知道VPN的SA需要建立两个,一个出方向一个入方向
conn id: 2001, flow_id: SW:1, crypto map: mymap
sa timing: remaining key lifetime (k/sec): (4433139/1545)
inbound ah sas: #我们可以在一个vpn连接上同时使用esp和ah,但是ah只提供认证而没有加密所以一般只使用esp
inbound pcp sas: #pcp?没接触过
outbound esp sas: #outbound spi,这个值与peer的inbound spi相一致
conn id: 2002, flow_id: SW:2, crypto map: mymap
sa timing: remaining key lifetime (k/sec): (4433139/1543)
上面这条命令输出的是IKE第二阶段,即IPSEC SA的相关信息,从这个输出中我们可以很详细的了解到当前配置的VPN的参数和一些统计信息。