一、实例内容

为了让在外地工作的职员能够通过×××来访问公司内部局域网的资料,公司打算在一台安装有CentOS Linux系统的机子上搭建Open×××服务器,该Open×××服务器在公司内部所属的网段为:192.168.1.0/24,Open×××服务器的IP地址为:192.168.1.100,公网与公司的一台路由器相连,该路由器的IP地址为:192.168.1.1
===================================================================
二、搭建步骤
1、下载open***所需要的软件
方法一:手动下载
1)open***服务器端软件(  与 )
 
 
2)open***客户端软件
(1)如果open***客户端是windows系统,那么可到 网站上去下载
(2)如果open***客户端是Linux系统,那么还是得下载lzo与open***这两个安装包
方法二:建立yum源下载
到 网站上去注册一个用户,然后使用该网站所提供的yum源(15天的试用期),如下
[55i386]
name=PBONE CentOS 5 i386
baseurl=http://yum.pbone.net/55/i386/
gpgcheck=0
proxy=http://proxy.pbone.net:3127/
proxy_username=ruanxi
proxy_password=ENTER_YOUR_PASSWORD_HERE
注意:当然你使用rpmforge的yum源也是可以的
2、安装并配置open*** 
1)配置open***服务器端(CenOS系统)
(1)安装所需要的软件
[ruanxi@Server ~]# yum search lzo open*** openssl
[ruanxi@Server ~]# yum install lzo open*** openssl
(2)配置准备工作
[ruanxi@Server ~]# cp -rf /usr/share/open***/easy-rsa/2.0 /etc/open***/
[ruanxi@Server~] # cp /usr/share/doc/open***-2.1/sample-config-files/server.conf /etc/open***/
[ruanxi@Server ~]# ls -l /etc/open***
total 16
drwxr-xr-x 2 root root 4096 Jan 20 16:23 2.0
-rw-r--r-- 1 root root 9970 Jan 20 16:24 server.conf 
(3)配置open***
第一步:初始化PKI
[root@Server ~]# cd /etc/open***/2.0
[root@Server 2.0]# vi vars
export KEY_COUNTRY="CN"
export KEY_PROVINCE="Fujian"
export KEY_CITY="Fuzhou"
export KEY_ORG="Open×××-33cn"
export KEY_EMAIL="c68@foxmail.com"
[ruanxi@Server ~]# source vars
[root@Server 2.0]# env | grep 'KEY'
KEY_EXPIRE=3650
KEY_EMAIL=c68@foxmail.com
KEY_SIZE=1024
KEY_DIR=/etc/open***/2.0/keys
KEY_CITY=Fuzhou
KEY_PROVINCE=Fujian
KEY_ORG=Open×××-33cn
KEY_CONFIG=/etc/open***/2.0/openssl.cnf
KEY_COUNTRY=CN

第二步:生成CA证书

[ruanxi@Server 2.0]# ./clean-all
[ruanxi@Server 2.0]# ./build-ca
第三步:生成server-key
[ruanxi@Server 2.0]# ./build-key-server open***-server
注意:当创建服务器的key时,Common Name输入的值为server,呵呵!
第四步:生成client-key
[ruanxi@Server 2.0]# ./build-key client1
注意两点
第1点:如果要生成多个客户端的key,那么你可以使用./build-key open***-client1、./build-key open***-client2、./build-key open***-client3…….
第2点:创建多个客户端的key时,Common Name输入的值必须不一样,同时客户端的key文件名(例如:./build-key 客户端key文件名)也必须不一样
第五步:生成Diffie-Hellman参数
[ruanxi@Server 2.0]# ./build-dh

ai:easy-rsa # ./build-dh Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time .................+........................................... ...................+.............+.................+......... ......................................
第六步:生成ta.key
[root@Server 2.0]# open*** --genkey --secret keys/ta.key 
第七步:将key目录下的所有文件打包下载到本地,以供客户端使用
[root@Server 2.0]# tar -zcvf client-conf.tar.gz keys
第八步:创建服务器配置文件
[root@Server 2.0]# cd keys
[root@Server keys]# cp -v ca.crt open***-server.crt open***-server.key dh1024.pem ta.key /etc/open***/
第九步:编辑配置文件/etc/open***/server.conf
[root@Server keys]# cd /etc/open***
[root@Server open***]# vi server.conf
第十步:启动open***服务器,并查看是否成功启动
[ruanxi@Server open***]# service open*** start
[ruanxi@Server open***]# netstat -al | grep 'open***'
[ruanxi@Server open***]# ifconfig tun0
第十一步:在公司的路由器必须映射端口:1194到Open××× Server上
情况1: 如果公司的路由器为Linux
iptables -t nat -A PREROUTING -p udp -d 公网地址 --dport 1194 -j DNAT --to-destination 192.168.1.100
:1194
情况2:如果公司的路由器为硬件路由器
 

2、配置open***客户端

1)open***客户端的系统为:windows xp2

第一步:安装open***客户端软件

第二步:将服务器上生成的客户端证书文件(在client-conf.tar.gz压缩包中)放到config(C:\Program Files\Open×××\config\)文件夹下,同时将sample-config(C:\Program Files\Open×××\sample-config\)文件夹下的范例client.o***拷到config(C:\Program Files\Open×××\config\)文件夹下

 

将上面生成的ca.crt、qikangwei.key、qikangwei.crt、ta.key下载到客户端本地,并放在open***安装目录下的config文件夹下。 ta.key可以不用,client.o***中注释掉。
双击ca.crt、qikangwei.crt安装证书。
 

 

第三步: 编辑客户端配置文件client.o***
第四步: Windows客户端连接Open××× Server,并测试
方法一:点击任务栏右下角的图标进行连接
方法二:直接右击配置文件法
第五步:当××× Client连接××× Server成功后,为了能让这些××× Client能够透过×××访问Internet,所以必须在××× Server上添加路由(包转发)
[root@Server open***]# vi /etc/rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s .0/24 -o eth0 -j SNAT --to-source 192.168.1.100
[root@Server open***]# chkconfig iptables --level 3 on
2)open***客户端的系统为:Linux
第一步:安装所需要的软件包
[ruanxi@Server ~]# yum search lzo open*** openssl
[ruanxi@Server ~]# yum install lzo open*** openssl
第二步:将服务器上生成的客户端证书文件(在client-conf.tar.gz压缩包中)放到/etc/open***/目录下,同时将/usr/share/doc/open***-2.1/sample-config-files/目录下的范例文件client.conf拷到/etc/open***/目录下
第三步:启动open***服务,并查看日志
[root@client open***]# service open*** start
[root@client open***]# chkconfig --level 3 open*** on
[root@client open***]# netstat -au | grep 'open***'
[root@client open***]# tail -f /var/log/messages
注意:如果出现Jan 16 22:26:07 client open***[2870]: TLS Error: Unroutable control packet received from 61.131.12.236:1194 (si=3 op=P_CONTROL_V1),这是因为Open*** Client的时间与Open*** Server的时间不同而导致的,此时我们同步一下Open*** Client的时间,可以使用ntpdate指令
 
第四步:检测一下是否连接成功