首先确认卸载pptpd和iptables
#apt-get remove pptpd
apt-get autoremove pptpd
apt-get purge pptpd
#apt-get remove iptables*
apt-get autoremove iptables*
apt-get purge iptables*
接下来安装pptpd
apt-get install pptpd
vi /etc/pptpd.conf
修个下面两行:其中VPS_IP 是你的vps的公网ip,可以通过ifconfig 命令查看,10.100.0.2-10这个是给VPN用户分配的IP段。
localip VPS_IP
remoteip 10.100.0.2-10
vi /etc/ppp/pptpd-options 修改dns设置,设置为google的DNS
ms-dns 8.8.8.8
ms-dns 8.8.4.4
vi /etc/ppp/chap-secrets 设置VPN的账号和密码(*号代表不限制)
用户名,服务,密码,限制IP
lyf pptpd 123456 *
/etc/init.d/pptpd restart 重启pptpd服务
接下来设置系统的ipv4的转发开关
vi /etc/sysctl.conf
net.ipv4.ip_forward=1 把这行的注释打开
运行:sysctl -p 让上面的修个立即生效
接下来安装iptables
apt-get install iptables
添加一个 NAT(这里特别注意:venet0:0是指你的vps公网ip网卡接口,可以通过ifconfig查看)
iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o venet0:0 -j MASQUERADE
设置MTU,防止包过大
iptables -A FORWARD -s 10.100.0.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200
再添加一个NAT(45.62.119.172就是你的vps的公网ip)
iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -j SNAT --to-source 45.62.119.172
然后将iptables规则保存,令重启后规则不丢失:
iptables-save > /etc/iptables-rules
最后编辑网卡文件,加载网卡时自动加载规则
vi /etc/network/interfaces
在文件末尾加入:pre-up iptables-restore < /etc/iptables-rules