Open×××是一个用于创建虚拟专用网络加密通道的软件包,最早由James Yonan编写。
    Open×××允许参与建立×××的单点使用公开密钥、电子证书、或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。
    目前Open×××能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista/7上运行,并包含了许多安全性的功能。它并不是一个基于Web的×××软件,也不与IPsec及其他×××软件包兼容。
 
安装RPMforge
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
 
安装Open×××
yum -y install open*** openssl openssl-devel
 
复制easy-rsa文件夹,方便后续配置
cp -R /usr/share/doc/open***-2.1.4/easy-rsa/ /etc/open***/
 
生成CA证书
cd /etc/open***/easy-rsa/2.0
chmod +rwx *
. ./vars
./clean-all
source ./vars
./build-ca
此时会提示输入一些信息,可以都直接回车默认。
 
生成服务器端证书和密钥
./build-key-server server
此时也会提示输入一些信息,前面的信息直接回车默认,提示Sign the certificate? [y/n]:时输入y,提示1 out of 1 certificate requests certified, commit? [y/n] 也是输入y,server名字可以自定义。
 
生成 Diffie Hellman 参数
./build-dh
 
生成客户端证书和密钥
./build-key client1
此时也会提示输入一些信息,前面的信息直接回车默认,提示Sign the certificate? [y/n]:时输入y,提示1 out of 1 certificate requests certified, commit? [y/n] 也是输入y,server名字可以自定义。
 
注:服务端名字和客户端名字不能一样。
 
创建服务端配置文件
vi /etc/open***/server.conf
输入以下内容:
port 443
proto tcp
dev tun
ca /etc/open***/easy-rsa/2.0/keys/ca.crt
cert /etc/open***/easy-rsa/2.0/keys/server.crt
key /etc/open***/easy-rsa/2.0/keys/server.key
dh /etc/open***/easy-rsa/2.0/keys/dh1024.pem
server 192.168.9.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#push "redirect-gateway"
push "dhcp-option gateway 192.168.9.1"
push "dhcp-option DNS 202.96.128.86"
keepalive 10 120
comp-lzo
persist-key
persist-tun
 
创建客户端配置文件
vi /etc/open***/easy-rsa/2.0/keys/client1-***.wucode.com.o***
输入以下内容:
client
dev tun
proto tcp
remote ***.wucode.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
route-delay 2
route-method exe
verb 3
 
打包客户端的配置文件
cd /etc/open***/easy-rsa/2.0/keys/
zip /root/client1-keys.zip ca.crt ca.key client1.crt client1.csr client1.key client1-***.wucode.com.o***
 
先在windows机器上安装Open×××客户端,然后将client1-keys.zip下载,解压到客户端安装目录“C:\Program Files\Open×××\config”下。
 
配置iptables
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT   (如果INPUT设置是DROP的话)
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT   (如果OUTPUT设置是DROP的话)
iptables -t nat -A POSTROUTING -s 192.168.9.0/255.255.255.0 -o eth0 -j MASQUERADE
/etc/rc.d/init.d/iptables save
 
让Open×××自动开机启动
echo "/usr/sbin/open*** --config /etc/open***/server.conf &" >> /etc/rc.local
这样就OK了,可以在客户端登录测试了。
 
以后需要添加新用户,可按下面操作进行添加
cd /etc/open***/easy-rsa/2.0/
source ./vars
./build-key client2