虽然都是 VPN, 但 PPTP 和 L2TP/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" 的类似如下的内容:
那么第一个 inet 值就是你本地的 IP,如果没有 "ppp0" 这一行,那么你就不能通过以上的 SCP 命令直接从 VPS 上下载文件。
完了之后,回车,输入 "yes",如果电脑有设置密码,则接着输入电脑密码,然后那 4 个文件就会被下载到该用户名的根目录。
3、移动下载文件
完了之后,找到下载的文件并复制粘贴到电脑上 OpenVPN 的 Configurations 文件夹,然后,你的 OpenVPN 就可以翻墙了。
额外收获:
以下是一个根据以上步骤搭建的 OpenVPN:
这个 OpenVPN 将免费大概一个月,你可以下载并参考这篇文章在电脑或者手机上试用。
―――――――――――――――――――――――――――――――――――――――――
需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog直接下载。
推特用户请点击这里免翻墙上推特
请点击这里下载翻墙软件
更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com
请阅读和关注中国数字时代、翻墙技术博客GFW BLOG(免翻墙)
没有评论:
发表评论