openvpn配置教程

更新时间:2024-04-07 14:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于 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 的 官 方 站 点 是 http://openvpn.net , 目 前 发 布 的 最 新 测 试 版 本 为

OpenVPN-2.1_rc13,稳定版为OpenVPN-2.0.9。 本章案例中,需要下载使用的相关软件包参考如下:

最新稳定版源码包:http://openvpn.net/release/openvpn-2.0.9.tar.gz Windows 安装包:

http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe LZO工具包:http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz OpenVPN 的安装及运行控制 8.2.1

在 RHEL5 系统中的安装

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

以按照默认的配置进行编译安装。OpenVPN 需要使用的 openssl 等软件均使用 RHEL5 系统自带 的 rpm 包,安装过程不再赘述。

[root@gw1 ~]# tar zxvf lzo-2.03.tar.gz [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 openvpn-2.0.9.tar.gz [root@gw1 ~]# cd openvpn-2.0.9

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

在 Windows XP 系统中的安装

双击下载的 openvpn-2.0.9-gui-1.0.3-install.exe 文件,按照向 导提示安装 即可。若只 作 为

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

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

OpenVPN 服务的运行控制

在 RHEL5 系统中,可以直接复制 openvpn 源码目录中的脚本样例文件,用于控制 openvpn 服务的开启、重启或关闭。

[root@gw1 ~]# cp -p openvpn-2.0.9/sample-scripts/openvpn.init /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。

图8.2 OpenVPN 远程虚拟专用网络架构

基于上述需求,可以将北京总部的网关服务器 GW1 配置为 VPN Server 模式,上海的网关服 务 器 GW2 和 Internet 网 管 工 作 站 PC1 均 使 用 VPN Client 模 式 。 分 别 建 立 两 条 点 对 点 (Point-to-Point)的 SSL VPN 安全隧道——“GW1 <----> GW2”、“GW1 <----> PC1”即可。 由于 Internet 网络的细节不是本案例的重点,因此 GW1、GW2 的公网 IP 地址分别使用 173.74.75.76 和 173.74.75.77 来模拟。其他网络接口地址设置如下: GW1、GW2 的内网接口 IP 地址分别为 192.168.1.1、192.168.2.1。

GW1 <----> GW2 隧道:分别使用虚拟 IP 地址 10.8.0.1/30、10.8.0.2/30。 GW1 <----> PC1 隧道:分别使用虚拟 IP 地址 10.9.0.1/30、10.9.0.2/30。 另外,两地局域网的客户机需要正确设置好 IP 地址、默认网关等参数: LAN1 的主机使用 192.168.1.0/24 网段,默认网关设为 192.168.1.1。 LAN2 的主机使用 192.168.2.0/24 网段,默认网关设为 192.168.2.1。

配置 GW1 <----> GW2 隧道连接

本小节主要阐述如何创建第 1 条 SSL VPN 隧道,用于连接 GW1、GW2 两台服务器,以便实 现北京、上海两地局域网(LAN1、LAN2)的安全互联。 主要实现过程如下。

第一步、配置主服务器(GW1)——北京

1. 配置 Internet 连接及 SNAT、路由转发 1)

配置 IP 地址

eth0 接口(173.74.75.76/24)用于连接 Internet,eth1 接口(192.168.1.1/24)用于连 接局域网(配置过程略) 。 2)

开启路由及 SNAT 转换

[root@gw1 ~]# vi /opt/gw1_nat.sh sysctl -w net.ipv4.ip_forward=1

/sbin/iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 173.74.75.76

[root@gw1 ~]# chmod a+x /opt/gw1_nat.sh

[root@gw1 ~]# echo \[root@gw1 ~]# /opt/gw1_nat.sh

2.安装 OpenVPN 服务

参考第8.2.1、8.2.3小节。 3. 创建证书和密钥文件

证书和密钥文件主要用于点对点客户端的认证,以便增强安全性。为了降低密钥创建过程 的复杂性,可以充分利用 OpenVPN 源码包提供的 easy-rsa/目录,该目录中包含一系列简单 易用的脚本工具(参考“openvpn-2.0.9/easy-rsa/README”文件) 。 3)

配置变量环境

修改 easy-rsa/vars 文件,根据实际情况适当修改预定义变量,或保持默认。在后续

创建相关文件的过程中,将会直接读取这些变量的内容。其中“KEY_DIR”变量的值决定了 新创建的密钥等文件的存放位置。

[root@gw1 openvpn-2.0.9]# cd easy-rsa/ [root@gw1 easy-rsa]# vi vars export D=`pwd`

export KEY_CONFIG=$D/openssl.cnf export KEY_DIR=$D/keys

echo NOTE: when you run ./clean-all, I will be doing a rm -rf on $KEY_DIR export KEY_SIZE=1024

export KEY_COUNTRY=CN //粗体部分根据具体应用情况进行修改 export KEY_PROVINCE=BeiJing export KEY_CITY=BeiJing export KEY_ORG=\

export KEY_EMAIL=\

[root@gw1 easy-rsa]# source vars //执行 vars 文件中的代码

NOTE: when you run ./clean-all, I will be doing a rm -rf on /root/openvpn-2.0.9/easy-rsa/keys

[root@gw1 easy-rsa]# ./clean-all //预先清除$KEY_DIR 目录 4)

创建 CA 证书

执行“./build-ca”脚本建立 CA 证书文件,根据脚本提示设置好国家代码、省份、城市、 公司名等信息,如通用识别名称“Common Name”项可以设置为 GW1 的 FQDN 名称。 后续创建的密钥文件需要依据该 CA 文件。 [root@gw1 easy-rsa]# ./build-ca

Generating a 1024 bit RSA private key ........++++++

......................................++++++ writing new private key to 'ca.key' -----

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank

For some fields there will be a default value, If you enter '.', the field will be left blank. -----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [BeiJing]: Locality Name (eg, city) [BeiJing]:

Organization Name (eg, company) [BENET.Inc]: Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server's hostname) []:gw1.benet.com Email Address [vpnadm@benet.com]: 5)

创建 dh(Diffie-Hellman)密钥算法文件

执行“./build-dh”脚本即可建立 dh 文件。 [root@gw1 easy-rsa]# ./build-dh

Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time

.............................................+.......................................................................+..............+..........

..........................................................................................................+..................+.................. .................//此处略去部分内容 ..........+.........+....+...++*++*++* 6)

创建 GW1 主服务器端密钥

执行“./build-key-server” 脚本可以 建 立 VPN 服务端密钥 文 件,根据 提 示设置好 Common Name(gw1.benet.com) ,最后依次按“y”键签署(Sign)及提交(Commit) 。 [root@gw1 easy-rsa]# ./build-key-server gw1 Generating a 1024 bit RSA private key ......................++++++ .........++++++

writing new private key to 'gw1.key' -----

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [BeiJing]: Locality Name (eg, city) [BeiJing]:

Organization Name (eg, company) [BENET.Inc]: Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server's hostname) []:gw1.benet.com Email Address [vpnadm@benet.com]:

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:

An optional company name []:

Using configuration from /root/openvpn-2.0.9/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok

The Subject's Distinguished Name is as follows countryName

:PRINTABLE:'CN'

stateOrProvinceName :PRINTABLE:'BeiJing' localityName

:PRINTABLE:'BeiJing' organizationName

:PRINTABLE:'BENET.Inc' commonName

:PRINTABLE:'gw1.benet.com' emailAddress

:IA5STRING:'vpnadm@benet.com'

Certificate is to be certified until Nov 2 23:10:13 2018 GMT (3650 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated 7)

创建 GW2 对端服务器密钥

执行“./build-key”脚本可以建立 VPN 客户端密钥文件, 同样根据提示设置好 CommonName(gw2.benet.com) ,最后依次按“y”签署(Sign)及提交(Commit) 。 [root@gw1 easy-rsa]# ./build-key gw2 Generating a 1024 bit RSA private key ..........++++++

.................++++++

writing new private key to 'gw2.key' -----

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [BeiJing]: Locality Name (eg, city) [BeiJing]:

Organization Name (eg, company) [BENET.Inc]: Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server's hostname) []:gw2.benet.com Email Address [vpnadm@benet.com]:

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:

An optional company name []:

Using configuration from /root/openvpn-2.0.9/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok

The Subject's Distinguished Name is as follows countryName

:PRINTABLE:'CN'

stateOrProvinceName :PRINTABLE:'BeiJing' localityName

:PRINTABLE:'BeiJing' organizationName

:PRINTABLE:'BENET.Inc' commonName

:PRINTABLE:'gw2.benet.com' emailAddress

:IA5STRING:'vpnadm@benet.com'

Certificate is to be certified until Nov 2 23:23:40 2018 GMT (3650 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n] y Write out database with 1 new entries Data Base Updated 请注意

使用“./build-key”脚本创建密钥时,不同的客户端对应的“Common Name”不能相同。

8) 生成 tls-auth 密钥

tls-auth 密钥可以为点对点的 VPN 连接提供了进一步的安全验证, 如果选择使用这一 方式,服务器端和客户端都必须拥有该密钥文件。

openvpn 命令跟上“--genkey --secret”选项可以用于建立 ta 密钥文件。 [root@gw1 easy-rsa]# openvpn --genkey --secret keys/ta.key 9) 最后将上述文件所在的 keys/文件夹转移至/etc/openvpn/目录 [root@gw1 easy-rsa]# mkdir -p /etc/openvpn/ [root@gw1 easy-rsa]# mv keys/ /etc/openvpn/ 4. 创建主服务器配置文件

在服务器配置文件中指定使用 Server 模式,监听默认的 UDP 1194 端口。虚拟接口采用 tun0

设 备 。 可 以 参 考 openvpn 源 码 目 录 中 的 配 置 范 例 (openvpn-2.0.9/sample-config-files/server.conf) 。 [root@gw1 ~]# vi /etc/openvpn/gw1_tun0.conf

local 173.74.75.76 //指定监听服务的 IP 地址 port 1194 //为第 1 条隧道开启默认的 1194 端口 proto udp

dev tun //使用 SSL Tune 的 VPN 隧道模式 ca keys/ca.crt cert keys/gw1.crt key keys/gw1.key dh keys/dh1024.pem

server 10.8.0.0 255.255.255.0 //使用服务器模式,并指定 VPN 虚拟网络地址 ifconfig-pool-persist ipp.txt

push \为 GW2 添加到 LAN1 网段的路由 push \为 GW2 添加到 PC1 的路由 push \为客户端设置 DNS 服务器地址 route 192.168.2.0 255.255.255.0 //为 GW1 添加到 LAN2 网段的路由 client-config-dir ccd //允许读取 ccd/目录下的客户端配置文件 keepalive 10 120

tls-auth keys/ta.key 0 //指定 tls-auth 密钥 cipher BF-CBC //加密算法与客户端要保持一致 comp-lzo

max-clients 100 //允许的最大并发 VPN 连接数 user nobody group nobody persist-key persist-tun

status openvpn-status.log log-append openvpn.log verb 3 mute 20

5. 建立用于 GW2 的 ccd 配置文件

[root@gw1 ~]# mkdir -p /etc/openvpn/ccd [root@gw1 ~]# cd /etc/openvpn/ccd/

[root@gw1 ccd]# vi gw2.benet.com //为对端服务器 GW2 创建独立的配置文件 iroute 192.168.2.0 255.255.255.0 //声明 GW2 后端的 LAN2 子网络

ifconfig-push 10.8.0.2 10.8.0.1 //指定 GW2 的本地地址(tun0) 、对端地址(P-t-P) 6. 启动 OpenVPN 服务

使用安装时建立的服务脚本启动 openvpn 服务。 [root@gw1 ~]# service openvpn start

[root@gw1 ~]# netstat -anp | grep openvpn

udp 0 0 173.74.75.76:1194 0.0.0.0:* 3528/openvpn

第二步、配置对端服务器(GW2)——上海

1. 配置 Internet 连接及 SNAT、路由转发 1)

配置 IP 地址

eth0 接口(173.74.75.77/24)用于连接 Internet,eth1 接口(192.168.2.1/24)用于连

接局域网(配置过程略) 。 2) 开启路由及 SNAT 转换

[root@gw2 ~]# vi /opt/gw2_nat.sh sysctl -w net.ipv4.ip_forward=1

/sbin/iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 173.74.75.77 [root@gw2 ~]# chmod a+x /opt/gw2_nat.sh

[root@gw2 ~]# echo \[root@gw2 ~]# /opt/gw2_nat.sh 2. 安装 OpenVPN 服务

参考第8.2.1、8.2.3小节。 3. 下载证书和密钥文件

下载在 GW1 主服务器端创建的 ca.crt、 ta.key、 gw2.key、 gw2.crt 文件, 使用 FTP、 SCP、

Email 等任何方式均可。 —— 在服务器 GW1 上:

[root@gw1 ~]# cd /etc/openvpn/keys/

[root@gw1 keys]# tar jcvf /var/ftp/send_to_gw2.tar.bz2 ca.crt ta.key gw2.key gw2.crt

将上述文件 send_to_gw2.tar.bz2 放到gw2 openvpn/keys 配置目录 [root@gw2 ~]# mkdir -p /etc/openvpn/keys/

[root@gw2 ~]# tar jxvf send_to_gw2.tar.bz2 -C /etc/openvpn/keys/ 4. 创建客户端配置文件

在客户端配置文件中指定使用 Client 模式,以及远程 VPN 服务器的地址和端口。可以参 考 openvpn 源码目录中的配置范例(openvpn-2.0.9/sample-config-files/client.conf) 。

[root@gw2 ~]# vi /etc/openvpn/gw2.conf client //使用客户端模式 dev tun proto udp

remote 173.74.75.76 1194 //点对点主服务器的地址、端口 resolv-retry infinite nobind

user nobody group nobody persist-key persist-tun ca keys/ca.crt cert keys/gw2.crt key keys/gw2.key ns-cert-type server tls-auth keys/ta.key 1

cipher BF-CBC //需和 GW1 服务器端保持一致 comp-lzo verb 3 mute 20

5.启动 OpenVPN 服务

使用安装时建立的服务脚本启动 openvpn 服务。 [root@gw2 ~]# service openvpn start

[root@gw2 ~]# netstat -anp | grep openvpn udp 0 0 0.0.0.0:32790 0.0.0.0:*

unix 2 [] DGRAM 27729 2886/openvpn 2886/openvpn 第三步、验证 SSL VPN 连接 1. GW1 服务器的 VPN 接口状态

5) GW1 主服务器 tun0 接口的 IP 地址为 10.8.0.1,点对点对端地址为 10.8.0.2。 [root@gw1 ~]# ifconfig tun0 tun0 Link encap:UNSPEC

00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

6) 路由表中应有通过 GW2 访问 LAN2 网段的路由记录。 [root@gw1 ~]# route -n

2. GW2 服务器的 VPN 接口状态 [root@gw2 ~]# ifconfig tun0

1) GW2 服务器 tun0 接口的 IP 地址为 10.8.0.2,点对点对端地址为 10.8.0.1 2)路由表中应有通过 GW1 访问 LAN1 网段的路由记录 3. 测试 SSL VPN 隧道连接 1) 测试 GW1 与 GW2 的连接

[root@gw1 ~]# ping 10.8.0.2 -c 2

PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.

64 bytes from 10.8.0.2: icmp_seq=1 ttl=64 time=6.90 ms 64 bytes from 10.8.0.2: icmp_seq=2 ttl=64 time=4.06 ms --- 10.8.0.2 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 4.063/5.484/6.906/1.423 ms 2) 测试LAN1、LAN2 中主机之间的互联(如图 8.3所示)

图8.3 测试 LAN1、LAN2 中主机之间的互联

配置“GW1 <----> PC1”隧道连接

本小节主要描述如何创建第 2 条 SSL VPN 隧道,用于在 GW1、PC1 之间建立点到点的安全 连接,以便 Windows XP 客户端能够从 Internet 中安全的接入总部的 VPN 网络,进一步访问两地

的局域网络。

推荐主要实现步骤如下。

第一步、配置主服务器(GW1)——北京 1. 创建 PC1 用户端密钥

在 GW1 服务器上为 PC1 网管机建立单独的密钥文件,注意 Common Name 不要和其他 密钥重复。

生成的密钥文件必需放置到/etc/openvpn/keys/目录中 (可以直接调整 KEY_DIR 变 量) 。 [root@gw1 ~]# cd openvpn-2.0.9/easy-rsa/ [root@gw1 easy-rsa]# source vars

[root@gw1 easy-rsa]# export KEY_DIR=/etc/openvpn/keys/ [root@gw1 easy-rsa]# ./build-key client-pc1 Generating a 1024 bit RSA private key ...........++++++

..........................................++++++ writing new private key to 'client-pc1.key' -----

You are about to be asked to enter information that will be incorporated into your certificate request

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [BeiJing]: Locality Name (eg, city) [BeiJing]:

Organization Name (eg, company) [BENET.Inc]: Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server's hostname)[]:clientpc1.benet.com Email Address [vpnadm@benet.com]:

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:

An optional company name []:

Using configuration from /root/openvpn-2.0.9/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok

The Subject's Distinguished Name is as follows countryName

:PRINTABLE:'CN'

stateOrProvinceName :PRINTABLE:'BeiJing' localityName

:PRINTABLE:'BeiJing' organizationName

:PRINTABLE:'BENET.Inc' commonName

:PRINTABLE:'client-pc1.benet.com' emailAddress

:IA5STRING:'vpnadm@benet.com'

Certificate is to be certified until Nov 2 23:32:05 2018 GMT (3650 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated

2. 创建第 2 个服务配置文件

该配置文件用于建立“GW1 <----> PC1”隧道连接,将使用 tun1 设备、监听 UDP 1195 端 口。

[root@gw1 ~]# vi /etc/openvpn/gw1_tun1.conf local 173.74.75.76

port 1195 //为第 2 条隧道开启新的 1195 端口监听服务 proto udp dev tun

ca keys/ca.crt cert keys/gw1.crt

key keys/gw1.key dh keys/dh1024.pem

server 10.9.0.0 255.255.255.0 //设置第 2 条隧道的虚拟网络地址 ifconfig-pool-persist ipp.txt

push \为 PC1 添加到 LAN1 的路由 push \为 PC1 添加到 LAN2 的路由 push \为 PC1 添加到 GW2 的路由 push \client-to-client

client-config-dir ccd keepalive 10 120

tls-auth keys/ta.key 0 cipher BF-CBC comp-lzo

max-clients 10 user nobody group nobody persist-key persist-tun

status openvpn-status-2.log //启用新的日志文件 log-append openvpn-2.log verb 3 mute 20

3. 建立用于 PC1 的 ccd 配置文件

[root@gw1 ~]# vi /etc/openvpn/ccd/client-pc1.benet.com ifconfig-push 10.9.0.2 10.9.0.1 4. 重新启动 OpenVPN 服务

重启 openvpn 服务后应在 1194、1195 端口分别监听服务。 [root@gw1 ~]# service openvpn restart

[root@gw1 ~]# netstat -anp | grep openvpn

udp 0 0 173.74.75.76:1194 0.0.0.0:* 4133/openvpn udp 0 0 173.74.75.76:1195 0.0.0.0:* 4147/openvpn 第二步、配置 Windows XP 客户机(PC1)——上海 1. 配置 IP 地址及 Internet 连接(略) 2. 安装 OpenVPN-GUI 客户端工具 参考第8.2.2小节。 3. 下载证书和密钥文件

下载在 GW1 主服务器端创建的 ca.crt、ta.key、client-pc1.key、client-pc1.crt 文件。

将 下 载 的 密钥 等 相 关 文件 复 制 到 OpenVPN 配 置 文 件 目 录下 ( 默 认为 C:\\Program

Files\\OpenVPN\\config\\) 。注意保留好备份。 4. 创建 PC1 用户端配置文件

使用 Windwos XP 系统自带的记事本工具创建客户端配置文件 client-pc1.ovpn, 文件内容 可以参考范例(C:\\Program Files\\OpenVPN\\sample-config\\client.ovpn) 。 Microsoft Windows [版本 5.2.3790]

(C) 版权所有 1985-2003 Microsoft Corp.

C:\\Documents and Settings\\Administrator> notepad client-pc1.ovpn client dev tun proto udp

remote 173.74.75.76 1195 resolv-retry infinite nobind

persist-key persist-tun ca ca.crt

cert client-pc1.crt key client-pc1.key ns-cert-type server tls-auth ta.key 1 cipher BF-CBC comp-lzo verb 3 mute 20

将建好的配置文件保存到C:\\Program Files\\OpenVPN\\config\\文件夹下 (如图 8.4所示)

5. 建立 OpenVPN 连接

方法一:在 Windows XP 任务栏右侧(系统托盘区)的 OpenVPN-GUI 图标上点击右键, 选择“Connect”,即可使用创建好的配置文件建立 VPN 连接。 方法二:

在创建好的 client-pc1.ovpn 文件上点击右键, 选择“Start OpenVPN on this config

file”即可。——用此方法可以查看建立连接的过程信息,适合用于调试/排错。 第三步、验证 SSL VPN 连接 1. GW1 服务器的 VPN 接口状态

GW1 主服务器将会新增接口 tun1,IP 地址为 10.9.0.1,点对点对端地址为 10.9.0.2。 [root@gw1 ~]# ifconfig tun1

tun1 Link encap:UNSPEC

00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet addr:10.9.0.1 P-t-P:10.9.0.2 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500

RX packets:34 errors:0 dropped:0 overruns:0 frame:0 TX packets:29 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100

RX bytes:3034 (2.9 KiB) TX bytes:2998 (2.9 KiB) 2. Windows XP 客户机 PC1 的 VPN 接口状态 使用 OpenVPN-GUI 连接成功以后,

系统将会增加一个“TAP-Win32 Adapter V8”的本地连 接,用户可以通过“开始 ---> 设置 ---> 网络连接”进行查看。

使用“ipconfig /all”命令查看PC1 新增的VPN接口,IP地址应为 10.9.0.2(如图 8.5所示) ,

由对端服务器 10.9.0.1 自动配置。

图8.5 客户机 PC1 的 VPN 接口地址

3. 测试 PC1 与 GW1、GW2 之间的连接 1) 连接GW1(如图 8.6所示)

图8.6 PC1 到 GW1 的 ping 测试

2) 连接GW2,使用ping测试(如图 8.7所示)

现在你可以测试整个网络的连通性!!! 祝你好运^_^ ^_^ ^_^

本文来源:https://www.bwwdw.com/article/5q8r.html

Top