Ubuntu16.04上搭建pptp实现VPN连接加速

VPN
安装
这里直接用github上一键脚本,支持 Ubuntu 和 Debian。
首先获取 sh 脚本。
wget https://raw.github.com/viljoviitanen/setup-simple-pptp-vpn/master/setup.sh
执行脚本。
sudo sh setup.sh
等待安装和自动配置完毕后,会输出ip地址以及默认创建的一个VPN用户名和随机密码。

配置结果
配置
接下来配置一下pptp的连接账号和密码。
sudo vim /etc/ppp/chap-secrets
打开文件后,按i键进入 INSERT 模式,修改或新建连接用户,4个参数分别是用户名,PPTP 服务器名,密码,可拨入的客户端 IP 地址,如果不做限制可以设置为 * 号。

账号设置
配置好后,按下 ESC 键退出 INSERT 模式,输入 :wq
执行写入并退出。
然后我们重启 pptpd 服务,使改动生效。
sudo /etc/init.d/pptpd restart
这个时候,就可以使用设备的 VPN 进行 PPTP 连接了。但是连接后可能无法正常访问网络。 先执行 status 看一下运行的情况。
sudo /etc/init.d/pptpd status
发现 message
里出现了报错,如下图所示(此时的 Local IP 本地地址在下面会用到)。

转发规则错误
转发规则问题,因为一键脚本已经帮我们配置好了 PPTP 配置文件的转发规则,所以这时我们只需要在 iptables 里加入一下 NAT 转换就能解决。
iptables -t nat -A POSTROUTING -s 192.168.2.1/255.255.254.0 -j SNAT --to-source 1.2.3.4
其中 192.168.2.1/255.255.254.0
是 VPN 的内网地址和子网掩码,可以在 ifconfig
里查询到(Mask),1.2.3.4
是服务器地址。
执行完毕后,无法访问网络的问题解决。无需重启 pptpd 服务,即可正常使用。
可以使用 last
指令查看 PPTP 的登录历史以及在线用户。
last | grep ppp