操作系统 CentOS 7
1.查看mppe
modprobe ppp-compress-18 && echo good!
显示good就代表可以使用pptpd如果不行则不能
2.安装 ppp 和pptpd
yum install ppp && yum install pptpd
如果你已经安装过了但是还是无法使用 建议卸载重新安装,卸载:
yum remove ppp && yum remove pptpd
3.配置设置
vi /etc/pptpd.conf
#修改与下面对应的配置
option /etc/ppp/pptpd-option #指定PPP选项文件的位置
debug #启用调试模式
localip 192.168.0.1 #VPN服务器的虚拟ip
remoteip 192.168.0.200-238,192.168.0.245 #分配给VPN客户端的虚拟ip
sudo vi /etc/ppp/pptpd-options
#修改与下面对应的配置 新的页面有不少配置被注释 按需打开
name pptpd #pptpd服务的名称
refuse-pap #拒绝pap身份认证模式
refuse-chap #拒绝chap身份认证模式
refuse-mschap #拒绝mschap身份认证模式
require-mschap-v2 #允许mschap-v2身份认证模式
require-mppe-128 #允许mppe 128位加密身份认证模式
ms-dns 8.8.8.8 #使用Google DNS
ms-dns 8.8.4.4 #使用Google DNS
ms-dns 114.114.114.114 #使用免费的解析DNS
proxyarp #arp代理
debug #调试模式
dump #服务启动时打印出所有配置信息
lock #锁定TTY设备
nobsdcomp #禁用BSD压缩模式
logfile /var/log/pptpd.log #输出日志文件位置,配置文件日志有的用户没有,可以自行添加,出错方便查看
sudo vi /etc/ppp/chap-secrets
#格式:用户名 服务类型 密码 分配的ip地址
username * 1234 *
使用tab 隔开
#配置转发开启
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl -p
4.重启pptpd
chkconfig pptpd on#开机自启 看自己情况是否有需要
systemctl restart pptpd#重启
5.设置iptables NAT转发
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
#设置映射 xxx.xxx.xxx.xxx 为你服务器的外网ip 或者你是自己的虚拟机 那就是虚拟机的ip
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
6.连接 使用手机或者电脑
然后连接就可以成功了
7.错误例子
(1)如果你连接vpn显示无法连接vpn或者服务器断开什么的,那说明pptpd没有被设置成功,有可能是旧的配置导致的建议重新卸载和安装。
(2)如上图 如果你和我一样遇到端口无法连接的问题 请设置服务器防火墙开启1723端口或者关闭防火墙
systemctl start firewalld.service(开启防火墙)
systemctl stop firewalld.service(关闭防火墙)
systemctl status firewalld(查看是否开启防火墙)
firewall-cmd --list-ports(查看开启的端口)
sudo firewall-cmd --zone=public --permanent --add-port=1723/tcp(开启1723端口)
sudo firewall-cmd --reload
如果你使用的是各大云的服务器上面设置后还要 请设置防火墙端口开启 例子 腾讯云
(3)如果你所有的设置都搞好了,但是显示 被终止
那么你需要设置网络属性
手机上也有同样的设置 去除加密就可以连接了