利用VPS构建VPN的方法

更新:我新搭建的境外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

 

 

发表评论