在中国大陆 封闭的互联网环境下, VPN 这东西是必不可少的
免费 VPN 很多,可是,既不稳定又不安全,速度还慢,如果你有一台海外的 VPS 或服务器
自己搭建一个 VPN 是最好的选择
下面介绍 Centos 7 搭建 VPN ( PPTP )服务器方法
注意:本教程只适用于 Centos 7
检查是否支持
若你使用 XEN 架构的 VPS ,下面的步骤不用执行
检测 PPP 是否开启:
cat /dev/ppp
1
|
开启成功的标志: cat: /dev/ppp: No such file or directory 或者 cat: /dev/ppp: No such device or address ,可以继续
|
安装组件
运行下面的命令安装 iptables 、 ppp 、 pptpd
如果提示 No package pptpd available 那么需要安装第三方的源
yum install ppp iptables pptpd
运行完成后,应该顺利安装完成了需要的组件
配置组件
1 、编辑 pptpd.conf :
vi /etc/pptpd.conf
2 、搜索 localip ,去掉下面字段前面的 # ,然后保存退出
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
3 、编辑 options.pptpd
vi /etc/ppp/options.pptpd
4 、搜索 ms-dns ,去掉搜索到的两行 ms-dns 前面的 # ,并修改为下面的字段
ms-dns 8.8.8.8 ms-dns 8.8.4.4
5 、接下来编辑 /etc/ppp/chap-secrets 设置 VPN 的帐号密码
vi /etc/ppp/chap-secrets
6 、添加一行,按照下面的格式写入你的用户名和密码
用户名 pptpd 密码 *
注意:上面的用户名和密码都区分大小写
7 、接下来修改内核参数,运行下面的命令编辑 sysctl.conf
vi /etc/sysctl.conf
8 、在 conf 末尾添加下面的代码,使内核支持转发
net.ipv4.ip_forward=1
9 、运行下面的命令使内核修改生效
sysctl -p
10 、添加下面的 iptables 转发规则(直接在 SSH 运行下面命令即可)
XEN 架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADEOpenVZ 架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS 公网 IP
11 、但是添加转发规则后重启就会失效, Centos 6 系统可以使用 service iptables save 保存配置,但 Centos 7 不支持,我们需要将配置写入 rc.local 文件中,开机自动设置,运行下面的命令赋予 rc.loacl 执行权限:
chmod +x /etc/rc.d/rc.local
12 、编辑 rc.local ,并把上面的转发规则写到文件末尾
vi /etc/rc.d/rc.local
13 、保存退出
启动组件
1 、用下面的命令启动 pptpd
service pptpd start
2 、用下面的命令使 pptpd 开机自动启动
chkconfig pptpd on
3 、现在就可以使用你的设备连接到你的 VPN 了,若配置正确,就可以正常连接并上网了
错误排除
1 、 619 错误
1 、请检查上面的配置是否全部正常执行完毕
2 、运行下面的命令尝试修复
rm /dev/ppp mknod /dev/ppp c 108 03 、若还是不行,运行下面的命令编辑 pptpd.conf ,并找到 logwtmp ,前面加 # 注释掉,再重启服务
vi /etc/pptpd.conf4 、请检查你的路由器是否支持 PPTP 穿透,请尝试连接公用 VPN 测试,或更换路由器测试,或直接连接宽带测试,若确实是路由器不支持 PPTP 穿透,可以尝试搭建 L2TP VPN
5 、检查用户名密码是否有误
6 、请向服务提供商询问是否支持搭建 VPN
2 、 800 错误
1 、请检查服务器上的 PPTPD 是否正常启动,运行下面的命令检查 pptp 端口和进程
进程:
ps -ef |grep pptpd端口:
netstat -nutap | grep pptpd2 、请检查计算机能不能正常连接到服务器,可以尝试 ping 服务器
3 、请检查 iptables 是否拦截了 PPTPD 端口,可以尝试用下面的命令打开端口
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT若发现有效,记得将它加入 rc.local 文件中
4 、检查上面的配置是否都执行完毕
3 、错误 651
1 、运行下面的命令编辑 pptpd.conf ,并找到 logwtmp ,前面加 # 注释掉,再重启服务
vi /etc/pptpd.conf2 、检查用户名和密码是否正确
3 、检查上面的配置是否都执行完毕
若上面的错误排除都无法排除您的错误,可能是服务商限制 VPN ,请向服务商询问!