2024年4月15日发(作者:)

基于 Linux 的 OpenVPN 网络

OpenVPN 概述

OpenVPN 是一个开源的加密隧道构建工具,

基于 OpenSSL 的 SSL/TLS 协议, 可以在 Internet 中实现点对点的 SSL VPN 安全连接。

使用 OpenVPN 的好处是安全、易用和稳定,且认证方式灵 活,具备实现 SSL VPN 解决方案

的完整特性。OpenVPN 可以应用于 Linux、Unix、Mac OS 以及 Windows 等各种操作系统平

台。

OpenVPN 提供两种类型的虚拟网络接口:TUN 和 TAP,分别用于建立 IP 隧道、以太网桥接。

在 Linux 中使用这两种虚拟设备,需要对应的内核模块支持。RHEL5 系统默认已编译好 tun

模块,

直接使用即可。

OpenVPN 的 官 方 站 点 是 , 目 前 发 布 的 最 新 测 试 版 本

OpenVPN-2.1_rc13,稳定版为OpenVPN-2.0.9。

本章案例中,需要下载使用的相关软件包参考如下:

最新稳定版源码包:/release/

Windows 安装包:

/files/install_packages/

LZO工具包:/opensource/lzo/download/

OpenVPN 的安装及运行控制

8.2.1

在 RHEL5 系统中的安装

需要先安装 lzo 软件包,用于压缩隧道通讯数据以加快传输速度。lzo 和 openvpn 源码包

都可

以按照默认的配置进行编译安装。OpenVPN 需要使用的 openssl 等软件均使用 RHEL5 系统

自带 的 rpm 包,安装过程不再赘述。

[root@gw1 ~]# tar zxvf

[root@gw1 ~]# cd lzo-2.03

[root@gw1 lzo-2.03]# ./configure && make && make install

[root@gw1 lzo-2.03]# cd ../

[root@gw1 ~]# tar zxvf

[root@gw1 ~]# cd openvpn-2.0.9

[root@gw1 openvpn-2.0.9]# ./configure && make && make install

在 Windows XP 系统中的安装

双击下载的 文件,按照向 导提示安装 即可。若只

作 为

OpenVPN客户端使用,安装时可以不勾选定制组件列表中的“OpenVPN Service”(如图 8.1

所示) 。

图8.1 安装 OpenVPN-GUI 客户端工具

OpenVPN 服务的运行控制

在 RHEL5 系统中,可以直接复制 openvpn 源码目录中的脚本样例文件,用于控制 openvpn

服务的开启、重启或关闭。

[root@gw1 ~]# cp -p openvpn-2.0.9/sample-scripts/

/etc/init.d/openvpn

[root@gw1 ~]# chkconfig --add openvpn

[root@gw1 ~]# chkconfig --level 2345 openvpn on

[root@gw1 etc]# service openvpn status

openvpn: service not started

启动openvpn进程需要建立对应的配置文件,具体配置过程请参考第8.3节的应用案例。

OpenVPN 网络架构应用实例

案例需求分析

本案例主要基于RHEL5 和Windows XP系统环境,跨越不安全的Internet网络,为异地的两

局域网及远程网管工作站建立安全的SSL VPN连接(如图 8.2所示) 。

其中,北京总部和上海分公司的网关服务器均使用 RHEL5 系统,需要分别配置 OpenVPN,

用于连接两个异地的局域网 LAN1、LAN2。此外,位于 Internet 中的网管工作站使用

Windows XP 系统,需要随时通过 VPN 安全隧道访问总部的局域网 LAN1 和上海分公司的局

域网 LAN2。