在@neolee和@YangBalu的协助下总算在OpenVZ的VPN上建起了openvpn服务,操作系统是CentOS 5 32bit。
在综合多人经验的基础上我采用了使用源码编译安装openvpn的方式,这是我记录下来的自动安装脚本:
#!/bin/bash curdir=$(pwd) wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.05.tar.gz wget http://swupdate.openvpn.net/community/releases/openvpn-2.2.1.tar.gz tar zxvf lzo-2.05.tar.gz cd lzo-2.05 ./configure make && make install cd .. tar zxvf openvpn-2.2.1.tar.gz cd openvpn-2.2.1 ./configure --prefix=/usr/local/openvpn --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib --with-ssl-headers=/usr/include/openssl --with-ssl-lib=/usr/lib make && make install cp -R easy-rsa /usr/local/openvpn/ cd /usr/local/openvpn/easy-rsa/2.0 vim vars . ./vars ./clean-all echo Build-ca ./build-ca echo Build server key ./build-key-server server echo Build client key ./build-key client1 echo Build forTouch key ./build-key forTouch echo Build Diffie Hellman ./build-dh /usr/local/openvpn/sbin/openvpn --genkey --secret keys/ta.key mkdir -p /var/log/openvpn/ sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf sysctl -p ln -s /usr/local/openvpn/sbin/openvpn /usr/bin/openvpn cp $curdir/server.conf /usr/local/openvpn echo "openvpn --config /usr/local/openvpn/server.conf &" >> /etc/rc.local openvpn --config /usr/local/openvpn/server.conf &
其中在执行“. ./vars”之前可以先打开vars文件修改最后的几行EXPORT为自己的默认信息,这样在安装过程中一路回车即可,当然也可以什么不用改使用默认的设置。
这里我用到了server.conf,安装之前预先把它做好放到跟上面的安装脚本文件在同一目录下,安装过程会把它拷到/usr/local/openvpn目录下。
server.conf的有效脚本:
port 1194 proto udp dev tun ca /usr/local/openvpn/easy-rsa/2.0/keys/ca.crt cert /usr/local/openvpn/easy-rsa/2.0/keys/server.crt key /usr/local/openvpn/easy-rsa/2.0/keys/server.key dh /usr/local/openvpn/easy-rsa/2.0/keys/dh1024.pem server 192.168.89.0 255.255.255.0 push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" client-to-client keepalive 10 120 tls-auth /usr/local/openvpn/easy-rsa/2.0/keys/ta.key 0 comp-lzo max-clients 50 user nobody group nobody persist-key persist-tun status /var/log/openvpn/status.log 1 log /var/log/openvpn/openvpn.log verb 3 mute 10
然后就是配置Windows客户端,到openvpn网站下载最新版,写这个小结时的当前版本是http://swupdate.openvpn.net/community/releases/openvpn-2.2.1-install.exe(好象只能翻墙下载,可以先在VPS上用wget下载,然后通过winscp拉到本地)。
安装后把VPS上/usr/local/openvpn/easy-rsa/2.0/keys/目录下的ca.crt、ta.key以及给客户端建的证书client1.crt和client1.key下载到openvpn安装目录下的config子目录下,新建一个client1.ovpn文件,内容对应如下:
client dev tun proto udp remote 11.22.33.44 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key tls-auth ta.key 1 ns-cert-type server comp-lzo verb 3 keepalive 10 120 route-method exe route-delay 2
把11.22.33.44换成自己VPS的IP或域名,然后就可以连接了。
iTouch上的openvpn参见这里,iTouch首先要越狱,然后在cyida里添加apt.weiphone.com源,安装威锋源里的GuizmOVPN软件,安装完重启好后运行GuizmOVPN,然后下载配置文件。
GuizmOVPN需要注册才可以长期使用,在上面的教程里找到这个注册码,实测有效:
email: webmaster@5uf.net
Serial:85578387
配置文件的制作方法:把Windows客户端config目录下的所有文件压缩成一个zip文件(注意不要带目录压缩,即压缩后双击打开zip文件应该看到的是config目录下同样的文件列表,而不是看到config之类的目录,格式一定要是zip,rar不行的),然后把zip文件放到任意可以通过浏览器访问下载到的地方,然后在CuizmOVPN里输入对应的地址下载,下载完连接即可。
我遇到的一个问题是OpenVPN断开后网络也就断掉无法上网了,解决办法是把wifi关掉再打开。
iptables的设置脚本参考上一篇“VPS搭建pptp VPN小结”,差别是端口和协议不一样:
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
@neolee的教程可供参考:CentOS OpenVZ VPS配置OpenVPN小记
相关日志
Tags: VPS
我来试试看touch用openvpn吧,前些天看GuizmOVPN这个软件貌似挺麻烦的。。。