虚拟专用网实验
目标
了解什么是虚拟专用网(VPN),知道 VPN 的原理和应用。通过实验理解 IPSec 和 VPN 的关系和必要性。
本篇文章为实验记录,仅供交流学习使用,切勿违法应用,所有文中提到的工具不提供下载。
原理
虚拟专用网 (VPN)[^1]
虚拟专用网(Virtual Private Network,VPN)是利用 Internet 等公共网络的基础设施,通过隧道技术,为用户提供的与专用网络具有相同通信功能的安全数据通道。“虚拟” 是指用户无需建立各自专用的物理线路,而利用 Internet 等公共网络资源和设备建立一条逻辑上的专用数据通道,并实现与专用数据通道相同的通信功能。“专用网络” 是指虚拟出来的网络并非任何连接在公共网络上的用户都能使用,只有经过授权的用户才可使用。
该通道内传输数据经过加密和认证,可保证传输内容的完整性和机密性。
IPSec
互联网安全协议(英语:Internet Protocol Security,缩写为 IPsec),是一个协议包,通过对 IP 协议的分组进行加密和认证来保护 IP 协议的网络传输协议族(一些相互关联的协议的集合)。由认证头(AH)、封装安全载荷(ESP)、安全关联(SA)组成。
IPSec 被设计用来提供入口之间和端到端之间的通信安全,无论哪一种模式都可以用来构建虚拟专用网(VPN)。
步骤和关键技术
IPSec 协议配置
Windows XP 端的 IP 为 192.168.235.136,Windows 2000 端的 IP 为 192.168.235.141
-
在 WindowsXP 下打开 “控制面板→管理工具→本地安全策略”,找到 “IP 安全策略,在本地计算机”。双击进入。然后右击 “安全服务器”,点击指派规则。
-
双击 “安全服务器” 进入其设置,双击 “所有 ICMP 通讯量” 进入规则设置。
-
在 “筛选器操作” 选项卡中,选择 “需要安全”。
-
在 “身份验证方法” 选项卡中,添加一个共享密钥。记住此密钥,在另一端要做同样的设置。
-
只在一端配置时,ping 端会直接显示 Request timed out。双端配置时,会显示 Negotiating IP Security。正确配置时,会先显示 Negotiating IP Security,然后才会显示 ping 的 reply,代表双端成功建立了连接。可以在 win2000 端的 IP 安全监视器中看到连过来的 xp 设备。
当然,也可以配置专用的 IPSec 安全策略,不使用系统默认值。过程类似,不再赘述。
OpenVPN 配置
本部分实验使用 WindowsXP 和 Windows2000 共同完成,WindowsXP 充当服务端,Windows2000 充当客户端。
事先下载安装好 openssl 库,否则会报 “命令不存在” 的错误。
-
首先安装 OpenVPN。安装过程一路下一步即可。
-
将安装目录 easy-rsa 下
vars.bat.sample
文件换成自己的信息,然后更名为vars.bat
。vars.bat 1
2...
set <KEY>=<VALUE> -
将
openssl.cnf.sample
更名为openssl.cnf
。 -
在 easy-rsa 文件夹下,先后运行
vars
和clean-all.bat
命令,以进行初始化。 -
生成 CA 根证书。
-
生成密钥交换协议算法参数。
-
生成服务端和客户端证书并签发十年有效期。
build-server-key.bat server
build-key.bat client
-
生成 ta key