在 Linode VPS (Ubuntu 11.04) 上搭建 PPTP VPN

最近国内网络的限制愈演愈烈(而 Google Reader 即将关闭的消息更是雪上加霜!)。现在 Linode Tokyo 的 VPS 似乎是在被检测出 SSH 流量之后就会封其 IP。自己的博客在使用 SSH 管理后台时不幸遇害。申请更换 IP 之后,不知怎么的原来的 L2TP VPN 出了什么问题(或许是由于之前在配置时对 IP 进行了硬编码)始终无法连接。于是打算试试看 PPTP VPN。另一方面,Android 4.0 中有一个系统 bug,无法连接 L2TP/IPSec PSK 的 VPN,于是自己的手机和平板已经很久没有连过 VPN 了。同时,最近 Google Play 改变了策略,根据 IP 地址与信用卡地址来判断用户所在国家地区,所以搭建一个 PPTP VPN 的必要性似乎也更强了(笑)。

以下的内容只是一份备忘,是整合了网络上很多其他人提供的信息而成的,在此对他们表示感谢。不过原本的教程或多或少都有些问题,自己对其进行了简单的整理与修正,现在的版本是至少确定能够在 Linode Tokyo ( Ubuntu 11.04 32bit)的环境中成功实现的。同时,在现时点,确认可以在中国移动 GPRS 与中国铁通的宽带网络中正常连接。

以下是控制台的具体步骤:

1、更新系统(可选)

sudo apt-get update
sudo apt-get upgrade

2、安装 PPTP

sudo apt-get install pptpd

3、配置 PPTP

vi /etc/pptpd.conf

添加以下内容并保存(将 YOUR.SERVER.IP.ADDRESS 替换为服务器 IP 地址。例如 10.0.0.19 ,则 remoteip 为 10.0.0.20-255,10.0.0.1):

localip YOUR.SERVER.IP.ADDRESS
remoteip YOUR.SERVER.IP.ADDRESS+1-255,YOUR.SERVER.IP.1

4、添加 PPTP 用户

vi /etc/ppp/chap-secrets

添加用户条目并保存(其中 username 与 password 部分可任意替换):

username * “password” *

5、修改 PPTP 配置

vi /etc/ppp/options

添加 DNS 服务器信息

ms-dns 8.8.8.8
ms-dns 8.8.4.4

6、添加 ipv4 转发

vi /etc/sysctl.conf

添加以下内容并保存退出

net.ipv4.ip_forward=1

7、启用 ipv4 转发

sysctl -p

8、重启 PPTP 服务

/etc/init.d/pptpd restart

9、启用转发

iptables -t nat -A POSTROUTING -s YOUR.SERVER.IP.0/24 -o eth0 -j MASQUERADE

其中 YOUR.SERVER.IP 是服务器 IP 地址的前三段

注意,在重启服务器后一些转发配置将会失效,需要重新配置。可以通过添加启动脚本来避免每次手动执行转发的启用。

在连接时,需要选择“可选加密”(Windows)或是“禁用 MPPE(PPP 加密)”,否则会无法连接。

最后想说的是,PPTP 连接的安全性较 L2TP 要差。所以可能的话,还是要尽快解决现在 L2TP 无法连接的问题才行。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注