Linode VPS OpenVPN安装配置教程(基于Debian/Ubuntu)
因为众所周知的原因,目前Gmail等相关服务原来越不稳定,虽然可以通过SSH来解决,但是打开网站一多SSH也有些力不从心,VPS侦探以前发表过在Linode VPS上安装PPTP VPN的教程,相对于PPTP来说OpenVPN加密型更强,而且穿透性更强。
本教程也适用其他的基于Debian/Ubuntu Linux的VPS/服务器,也已在DiaHosting、VPSYOU、PhotonVPS、123Systems、oplink上测试通过,如有问题欢迎反馈。(Linode购买及测试教程:http://www.vpser.net/usa-vps/linode.html )
如果您觉得本文对您有所帮助,并想购买 Linode VPS [512M内存, 16GB硬盘, 200GB流量/月 = $19.95/月],请点击 [链接]购买,或者购买时在填写:8feb8d13729744f394433de7ede23efbbab1205a。(VPS侦探注:购买Linode需要使用Visa/Master信用卡,没有可以找军哥代购。)
1、安装
2、使用easy-rsa生成服务端证书
将OpenVPN所需的配置文件复制到/etc/openvpn/下面:
生产CA证书:
source vars
./clean-all
./build-ca
./build-ca时会提示输入一些信息,可以都直接回车按默认信息。
生成服务器端证书和密钥,server为名字可以自定义:
此步也是会提示输入一些信息,前面的信息直接回车按默认信息,提示Sign the certificate? [y/n]:时输入y,提示1 out of 1 certificate requests certified, commit? [y/n] 也是输入y。
生成客户端证书和密钥,client为名字可以自定义,注意前面的./build-key-server与./build-key client输入的名字不能相同:
前面的信息直接回车按默认信息,提示Sign the certificate? [y/n]:时输入y,提示1 out of 1 certificate requests certified, commit? [y/n] 也是输入y
生成其他的客户端就是执行:./build-key 你想添加的客户端的名字。
生成的证书和密钥存放在/etc/openvpn/easy-rsa/2.0/keys/下面。
生成Diffie Hellman参数:
3、配置OpenVPN服务
编辑/etc/openvpn/server.conf 文件,如果没有可以创建一个,加入下面的内容:
port 8080 #端口,需要与客户端配置保持一致
proto udp #使用协议,需要与客户端配置保持一致
dev tun #也可以选择tap模式
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
ifconfig-pool-persist ipp.txt
server 10.168.1.0 255.255.255.0 #给客户的分配的IP段,注意不要与客户端网段冲突!
push "redirect-gateway"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
;duplicate-cn
keepalive 20 60
comp-lzo
max-clients 50
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 3
mute 20
按上述说明修改服务器IP,复制到VPS上是可以把注释信息删除。
安装iptables
设置IP转发
iptables-save > /etc/iptables.rules
上面的eth0要替换为你的网卡标识,可以通过ifconfig查看。
在/etc/network/if-up.d/目录下创建iptables文件,内容如下:
iptables-restore < /etc/iptables.rules
给脚本添加执行权限:
修改/etc/sysctl.conf的内容为:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
重新载入/etc/sysctl.conf使其生效,执行如下命令:
重启OpenVPN及网络:
/etc/init.d/networking restart
4、安装配置OpenVPN客户端
下载客户端
打开http://openvpn.net/download.html,点击Windows Installer后的链接,下载OpenVPN Windows客户端。
下载完成后,安装,安装中的选项全部按默认即可。
下载客户端证书及密钥:
证书和密钥存放在/etc/openvpn/easy-rsa/2.0/keys/下面,可以使用winscp链接到VPS上下载。
将/etc/openvpn/easy-rsa/2.0/keys/下面的ca.crt、client.crt、client.key下载到C:\Program Files\OpenVPN\config 下面。
创建客户端配置文件
在C:\Program Files\OpenVPN\config 下面创建一个linode.ovpn的文件,添加如下内容:
dev tun #要与前面server.conf中的配置一致。
proto udp #要与前面server.conf中的配置一致。
remote 服务器IP 8080 #将服务器IP替换为你的服务器IP,端口与前面的server.conf中配置一致。
resolv-retry infinite
nobind
persist-key
persist-tun
ca linodeca.crt
cert linodeclient.crt
key linodeclient.key
ns-cert-type server
redirect-gateway
keepalive 20 60
#tls-auth ta.key 1
comp-lzo
verb 3
mute 20
route-method exe
route-delay 2
5、OpenVPN客户端连接测试:
运行OpenVPN GUI,会在屏幕右下角的系统托盘区,会显示
右击该图标,会在菜单中出现我们添加的服务器,点击Connect,OpenVPN客户端就会开通链接OpenVPN服务器,过一会儿,OpenVPN图标变成绿色就是链接成功了。
如果想实现国内网站不走VPN,国外网站走VPN可以看一下:http://code.google.com/p/chnroutes/wiki/Usage 这个教程。
如有问题欢迎反馈,或到VPS论坛交流。
如果您觉得本文对您有所帮助,并想购买 Linode VPS [512M内存, 16GB硬盘, 200GB流量/月 = $19.95/月],请点击 [链接]购买,或者购买时在填写:8feb8d13729744f394433de7ede23efbbab1205a。(VPS侦探注:购买Linode需要使用Visa/Master信用卡,没有可以找军哥代购。)
原创文章,谢绝转载!
>>转载请注明出处:VPS侦探 本文链接地址:http://www.vpser.net/build/linode-install-openvpn.html







iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE
提示我这个
iptables: Unknown error 4294967295
VPSer 回复:
一月 21st, 2012 at 21:16
@ly, 这个好像得联系VPS服务商的客服处理
hello,我按照你的做法安装了几次,debian/ubuntu都试过,都是不是连接上去。客户端log如下:
Mon Dec 12 14:47:57 2011 OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
Mon Dec 12 14:47:57 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Mon Dec 12 14:47:57 2011 LZO compression initialized
Mon Dec 12 14:47:57 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Dec 12 14:47:57 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Mon Dec 12 14:47:57 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Mon Dec 12 14:47:57 2011 Local Options hash (VER=V4): '41690919'
Mon Dec 12 14:47:57 2011 Expected Remote Options hash (VER=V4): '530fdded'
Mon Dec 12 14:47:57 2011 UDPv4 link local: [undef]
Mon Dec 12 14:47:57 2011 UDPv4 link remote: 50.115.143.173:8080
Mon Dec 12 14:48:57 2011 [UNDEF] Inactivity timeout (--ping-restart), restarting
Mon Dec 12 14:48:57 2011 TCP/UDP: Closing socket
Mon Dec 12 14:48:57 2011 SIGUSR1[soft,ping-restart] received, process restarting
Mon Dec 12 14:48:57 2011 Restart pause, 2 second(s)
Mon Dec 12 14:48:59 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Mon Dec 12 14:48:59 2011 Re-using SSL/TLS context
Mon Dec 12 14:48:59 2011 LZO compression initialized
Mon Dec 12 14:48:59 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Dec 12 14:48:59 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Mon Dec 12 14:48:59 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
下面就是重复的内容了。
能知道什么问题么?
之前配置以后没有什么问题,这次重新搞了就老是莫名其妙断开,不知道怎么回事
現在試試看
XD
charliechan 回复:
八月 29th, 2011 at 15:08
@charliechan,
如出現
OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
如何解決啊 orz
VPSer 回复:
八月 29th, 2011 at 19:54
@charliechan, 卸载客户端,重新安装试试
感谢军哥的教程,确实可用。
如果不能用请向客服提交ticket,要求打开tun/tap、iptables要支持NAT
[...] 本文链接地址:http://www.vpser.net/manage/linode-vps-pptp-vpn-howto.html相关文章:Linode VPS OpenVPN安装配置教程(基于Debian/Ubuntu)Linode 购买、安装、测试、配置教程VPS侦探2周年 [...]
没有centOS的教程。。?
VPSer 回复:
四月 11th, 2011 at 09:09
@MOOnLy, 目前都是Debian系统的,Centos目前没空机器,先看看http://library.linode.com/networking/openvpn/centos-5 这个吧
我在123Systems的VPS上安装失败 具体问题我已经发论坛了 请军哥帮我看下吧 谢谢!http://bbs.vpser.net/thread-2581-1-1.html
VPSer 回复:
四月 4th, 2011 at 19:58
@sunnyADboy, 改用这句执行试试:iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 你VPS的IP
又来请教个问题,我要新建一个用户,只用运行./build-key 用户名 就好了吗,用不用source ./vars
VPSer 回复:
四月 3rd, 2011 at 10:23
@小峰JoysBoy, 只需要./build-key 用户名 就行了
改成自己的网卡了,还是不行,我用的是PhotonVPS的openvz,
现在执行iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 1.1.1.1能通过
执行
iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE
提示:
iptables: No chain/target/match by that name.
求助。
VPSer 回复:
四月 1st, 2011 at 15:41
@kukei, eth0需要根据你自己的环境调整。
VPSer 回复:
三月 31st, 2011 at 11:13
@Advanced, 嗯,虽然需要客户端,但是设置指定IP走VPN也相对简单。
确实Google让整很烦啊,我都是SSH随时开着了现在。
又有童鞋出现了同样的问题!看来还是不行
/etc/init.d/openvpn restart
Starting virtual private network daemon: server failed!
这一步失败
/etc/init.d/openvpn restart
前面的都是默认的
就到这里
重启失败
mofei:~# /etc/init.d/openvpn restart
Stopping virtual private network daemon:.
Starting virtual private network daemon: server failed!
VPSer 回复:
三月 30th, 2011 at 15:11
@mofei, 留言交流不方便,去论坛吧/etc/openvpn/openvpn.log 这个发上去看看
额...失败!失败!军哥!求助啊!弄了好几天了都!
/etc/init.d/openvpn restart
这一步~重启失败
server 10.168.1.0 255.255.255.0 #给客户的分配的IP段,注意不要与客户端网段冲突!
这里要怎么分配
VPSer 回复:
三月 30th, 2011 at 12:55
@mofei, 如果你不知道设什么就按默认。再就是你什么错误提示信息都不给我,我没法给你说什么原因。
正需要这个!弄了两天了都没搞出来!去试试这个