在 Ubuntu VPS 上安装 VPN 服务端及安装 VPN 客户端

这篇文章综合了两篇文章,亲身体验过了,非常不错,成功建立 VPN 专用通道!整个过程其实很简单,首先转载一下 LNMP 军哥的方法,先建立 VPN 服务器端,原文地址

一、安装服务器端

全文军哥介绍了如何在 VPS 上建立 VPN 服务,且如何在 windows 系统上安装客户端并链接,按照军哥的方法,我也成功实现了 windows 链接 Ubuntu 上的 VPN 服务,这里我只讲讲在 Ubuntu VPS 上安装 VPN 服务端,根据自己的体验有一些小小改变:

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(这里我在安装的时候提示不一样,只要出现了询问[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(这里我在安装的时候提示也不一样,只要出现了询问[y/n]时,输入 Y 就可以了,不用管前面的内容是否一致),提示1 out of 1 certificate requests certified, commit? [y/n] 也是输入y

生成其他的客户端就是执行:./build-key 你想添加的客户端的名字,会有name:项设置,直接输入一下用户名,随便只要和服务器端不一样就可以

生成的证书和密钥存放在/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

二、客服端安装配置:

1、windows 用户客户端

下载客户端

打开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 FilesOpenVPNconfig 下面。

创建客户端配置文件

在C:Program FilesOpenVPNconfig 下面创建一个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 ca.crt
cert client.crt
key client.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

2、Ubuntu 用户客户端

这里主要吸取了另外一篇文章,原文链接

直接转发,原文的图片问Gnome 2的界面,我这里的截图为 Unity 7,系统版本为 Ubuntu 14.04:

为 NetworkManager 安装OpenVPN

网络实用工具NetworkManager可以让你你打开或者关闭VPN连接,默认安装在Ubuntu内,你可以在你屏幕的通知区域找到它,挨着系统时钟。

下一步,从Ubuntu软件中心(Ubuntu Software Center找到可以与NetworkManager一起工作的OpenVPN扩展。

  1. 在屏幕左上方应用程序菜单(Applications menu)打开Ubuntu软件中心(Ubuntu Software CenterubuntuVPN01
  2. Ubuntu软件中心(Ubuntu Software Center)可以让你搜索、安装和卸载软件。点击窗口右上方的搜索框。UbuntuVPN03
  3. 在搜索框输入”network-manager-openvpn-gnome”(可以启动OpenVPN的NetworkManager扩展)。程序包包含了你需要成功建立VPN连接的所有文件,包括OpenVPN客户端。点击安装(Install)。

    network-manager-openvpn01

    network-manager-openvpn02

  4. Ubuntu可能提示你需要安装软件的额外权限。如果这样的话,输入你的密码点击验证(Authenticate)。程序包安装好后,你可以关闭Ubuntu软件中心(Ubuntu Software Center)。
  5. 检查OpenVPN是否已正确安装,点击NetworkManager(图标在系统时钟的左边),选择VPN连接(VPN Connections )> 设置VPN (Configure VPN)。UbuntuVPN05
  6. 在VPN选项卡上点击添加(Add)。UbuntuVPN06
  7. 如果你能看到OpenVPN选项,这意味着你已成功在Ubuntu上安装OpenVPN客户端。点击取消(cancel),关闭NetworkManager。UbuntuVPN07UbuntuVPN08UbuntuVPN09点击“新建”,在弹出框中选择已经配置好的.ovpn文件:
    UbuntuVPN10UbuntuVPN11点击“保存”就设置好了

    三、使用你新的VPN连接

    现在你配置NetworkManager使用VPN客户端连接VPN服务,你可以使用新的VPN连接绕开网络审查。按照下面的步骤开始:

    1. NetworkManager菜单,从VPN 连接中选择新的连接。UbuntuVPN12
    2. 等待VPN连接建立。当连接时,一个小挂锁的图标将会紧挨在NetworkManager图标的右边,显示你正在使用一个安全的连接。把光标移到图标上,确认VPN连接已连上。ubuntuVPN13
    3. 你也可以访问http://www.ipchicken.com.,检查连接的现状。这个免费的IP查询工具确认你正在使用airvpn.org的一个服务器。

另外下载openvpn地址:http://openvpn.ustc.edu.cn/



为您推荐

说点什么

3 评论 在 "在 Ubuntu VPS 上安装 VPN 服务端及安装 VPN 客户端"

提醒
avatar
排序:   最新 | 最旧 | 得票最多
匿名
游客

这样简单的设置一个OpenVPN容易被墙掉。

GoldenFreeman
游客

话说香港的不错;100K左右;你懂哈;而且加密做一点就可以了;做多了影响响应速度;我现在装Gnome的插件,Chrome的同步都用VPS的VPN; [给力]

GoldenFreeman
游客

或者有银子的话,N个VPS做Tor;这个保密程度最高,速度尚可,但是钱啊~~~

wpDiscuz