实验环境
system:centos 6.5
hostname:open***-server
ip:192.168.1.236
安装包地址:http://down.51cto.com/data/1976343 (免豆)
[root@open***-server ~]# yum -y install openssl openssl-devel gcc
1.安装lzo
注:lzo,用于压缩隧道通信数据以加快传输速度。
[root@***-server opt]# tar zxf lzo-2.03.tar.gz
[root@***-server opt]# cd lzo-2.03
[root@***-server lzo-2.03]# ./configure --prefix=/usr
[root@***-server lzo-2.03]# make && make install
2.安装open***
[root@***-server opt]# tar zxf open***-2.0.9.tar.gz
[root@***-server opt]# cd open***-2.0.9
[root@***-server open***-2.0.9]# ./configure --with-lzo-lib=/usr
[root@***-server open***-2.0.9]# make && make install
3.open***服务端配置
[root@open***-server open***-2.0.9]# vi /opt/open***-2.0.9/easy-rsa/2.0/vars
export KEY_COUNTRY=CN #国家
export KEY_PROVINCE=GD #所属省份
export KEY_CITY=Shenzhen #所在城市
export KEY_ORG="Kim***" #所属组织,CA证书也会根据这个生成
export KEY_EMAIL="[email protected]" #邮箱,可任意填写
[root@open***-server open***-2.0.9]# source /opt/open***-2.0.9/easy-rsa/2.0/vars #使修改的变量生效
NOTE: when you run ./clean-all, I will be doing a rm -rf on /root/keys
4.open***配置
[root@***-server ~]# cd /opt/open***-2.0.9/easy-rsa/2.0
[root@open***-server 2.0]# ./clean-all #清除所有open***的证书文件
[root@open***-server 2.0]# ./build-ca #生成ca证书
[root@open***-server 2.0]# ls -lsart keys |grep ca
4 -rw------- 1 root root 916 Jan 8 12:12 ca.key
4 -rw-r--r-- 1 root root 1220 Jan 8 12:12 ca.crt
[root@open***-server 2.0]# ./build-dh #生成 dh1024.pem 文件
为服务器生成证书和密钥
[root@open***-server 2.0]# ./build-key-server Kim***
为客户端生成客户端证书文件,本文用到了client1和client2两个用户为例。
[root@open***-server 2.0]# ./build-key client1
[root@open***-server 2.0]# ./build-key client2 #操作同上
[root@open***-server 2.0]# ls -lsart keys
修改open***服务器的配置文件/etc/server.conf
[root@open***-server 2.0]# cp -p /opt/open***-2.0.9/sample-config-files/server.conf /etc/server.conf
[root@open***-server 2.0]# vi /etc/server.conf #修改配置为如下内容
proto tcp #将proto udp改成 proto tcp,即启用tcp端口。
ca /opt/open***-2.0.9/easy-rsa/2.0/keys/ca.crt
cert /opt/open***-2.0.9/easy-rsa/2.0/keys/Kim***.crt
key /opt/open***-2.0.9/easy-rsa/2.0/keys/Kim***.key
dh /opt/open***-2.0.9/easy-rsa/2.0/keys/dh1024.pem
log /var/log/open***.log #开启日志
server 192.168.2.0 255.255.255.0 #open***服务端为***客户端分配的网段,注意不要与公司真实网段发生冲突。
verb 5
[root@open***-server 2.0]# echo "1" > /proc/sys/net/ipv4/ip_forward #开启ip转发,保证数据包在不同网段之间流通。
[root@open***-server ~]# /usr/local/sbin/open*** --config /etc/server.conf & #启动***,加入后台运行
[root@open***-server ~]# netstat -anpt |grep open***
tcp 0 0 0.0.0.0:1194 0.0.0.0:* LISTEN 51774/open***
5.客户端配置(安装包在文档前面提供的下载链接里)
登陆到linux端open***服务器上,将/opt/open***-2.0.9/sample-config-files目录下的cleint.conf
文件下载到windows端***客户端机器上,放到C:\\Program Files (x86)\\Open×××\\config目录下,重命名为client1.o*** ,将/opt/open***-2.0.9/easy-rsa/2.0/keys目录下的ca.crt ,client1.crt ,client1.key三个文件下载到windows端***客户端机器上,放到C:\\Program Files (x86)\\Open×××\\config目录下。
编辑C:\\Program Files (x86)\\Open×××\\config目录下的client1.o***文件
proto tcp #将proto udp改成proto tcp
remote 192.168.1.236 1194
ca ca.crt
cert client1.crt
key client1.key
#comp-lzo #注释comp-lzo
6.客户端连接***
点击windows右下角的Open××× GUI图标,选择connect。
由上图可见,客户端已经获取到***-server分配的ip地址。
7.注销***用户
注:由于***用在企业中,***的服务端会为每个***客户端建立证书文件,如果有同事离职,需要注销用户,例client1用户:
[root@open***-server ~]# cd /opt/open***-2.0.9/easy-rsa/2.0/
[root@open***-server 2.0]# ./revoke-full client1
Please source the vars script first (i.e. "source ./vars")
Make sure you have edited it to reflect your configuration.
提示以上信息需做一下操作
[root@open***-server 2.0]# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /opt/open***-2.0.9/easy-rsa/2.0/keys
然后在执行注销
[root@open***-server 2.0]# ./revoke-full client1
注:出现以上错误正常,这是open***自身的bug,解决方法如下
[root@open***-server 2.0]# vi /opt/open***-2.0.9/easy-rsa/2.0/openssl.cnf
[root@open***-server 2.0]# ./revoke-full client1
如上图,出现error23字样,表示注销成功,不过你会发现这个证书任然能登陆,原因是上面的操作在keys下产生了crl.pem文件,里面就是注销掉的证书。也就是说相关证书还未完全注销,需做以下操作:
[root@open***-server 2.0]# vi /etc/server.conf
crl -verify /opt/open***-2.0.9/easy-rsa/2.0/keys/crl.pem #添加本行内容
重启open***,发现客户端已经不能登陆***了。