怎么搭建vpn( 二 )


2.配置预共享密钥(preshare)
在配置预共享密钥的时候, 需要选择是IP地址还是Hostname来标识该密钥, 如果对端是IP地址标识身份, 就采用IP地址来标识密钥;如果对端是Hostname来标识身份, 则采用hostname来标识密钥 。
3.配置本端标识(localid)
本端标识有IP地址和Hostname, 在安全路由器上, 默认的是用IP地址来标识 。 即不配置本端标识, 就表示是用IP地址来标识 。
以上三个步骤就完成IKE的配置, 以下是IPSec的配置:
4.配置数据流(access-list)
很容易理解, 部署任何VPN都需要对数据流所限制, 不可能对所有的数据流都进行加密(any to any) 。 配置好数据流后, 在加密映射(map)中引用该数据流 。
5.配置变换集合(transform-set)
变换集合是某个对等方能接受的一组IPSec协议和密码学算法 。 双方只要一致即可 。 注意, 在VPN3020和带加密模块的安全路由器上支持国密办的SSP02算法 。
6.配置加密映射(map)
为IPSec创建的加密映射条目使得用于建立IPSec安全联盟的各个部件协调工作, 它包括以下部分:
l 所要保护的数据流(引用步骤4所配置的数据流)
l 对端的IP地址(这个是必须的, 除非是动态加密映射, 见本文后面的章节)
l 对所要保护的数据流采用什么加密算法和采用什么安全协议(引用步骤5所配置的变换集合)
l 是否需要支持PFS(双方要一致)
l SA的生存时间(是可选的, 不配置的话有默认值)
7.应用(激活)加密映射
在安全路由器上是将该加密映射应用到接口上去, 而在VPN3020上是激活(active)该map 。
三、 动态加密映射技术
目前, 安全路由器系列和VPN系列均支持动态加密映射 。 什么是动态加密映射?动态加密映射所应用的环境是什么呢?我们可以从以下的一个案例中来说明动态加密映射的概念 。 如下图:

在上图的网络拓扑中, MP803接入Internet的并不是宽带接入(固定IP地址), 而是在通过电信ADSL拨号来获取到IP地址, 不是固定的IP地址 。 这时候, 对于上端MP2600A来说, 就存在问题了, 回想一下前面所描述的配置步骤, 在步骤六中配置加密映射的时候, 需要配置对端的peer IP地址, 这时候怎么办呢?或许您想到——那我每次拨号获取到IP地址后, 再在两端来配置IPSec——这种解决办法是OK的, 只要客户或者您自己容忍每次MP803重新拨号后, 您重新去更改配置 。 显然, 这样方法充其量只能用来测试的 。
动态加密映射就是用来解决这类问题的 。 顾名思义, 动态加密映射, 就是说, 在配置加密映射的时候, 不需要配置对端的peer IP地址 。 目前, 安全路由器和VPN系列都支持动态加密映射, 但由于两者实现上的差异, 导致他们在配置动态加密映射的时候存在一些不同, 在后文的实际配置案例中会讲到 。
四、 NAT穿越略述
NAT穿越是指在两台VPN网关之间的还存在NAT设备, 从原理来说, NAT和IPSec存在一定的矛盾 。 主要体现两点:NAT更改了IP数据包的IP源地址或者目的地址, 这与IPSec协议中的AH认证头协议存在不可调和的矛盾, 因此如果IPSec报文需要穿越NAT设备的话, 在配置变换集合的时候就不能选用AH协议(目前, 由于ESP协议也提供验证功能, AH使用很少);第二点是NAT设备的端口地址转换是针对TCP/UDP/ICMP等协议 。 对于ESP协议, 没有相应的处理机制 。 具体详细资料请查看IETF的草案 。 此外, NAT穿越目前还没有国际标准, 公司在国内率先实现了NAT穿越功能 。 目前, 公司的安全路由器、VPN3020等都已经实现了NAT穿越 。
NAT穿越对于路由器和VPN3020上的配置没有任何的改变 。 目前, 公司的北京办和总部的互联的两台路由器建立隧道就是穿越了NAT 。

推荐阅读