元旦前,GMail 在中国大陆已经全部被高墙阻挡了,作为一个 Google 严重依赖症患者,没有 GMail就活不下去了,本来可以凑活Shadowsocks 用用,但是在未越狱的 iOS 上,Shadowsocks 就是个浏览器,基本是没法使用的,Windows 端的 Shadowsocks 也只能用于 Chrome/Firefox 等高级浏览器,因此一个威屁恩还是需要的。
好在在 Ubuntu 上搭建一个简易的梯子还是很容易的事情。
A. 安装pptp
sudo apt-get -y update
sudo apt-get -y install pptpd
B. 安装完成之后编辑 /etc/pptpd.conf 配置文件
sudo vi /etc/pptpd.conf
#确保如下选项的配置
option /etc/ppp/pptpd-option #指定PPP选项文件的位置
debug #启用调试模式
localip 192.168.0.1 #VPN服务器的虚拟ip
remoteip 192.168.0.100-238,192.168.0.245 #分配给VPN客户端的虚拟ip
C. 编辑PPP选项配置文件
sudo vi /etc/ppp/pptpd-options
#确保如下选项的配置
name pptpd #pptpd服务的名称
refuse-pap #拒绝pap身份认证模式
refuse-chap #拒绝chap身份认证模式
refuse-mschap #拒绝mschap身份认证模式
require-mschap-v2 #允许mschap-v2身份认证模式
require-mppe-128 #允许mppe 128位加密身份认证模式
ms-dns 8.8.8.8 #使用Google DNS
ms-dns 8.8.4.4 #使用Google DNS
proxyarp #arp代理
debug #调试模式
dump #服务启动时打印出所有配置信息
lock #锁定TTY设备
nobsdcomp #禁用BSD压缩模式
logfile /var/log/pptpd.log #输出日志文件位置
D. 添加用户
编辑 /etc/ppp/chap-secrets 文件
#格式:用户名 服务类型 密码 分配的ip地址
test * 1234 *
E. 重启PPTPD服务
sudo service pptpd restart
F. 配置网络和路由规则 设置 ipv4 转发
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl -p
设置iptables NAT转发
#注意这里eth0代表你的外网网卡,请用ifconfig查看或者咨询网络管理员
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
#如果上面的命令报错,那么可以尝试以下的命令,其中xxx.xxx.xxx.xxx代表你的VPS外网ip地址
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
设置MTU来确保过大的包不会被丢弃(这个可以不做)
sudo iptables -I FORWARD -s 192.168.0.0/24 -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1300
iptables的设置重启之后会取消,所以可以将上面的命令加入到 /etc/rc.local 来确保每次重启都会执行设置。
G. 至此设置全部完成,可以用任意一个客户端机器如MAC、PC或者手机来新建一个VPN连接使用用户test,密码1234进行测试。
土地
这篇文章有很简单的搭建方式,思路很清晰,可以参考一下,我也是刚搭好:https://www.codeob.com/?p=22