在 VPS 上搭建 OpenVPN 简易教程

来源:http://jingpin.org/set-up-openvpn-in-vps/

虽然都是 VPN, 但 PPTPL2TP/IPSec 主要适用于 Xen,而 OpenVPN 则既可以在 Xen 也可以在 OpenVZ 类型的 VPS 上搭建,只不过你需要安装一个客户端才能使用。

这 篇文章将介绍如何仅通过 10 个步骤就可以成功搭建 OpenVPN 的方法,而你需要的仅是一个 VPS 和一台可以上网的电脑。和 PPTP 以及 L2TP/IPSec 的一样,以下 OpenVPN 的搭建教程也是基于 Xen VPS 的 Ubuntu 系统以及 Mac 电脑自带的终端应用程序,对 Linux 来讲,操作步骤几乎一模一样,但是对 Windows 来讲,你就需要事先安装 Putty 软件。

I、连接 VPS

打开终端应用程序并输入以下命令:

ssh root@xxx.xxx.xxx.xxx

记得把 "xxx.xxx.xxx.xxx" 替换成你 VPS 的 IP 地址,例如 "178.18.17.142″。

小技巧:关于如何连接的更多信息,可以参考 PPTP 的搭建教程。

II、安装 OpenVPN

输入以下命令:

apt-get install openvpn

回车,输入 "y",再回车。

III、移动 easy-rsa 文件夹

输入以下命令:

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

回车完成将 easy-rsa 文件夹复制到 OpenVPN 根目录的操作。

IV、生成加密文件

一行一行地输入以下命令,每行都要回车,在出现 "yes/no" 问题的地方输入 "yes" 再回车:

cd /etc/openvpn/easy-rsa/2.0

. ./vars

./clean-all

./build-ca

./build-key-server server

./build-key client

./build-dh

小技巧:你可以将 "client" 改成任意的名字,但是下面的步骤也要跟着改。

V、应用 iptables 规则

这个步骤将使你的 OpenVPN 连接到互联网:

1、转发 IP

输入以下命令:

vi /etc/sysctl.conf

回车,找到 "#net.ipv4.ip_forward=1" 这一行,按 "x" 键删除那个 "#" 号,然后输入 ":wq" 保存。

2、使转发生效

输入以下命令:

sysctl -p

如果一切正常,你将只会看到以下结果:

net.ipv4.ip_forward=1

3、创建 iptables 规则

输入以下命令:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 178.18.17.142

记得将 "178.18.17.142" 改为你 VPS 的 IP 地址。

小技巧:如果是 OpenVZ 类型的 VPS,则需要将 "eth0" 替换成 "venet0"。

VI、创建 VPS 上的 OpenVPN 配置文件

输入以下命令:

# vi /etc/openvpn/server.conf

回车,按下 "i" 键,然后粘贴以下内容:

port 1194
proto udp
dev tun
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
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3

按下 "esc" 键退出插入模式,输入 ":wq" 保存文件。

小技巧:你也可以将 8.8.8.8 和 8.8.4.4 分别替换成 208.67.222.222 和 208.67.220.220。

VII、启动 OpenVPN

输入以下命令:

# /etc/init.d/openvpn start

回车。

VIII、创建电脑上的 OpenVPN 配置文件

输入以下命令:

vi /etc/openvpn/easy-rsa/2.0/keys/client.conf

回车,按下 "i" 键,并粘贴以下内容:

client
dev tun
proto udp
remote 178.18.17.142 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
redirect-gateway
script-security 2

记得将 "178.18.17.142" 换成你 VPS 的 IP 地址。

完了之后,按下 "esc" 键退出插入模式,输入 ":wq" 保存。

IX、重启

为了避免 VPS 重启后重新设置一遍 iptables 规则,你可以输入以下命令:

vi /etc/rc.local

回车,按下 "i" 键,并将以下内容粘贴到 "exit 0" 这一行的上面:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 178.18.17.142
openvpn /etc/openvpn/server.conf

记得将 "178.18.17.142″ 替换成你 VPS 的 IP 地址,完了之后,按下 "esc" 键退出插入模式,然后输入 ":wq" 保存。

小技巧:以上的命令是针对 Xen 类型的 VPS,如果是 OpenVZ 类型的,则需要将 "eth0" 替换成 "venet0"。

X、将配置文件下载到电脑里

电脑上需要有以下四个 OpenVPN 的配置文件:

  • client.conf
  • ca.crt
  • client.crt
  • client.key

要下载以上文件,你可以使用 Fetch (Mac)、WinSCP (Windows) 或者其他 SFTP 软件,也可以直接在 Mac 的终端上使用以下 SSH 命令:

1、进入文件所在的目录

输入以下命令:

cd /etc/openvpn/easy-rsa/2.0/keys/

回车。

2、下载文件

输入以下命令:

scp ca.crt client.crt client.key client.conf air@68.68.40.151:

记得将 "air" 换成你电脑的用户名,将 "68.68.40.151" 换成你本地的 IP ―― 这个你可以通过以下方法获得:

首先,打开一个新的终端窗口,接着输入 "ifconfig",回车,如果结果包含一行 "ppp0" 的类似如下的内容:

How to set up OpenVPN

那么第一个 inet 值就是你本地的 IP,如果没有 "ppp0" 这一行,那么你就不能通过以上的 SCP 命令直接从 VPS 上下载文件。

完了之后,回车,输入 "yes",如果电脑有设置密码,则接着输入电脑密码,然后那 4 个文件就会被下载到该用户名的根目录。

3、移动下载文件

完了之后,找到下载的文件并复制粘贴到电脑上 OpenVPN 的 Configurations 文件夹,然后,你的 OpenVPN 就可以翻墙了。

额外收获:

以下是一个根据以上步骤搭建的 OpenVPN:

FreeNuts OpenVPN

这个 OpenVPN 将免费大概一个月,你可以下载并参考这篇文章在电脑或者手机上试用。


―――――――――――――――――――――――――――――――――――――――――

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog直接下载。

推特用户请点击这里免翻墙上推特

请点击这里下载翻墙软件

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG(免翻墙)

请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙)http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。


发表评论