更新:我新搭建的境外VPN已经一直无法访问,现在ip地址已经无法ping通,故不建议使用此方法做一些不宜公开讨论的事情。
本文主要讲解应用VPS构建PPTP协议下的VPN。主要内容是对网上已经有的内容进行适当地总结。
本文所有安装的环境是CentOS7.2
一、安装pptp
首先需要安装ppp和iptables
yum install ppp iptables iptables-services
然后需要安装pptpd
yum install pptpd
二、配置pptpd
1、配置/etc/pptpd.conf,进行ip配置
localip xxx.xxx.xxx.xxx
remoteip 192.168.0.234-238,192.168.0.245
其中localip是本服务器的ip地址;而remoteip是当客户端连接服务器时分配到的本地ip,使用原文件中Recommended的ip地址问题不大
2、配置/etc/ppp/options.pptpd,设置DNS服务器
ms-dns 114.114.114.114
ms-dns 114.114.115.115
本人服务器在国内,用于访问国内资源,所以使用了114DNS,对于服务器在国外的可以使用下面的谷歌DNS
ms-dns 8.8.8.8
ms-dns 8.8.4.4
3、配置/etc/ppp/chap-secrets,设置ppp账号
# Secrets for authentication using CHAP
# client server secret IP addresses
account pptpd passwd *
其中client是指登陆账户名;server是指VPN服务,填*的话可以一个账号同时用于PPTP和L2TP;sercret指的登陆账户的密码,ip address是指本地分配给的ip地址,填*的话会自动分配ip
三、配置数据转发规则
1、配置/etc/sysctl.conf,添加ipv4转发
net.ipv4.ip_forward=1
然后运行如下命令使之生效
/sbin/sysctl -p
2、配置iptables转发规则
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save
四、启动服务
现在可以启动或者重启iptables与pptpd服务了
service iptables restart
service pptpd restart
此时查看开启的端口
netstat -ntlp
如果出现1723端口说明服务正常工作
注意有些云服务商有自己的端口控制,需要在服务商的设置平台中开放1723端口,否则无法远程连接服务器的1723端口
此时通过PPTP客户端链接服务器,应该能够正常链接,且能够获取数据。可以尝试百度一下“我的ip”,此时看到的ip地址应该就是服务器的ip地址
最后设置一下服务的开机启动
chkconfig iptables on
chkconfig pptpd on
看起来似乎校园网wifi条件天生和PPTP服务作对,抽空也许会研究一下L2TP的配置,不保证
以上
参考:
[1] 在Centos 6.5搭建VPN服务器, Marcher, May 27, 2015
[2] How To Setup Your Own VPN With PPTP, Bulat Khamitov, Mar 20, 2013