1、 在和很多对端通信的时候,需要配置很多对端的预共享密钥,预共享密钥的存储、
管理存在问题。
2、 在处理对端不是固定公网IP地址,或者对端VPN设备放置在NAT设备的后面密钥
存在较大安全风险。
预共享方式既然存在这样的问题,人们就必然要寻找更好的认证方式。就是即将要介绍的认证方式——数字证书。关于数字证书、PKI、CA的详细论述也超出了本文的范围。在本文的附录,也简单介绍了PKI系统,数字证书等概念。数字证书的认证可以简单的理解为,通信双方的VPN实体都信任某一个中间机构(该机构称之为CA),双方的VPN设备都向该机构申请数字证书(类似于“居民身份证”),然后在通信的时候,互相交换证书而完成认证过程。
注:初次接触CA、数字证书这些概念很不好理解。下面的阐述或许会有所帮助。
CA:CA是运行在操作系统平台上的一个服务器软件,该软件可以接受申请证书,有数据库(甚至您可以类比某些网站的注册系统,只是其功能要强大很多,同时数据库也安全很多)。如我们的MPSec CMS系统,Windows自带的“证书颁发机构”,中国电信CA等。
数字证书:数字证书其实就是一个文件,表1显示出数字证书中包含的主要内容以及与身份证的对比。控制面板-》Internet-》内容-》证书,可以查看Windows系统自带的一些证书。其实,从数学上分析,数字证书比身份证书更具有安全性(身份证可以窜改、伪造,但是数字证书几乎无法伪造)。公钥、私钥、HASH等概念见附录。
VPN配置—从入门到精通:实际配置案例(1)
2008-10-6来源:迈普 作者:佚名 点击: 次
在技术支持VPN(IPSec)配置的过程中,有些过程是比较痛苦的。遂写成这篇纯粹的“配置”文档,希望能够减轻彼此的痛苦,对大家以后在测试、上点,技术排错,定位问题有所帮助。本文档不包括所有的配置命令细节,所有的配置命令细节请参考相关的配置手册。
十分感谢 迈普 李强先生 提供相关资料. 今天提供第三章节 实际配置案例1
3.实际配置案例
本配置案例是依据的shell命令版本如下: ? VPN3020:20031009以后的版本
? 路由器:rpm-i-4.2.6版本(不过路由器上面的IPSec命令都没有变化,以前的也可
以)
? VRC02:2003年11月份发布的支持IC卡,证书、NAT穿越的版本
另外,如果是和VPN3020建立隧道,强烈建议将VPN3020升级到20031009版本,主要变化是IPSec命令和路由器上一致,有debug信息。尤其是通过Web配置及其便利。
3.1.路由器??路由器(演示版) 3.1.1.网络描述
演示版,顾名思义,只是搭建简单环境演示给客户看一下或者在办事处熟悉一下IPSec的配置。
3.1.2.配置脚本
MP1761的配置: ip access-list extended 1001 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 exit crypto isakmp key maipu address 2.2.2.1 crypto ipsec transform-set tr1 esp-des esp-md5-hmac mode tunnel exit crypto map map1 1 ipsec-isakmp match address 1001 set peer 2.2.2.1 set transform-set tr1 set security-association lifetime seconds 28800 set security-association lifetime kilobytes 4608000 exit interface loopback0 exit interface fastethernet0 ip address 192.168.1.1 255.255.255.0 exit interface fastethernet0/0 ip address 1.1.1.1 255.255.255.0 crypto map map1 exit ip route 0.0.0.0 0.0.0.0 1.1.1.254 MP2961的配置: ip access-list extended 1001 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 exit crypto isakmp key maipu address 1.1.1.1 crypto ipsec transform-set tr1 esp-des esp-md5-hmac mode tunnel exit crypto map map1 1 ipsec-isakmp match address 1001 set peer 1.1.1.1 set transform-set tr1 set security-association lifetime seconds 28800 set security-association lifetime kilobytes 4608000 exit interface loopback0 exit interface fastethernet0 ip address 192.168.2.1 255.255.255.0 exit interface fastethernet0/0 ip address 2.2.2.1 255.255.255.0 crypto map map1 exit ip route 0.0.0.0 0.0.0.0 2.2.2.254 有关配置命令的简单解释请参看3.3中的路由器配置脚本命令解释。 [NextPage] 3.1.3.调试技巧
3.1.3.1.使配置生效
在配置中特别需要注意如下事宜:
1、 配置完成或者更改以后,用clear crypto sa命令来使IPSec和IKE的配置生效。 2、 需要有默认路由。
注:为什么需要默认路由?
准确的说,是需要到对端内网的路由(192.168.2.0/24)。原因是路由器在处理数据流的时候,是先路由,然后经过访问列表过滤、NAT、IPSec等模块。因此,如果没有到对端内网的路由,报文在被IPSec模块处理之前就会被路由器丢掉。如果报文到达了IPSec模块,IPSec模块发现需要对其进行加密,IPSec就会对其加密并新封装一个IP头(新的IP头源地址是接口地址,目的地址对端网关地址,在本案例中源地址是1.1.1.1,目的地址是2.2.2.1),然后重新路由,重新经过访问列表过滤、NAT、IPSec等模块。
3.1.3.2.触发隧道的建立
触发隧道的协商有两种方式:
A、利用ping从一个以太网段向另一以太网段发送报文(挂接PC或者在路由器上面用扩展ping),激发IKE开始协商,建立IPSec SA;
B、在EXEC模式下使用调试命令:debug init ike 1 pend 使IKE立即开始进行协商。
其中的1是连接号,每次clear crypto sa以后,会依次递增,可以用该命令show crypto isakmp connection来查询。如:
router#sh crypto isakmp connection connection id: 1
conn corresponding crypto map name: map1 map seq: 1 conn corresponding crypto map entry seq: 2
判断IPSec 的隧道是否建立成功。
在路由器可以用show crypto ipsec sa命令来查看是否已经有了SA。若隧道已经建
立成功,尝试用扩展ping,在MP1762上用其内网口(f0)192.168.1.1来访问MP2692的内网口(f0)192.168.2.1。如下:
router#ping
Target IP address or hostname: 192.168.2.1 Repeat count [5]: Datagram size [76]:
Timeout in seconds [2]: Extended commands [no]: y Source address or interface: 192.168.1.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [abcd]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [no]: 如果能够ping通,说明IPSec隧道已经建立成功,并且工作正常。 3.1.3.3.隧道建立失败可能的原因 如果能够熟悉,并看懂debug那是最好不过。对debug熟悉的调试者,打开debug信息,几乎能够一眼看出那个地方配置出现问题。不过,即使对debug信息不熟悉,也没有关系,IPSec的debug信息很多,但是需要我们注意的关键字却很少。也可以从下面说的几个方面来检查配置。 3.1.3.3.1.确保两个VPN网关之间的IP层是互通的 原因不言自明。自从冲击波出来以后,很多运营商都将ping给过滤了,可以用telnet来测试IP层的连通性,对于VPN3020,他不支持telnet,但是支持SSH和HTTPS,其知名端口是22和443,可以尝试登陆一下。 [NextPage] 3.1.3.3.2.两端所要保护的数据流配置是否相匹配 这个是最常出现的配置问题,计算反掩码存在计算错误的可能性,尤其是在划分非常小的子网情况下;另一方面,配置访问列表,有可能敲错了键。当两端访问列表不匹配的时候,出现的现象是第一阶段的SA能够建立成功,但是第二阶段的SA无法建立成功。 当两端都是配置的静态加密映射的时候,要求两端的数据流是完全匹配的。我们再看看演示环境中的MP1761和MP2691其访问列表的配置。 MP1761的源网络与MP2691的目的网络一致,MP1761的目的网络与MP2691的源网络一致。 MP1761 MP2691 不过,如果有一端是动态加密映射,那就方便多了,在路由器上面,动态加密映射,permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255