English | VPS常用软件下载 |
  • 美国VPS主机推荐
  • |
  • 代购服务
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 关于VPSer
  • | VPS论坛 | 登录 |

    Linode VPS OpenVPN安装配置教程(基于Debian/Ubuntu)

    2011年03月29日 下午 | 作者:

    因为众所周知的原因,目前Gmail等相关服务原来越不稳定,虽然可以通过SSH来解决,但是打开网站一多SSH也有些力不从心,VPS侦探以前发表过在Linode VPS安装PPTP VPN的教程,相对于PPTP来说OpenVPN加密型更强,而且穿透性更强。

    本教程也适用其他的基于Debian/Ubuntu Linux的VPS/服务器,也已在DiaHostingVPSYOUPhotonVPS123Systems、oplink上测试通过,如有问题欢迎反馈。(Linode购买及测试教程:http://www.vpser.net/usa-vps/linode.html

    如果您觉得本文对您有所帮助,并想购买 Linode VPS [512M内存, 16GB硬盘, 200GB流量/月 = $19.95/月],请点击 [链接]购买,或者购买时在填写:8feb8d13729744f394433de7ede23efbbab1205a。(VPS侦探注:购买Linode需要使用Visa/Master信用卡,没有可以找军哥代购。)

    1、安装

    apt-get install openvpn udev lzop

    2、使用easy-rsa生成服务端证书

    将OpenVPN所需的配置文件复制到/etc/openvpn/下面:

    cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

    生产CA证书:

    cd /etc/openvpn/easy-rsa/2.0
    source vars
    ./clean-all
    ./build-ca

    ./build-ca时会提示输入一些信息,可以都直接回车按默认信息。

    生成服务器端证书和密钥,server为名字可以自定义:

    ./build-key-server 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输入的名字不能相同:

    ./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参数:

    ./build-dh

    3、配置OpenVPN服务

    编辑/etc/openvpn/server.conf 文件,如果没有可以创建一个,加入下面的内容:

    local 服务器IP
    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

    apt-get install iptables   #如果已经安装可以跳过

    设置IP转发

    iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE
    iptables-save > /etc/iptables.rules

    上面的eth0要替换为你的网卡标识,可以通过ifconfig查看。

    在/etc/network/if-up.d/目录下创建iptables文件,内容如下:

    #!/bin/sh
    iptables-restore < /etc/iptables.rules

    给脚本添加执行权限:

    chmod +x /etc/network/if-up.d/iptables

    修改/etc/sysctl.conf的内容为:

    net.ipv4.ip_forward = 1
    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使其生效,执行如下命令:

    sysctl -p

    重启OpenVPN及网络:

    /etc/init.d/openvpn restart
    /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的文件,添加如下内容:

    client
    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

    相关文章:

    VPS侦探推荐:

    DiaHostingLinodePhotonVPSVPSYou瑞豪开源ECVPS美国VPS主机
    欢迎加入VPS侦探论坛交流:http://bbs.vpser.net

    评论(30 条评论)

    1. iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE
      提示我这个
      iptables: Unknown error 4294967295

      VPSer 回复:

      @ly, 这个好像得联系VPS服务商的客服处理

    2. 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 ]
      下面就是重复的内容了。

      能知道什么问题么?

    3. 之前配置以后没有什么问题,这次重新搞了就老是莫名其妙断开,不知道怎么回事

    4. 現在試試看
      XD

      charliechan 回复:

      @charliechan,
      如出現
      OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
      如何解決啊 orz

      VPSer 回复:

      @charliechan, 卸载客户端,重新安装试试

    5. 感谢军哥的教程,确实可用。
      如果不能用请向客服提交ticket,要求打开tun/tap、iptables要支持NAT

    6. [...] 本文链接地址:http://www.vpser.net/manage/linode-vps-pptp-vpn-howto.html相关文章:Linode VPS OpenVPN安装配置教程(基于Debian/Ubuntu)Linode 购买、安装、测试、配置教程VPS侦探2周年 [...]

    7. 没有centOS的教程。。?

      VPSer 回复:

      @MOOnLy, 目前都是Debian系统的,Centos目前没空机器,先看看http://library.linode.com/networking/openvpn/centos-5 这个吧

    8. 我在123Systems的VPS上安装失败 具体问题我已经发论坛了 请军哥帮我看下吧 谢谢!http://bbs.vpser.net/thread-2581-1-1.html

      VPSer 回复:

      @sunnyADboy, 改用这句执行试试:iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 你VPS的IP

    9. 又来请教个问题,我要新建一个用户,只用运行./build-key 用户名 就好了吗,用不用source ./vars

      VPSer 回复:

      @小峰JoysBoy, 只需要./build-key 用户名 就行了

    10. 改成自己的网卡了,还是不行,我用的是PhotonVPS的openvz,
      现在执行iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 1.1.1.1能通过

    11. 执行
      iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE
      提示:
      iptables: No chain/target/match by that name.
      求助。

      VPSer 回复:

      @kukei, eth0需要根据你自己的环境调整。

    12. :| :| 这个还要客户端

      VPSer 回复:

      @Advanced, 嗯,虽然需要客户端,但是设置指定IP走VPN也相对简单。

    13. 确实Google让整很烦啊,我都是SSH随时开着了现在。

    14. 又有童鞋出现了同样的问题!看来还是不行

    15. /etc/init.d/openvpn restart
      Starting virtual private network daemon: server failed!

      这一步失败

    16. /etc/init.d/openvpn restart
      前面的都是默认的
      就到这里
      重启失败
      mofei:~# /etc/init.d/openvpn restart
      Stopping virtual private network daemon:.
      Starting virtual private network daemon: server failed!

      VPSer 回复:

      @mofei, 留言交流不方便,去论坛吧/etc/openvpn/openvpn.log 这个发上去看看

    17. 额...失败!失败!军哥!求助啊!弄了好几天了都!

    18. /etc/init.d/openvpn restart
      这一步~重启失败

    19. server 10.168.1.0 255.255.255.0 #给客户的分配的IP段,注意不要与客户端网段冲突!
      这里要怎么分配

      VPSer 回复:

      @mofei, 如果你不知道设什么就按默认。再就是你什么错误提示信息都不给我,我没法给你说什么原因。

    20. 正需要这个!弄了两天了都没搞出来!去试试这个

    发表评论

    *必填

    *必填 (不会被公开)

    :D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: