在 Vultr VPS 中 以 Debian 8 i386 (jessie) 为 操作系统 平台 手动 搭建 PPTP VPN 全过程
Vultr VPS主机利用Debian环境部署PPTP上网方法整理
更新服务器并安装 PPTP 服务
apt-get update
apt-get upgrade
apt-get install pptpd
编辑 /etc/pptpd.conf
找到 #localip 以及 #remoteip 行,删除#并设置 ip 地址
localip 172.16.31.254
remoteip 172.16.31.234-238
编辑 /etc/sysctl.conf
去掉 #net.ipv4.ip_forward=1 的#号,开启ipv4 forward
修改完成后执行 sysctl -p
编辑 /etc/ppp/pptpd-options
修改dns服务器地址
ms-dns 8.8.8.8
ms-dns 8.8.4.4
编辑 /etc/ppp/chap-secrets
添加 PPTP 账号
格式为:
username1 pptpd password *
username2 pptpd password 172.16.31.234
第一列是用户名,第二列是服务器名(默认 pptpd ,注意和 /etc/ppp/pptpd-options 文件中 name 行的值保持一致)
第三列是密码,第四列是 IP 限制(不限制用 * 表示)
第一行格式为不固定客户端ip地址,第二行格式为固定客户端ip地址
使用 iptables 来建立 NAT
安装iptables
apt-get install iptables
向 nat 表中加入一条规则
iptables -t nat -A POSTROUTING -s 172.16.31.0/24 -o eth0 -j MASQUERADE
eth0是网卡名字,可以通过命令 ifconfig 查看得到
设置 MTU
iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
Vultr 建议
Note: We recommend configuring a MTU of 1450 on your private network. Using a larger MTU will result in poor performance.
iptables 的规则会在下次重启时被清除,为防止重启机器后iptables丢失,运行
iptables-save > /etc/iptables-rules
编辑 /etc/network/interfaces 文件
找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:
pre-up iptables-restore < /etc/iptables-rules
这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。
重启 PPTP 服务
/etc/init.d/pptpd restart
编辑 /etc/rc.local
添加开机启动
/etc/init.d/pptpd restart
创建防火墙规则
touch /etc/network/if-pre-up.d/route
这个要用到的,要不链接不上,然后输入下面脚本
cat >/etc/network/if-pre-up.d/route <<EOF
iptables -t nat -A POSTROUTING -s 192.168.31.0/24 -o eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 192.168.31.0/24 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
EOF
赋权
chmod +x /etc/network/if-pre-up.d/route
启动iptables防火墙规则
/etc/network/if-pre-up.d/route