centos 7搭建vpn(pptpd)服务器 (只限centos 7)

来源:互联网 发布:游戏迷你主机知乎 编辑:程序博客网 时间:2024/05/30 05:30

https://www.cnblogs.com/f-society/p/5964897.html



centos 7搭建vpn(pptpd)服务器 (只限centos 7)

第一步:首先检查ppp是否开启  若使用XEN构架的VPS,此步骤不用执行

终端输入命令:cat /dev/ppp

开启成功的标志:No such file or directory 或者 No such device or address,如果显示No such device or address则表示继续

第二步:安装组件

安装组件之前,先更您yum源,以防错误:http://www.wanghailin.cn/scka/centos7-yum-pero/

终端依次运行下列命令:

a) yum -y update

b) yum install ppp iptables pptpd  //安装ppp、iptables、pptpd三个组件

第三步:配置组件

1、编辑pptpd.conf

终端运行命令:vi /etc/pptpd.conf

2、找到locallip、remoteip,去掉前面的#,然后保存退出

如下:

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 8.8.8.8
ms-dns 8.8.4.4
 
然后保存退出
 

5、编辑/etc/ppp/chap-secrets设置登录VPN账号密码

 
终端运行命令:vi /etc/ppp/chap-secrets
 

6、添加一行,按照下面格式输入:

 
用户名  pptpd  密码  *        //每个字段之间用tab键隔开  *表示用任意IP连接VPN都可以
 
样例:登录账号为root 密码为123  这样写:
root  pptpd  123  *
 
完事之后保存退出
 

7、修改内核参数,运行下面命令编辑sysctl.conf

 
终端输入命令:vi /etc/sysctl.conf
 

8、在打开的sysctl.conf文件中末尾添加下面一行代码,使内核支持转发

 
net.ipv4.ip_forward=1
 
然后保存退出
 

9、运行下面命令使内核修改生效

 
终端输入命令:sysctl -p

 

10、开启转发规则

 
转发规则有两种:
 
(1)XEN架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
 
(2)OpenVZ架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP  //VPS公网IP 要换成你服务器的IP 比如 119.24.40.64
 
选择其中一条命令输入即可,这里我输入的是第一条
 
终端输入命令:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
 

11、编辑rc.local文件 添加转发规则

 
首先修改rc.local文件权限 让它可执行
 
终端输入命令:chmod +x /etc/rc.d/rc.local
 
然后编辑rc.local,把转发规则写到文件末尾
 
终端输入命令:vi /etc/rc.d/rc.local
 
添加下面两个架构其中的一个代码:
 
XEN架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
 
OpenVZ架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP
 
 

12、保存退出

 

第四步:启动组件 (如果没有错误执行完这步就完事了,百度 windows 连接 VPN服务器  ,连接即可)

 
终端输入命令:/etc/init.d/pptpd start
或者 /bin/systemctl start pptpd.service
 
终端输入命令:chkconfig pptpd on   //设置pptpd开机启动
 
终端输入命令:/bin/systemctl restart pptpd.service  //重启pptpd
 
由于是外国服务器,连上vpn之后会上不去国内网站,所以顺便把分流路由表的链接写到这:http://pan.baidu.com/s/1i5PU42h
 
解压后有两个文件 vpnup.bat和vpndown.bat。
 
连接vpn前运行vpnup.bat即可,过程有点长,要等待3,4分钟 (vpnup.bat是添加路由表的,想要删除路由表运行vpndown.bat即可,由于路由表是变化的,需要在不同的网络环境重新添加路由表,记得先删除再添加)
 

错误排查

 

1、619错误

1、请检查上面的配置是否全部正常执行完毕

2、运行下面的命令尝试修复

 
1
2
rm /dev/ppp
mknod /dev/ppp c 108 0

3、若还是不行,运行下面的命令编辑pptpd.conf,并找到logwtmp,前面加#注释掉,再重启服务

 
1
vi /etc/pptpd.conf

4、请检查你的路由器是否支持PPTP穿透,请尝试连接公用VPN测试,或更换路由器测试,或直接连接宽带测试,若确实是路由器不支持PPTP穿透,可以尝试搭建L2TP VPN

5、检查用户名密码是否有误

6、请向服务提供商询问是否支持搭建VPN

2、800错误

1、请检查服务器上的PPTPD是否正常启动,运行下面的命令检查pptp端口和进程

进程:

 
1
ps -ef |grep pptpd

端口:

 
1
netstat -nutap | grep pptpd

2、请检查计算机能不能正常连接到服务器,可以尝试ping服务器

3、请检查iptables是否拦截了PPTPD端口,可以尝试用下面的命令打开端口

 
1
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

若发现有效,记得将它加入rc.local文件中

4、检查上面的配置是否都执行完毕

3、错误651

1、运行下面的命令编辑pptpd.conf,并找到logwtmp,前面加#注释掉,再重启服务

 
1
vi /etc/pptpd.conf

2、检查用户名和密码是否正确

3、检查上面的配置是否都执行完毕

若上面的错误排除都无法排除您的错误,可能是服务商限制VPN,请向服务商询问!


 
 
 
 
 

 

人生如修仙,岂是一日间。何时登临顶,上善若水前。

原创粉丝点击