Open×××是不同于PPTP、L2TP的另一种×××软件包,基于SSL的×××。Open×××使用需要客户端支持。这里系统为CentOS6.2。
一、检查Open×××所需环境
Open×××需要TUN设备支持,还需要iptables的nat模块支持。1、检查TUN模块:modinfo tun显示如下:
如果报错则不支持TUN设备。2、在OpenVZ虚拟化的VPS上,需要管理员在母鸡上打开TUN/TAP设备。cat /dev/net/tun如果返回:
cat: /dev/net/tun: File descriptor in bad state
VPS的TUN/TAP已经可以使用。
如果返回:
cat: /dev/net/tun: No such device
或者其它,说明TUN/TAP设备没有被正确配置,需要与客服沟通开通TUN/TAP。
3、检查OpenVZ的VPS上iptables是否支持:iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE如果返回:
iptables: Unknown error 4294967295
说明支持。
二、编译安装Open×××1、安装LZOLZO是一种数据压缩算法。cd /tmpwget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gztar -zxvf lzo-2.06.tar.gzcd lzo-2.06./configuremakemake install2、安装Open×××cd /tmpwget http://swupdate.open***.org/community/releases/open***-2.2.2.tar.gztar -zxvf open***-2.2.2.tar.gzcd open***-2.2.2./configure此时提示:
configure: error: OpenSSL Crypto headers not found.
原来是openssl的开发包没有安装:yum install openssl-devel继续安装:./configuremakemake installmkdir /etc/open***cp -R /tmp/open***-2.2.2/easy-rsa/ /etc/open***/ #复制生成证书的脚本三、生成密钥和证书1、初始化PIKcd /etc/open***/easy-rsa/2.0/vim vars设置最后的证书字段值:export KEY_COUNTRY="CN"export KEY_PROVINCE="SH"export KEY_CITY="shanghai"export KEY_ORG="xxxx"export KEY_EMAIL="xxx@xxx.com"export KEY_EMAIL=xxx@xxx.comexport KEY_CN=tomexport KEY_NAME=tomexport KEY_OU=tomexport PKCS11_MODULE_PATH=tomexport PKCS11_PIN=1234使vars设置生效:source ./vars报错:
No /etc/open***/easy-rsa/2.0/openssl.cnf file could be foundFurther invocations will fail
将/etc/open***/easy-rsa/2.0目录下的openssl-1.0.0.cnf改名为openssl.cnf可解决:cp openssl-1.0.0.cnf openssl-1.0.0.cnf.bakmv openssl-1.0.0.cnf openssl.cnf继续运行脚本设置变量,并清理:source ./vars./clean-all建立私钥:./build-ca
build-ca脚本用于生成一个1024位的RSA私钥,由于前面已经设置过vars文件,直接按回车。2、建立server key./build-key-server server
前面几个按回车,中间有extra属性要填,最后按两个y。3、建立client key./build-key client1
和建立server key基本相同,生成的每个客户端证书名字要不同。一份客户端证书对应一个客户端。4、生成Diffie Hellman参数./build-dh5、将keys下的所有文件下载到本地可以用winscp等工具。
6、创建服务端配置文件将源代码解压后目录下的规范配置文件复制过来。mkdir /etc/open***/easy-rsa/2.0/conf/cp /tmp/open***-2.2.2/sample-config-files/server.conf /etc/open***/easy-rsa/2.0/conf/编辑配置文件:vim /etc/open***/easy-rsa/2.0/conf/server.conf找到:
ca ca.crtcert server.crtkey server.keydh dh1024.pem
修改为:ca /etc/open***/easy-rsa/2.0/keys/ca.crtcert /etc/open***/easy-rsa/2.0/keys/server.crtkey /etc/open***/easy-rsa/2.0/keys/server.keydh /etc/open***/easy-rsa/2.0/keys/dh1024.pem并将以下几句前的分号去掉:push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"client-to-clientuser nobodygroup nobody7、设置IP包转发vim /etc/sysctl.conf将“net.ipv4.ip_forward”的值改为1。
使sysctl.conf配置生效:sysctl -p8、添加iptables转发iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE/etc/init.d/iptables save/etc/init.d/iptables restartPS:如果iptables save报错
iptables: Saving firewall rules to /etc/sysconfig/iptables: /etc/init.d/iptables: line 268: restorecon: command not found
要安装一个软件包:yum install policycoreutils9、设置Open×××开机自启动echo "/usr/local/sbin/open*** --config /etc/open***/easy-rsa/2.0/conf/server.conf &" >> /etc/rc.local10、启动Open×××/usr/local/sbin/open*** --config /etc/open***/easy-rsa/2.0/conf/server.conf四、安装Windows客户端Open××× GUI For Windows1、下载客户端软件并安装
http://open***.se/files/install_packages/open***-2.0.9-gui-1.0.3-install.exe
2、配置客户端将下载下来的keys文件夹内的:ca.crtca.keyclient1.crtclient1.csrclient1.key复制到客户端安装路径config文件夹下。例如:C:\Program Files\Open×××\config
将安装路径sample-config文件夹下的client.o***也复制到config文件夹内。
打开client.o***,找到:
remote my-server-1 1194
将my-server-1修改为Open×××服务端的ip地址。
找到:
cert client.crtkey client.key
修改为客户端证书的名字。cert client1.crtkey client1.key在最后加上:redirect-gateway def1使客户端把Open×××服务器IP设为默认网关。
双击client.o***即可启动open***,或者通过Open××× GUI的控制启动×××。
随后到ip查询的网站上查看自己的ip是否为Open×××服务器ip。
备注:客户端连接时报错:
There are no TAP-Win32 adapters on this system. You should be able to create a TAP-Win32 adapter by going to Start -> All Programs -> Open××× -> Add a new TAP-Win32 virtual ethernet adapter.
需要安装TAP-Win32 virtual ethernet adapter。