安装PPTPD
查看是否支持
modprobe ppp-compress-18 && echo ok!
如果输出ok!,那么支持mppe,否则需要升级内核支持mppe,自行百度。
检测ppp是否开启:
开启成功标志:no such file or directory/device or address 或者 cat: /dev/ppp: 没有那个设备或地址
cat /dev/ppp
禁用firewalld防火墙
//停止和禁用firewalld
[root@yisu-5fb8b7fb5dc95 ~]# systemctl stop firewalld
[root@yisu-5fb8b7fb5dc95 ~]# systemctl disable firewalld
添加 yum源
[root@yisu-5fb8b7fb5dc95 ~]# yum install epel-release -y
安装包
[root@yisu-5fb8b7fb5dc95 ~]# yum install ppp ppp-devel pptpd firewalld
-y
修改配置文件pptpd.conf
[root@yisu-5fb8b7fb5dc95 ~]# vim /etc/pptpd.conf
localip xxx.xxx.xxx.xxx #ip地址(云服务器的eth0网卡地址)
remoteip 192.168.0.10-20 #自定义分配给客户端的网段和地址池
修改配置文件option.pptpd
[root@yisu-5fb8b7fb5dc95 ~]# vim /etc/ppp/options.pptpd
修改成下面的参数
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
ms-dns 114.114.114.114
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
logfile /var/log/pptpd.log
修改用户认证配置文件chap-secrets
[root@yisu-5fb8b7fb5dc95 ~]# vim /etc/ppp/chap-secrets
添加用户格式:用户名 pptpd 密码 *
Secrets for authentication using CHAP
client server secret IP addresses
test pptpd 123456 *
打开系统ipv4转发 sysctl.conf
[root@yisu-5fb8b7fb5dc95 ~]# vim /etc/sysctl.conf
有此项的话修改数值为1 没有的新添加一条
net.ipv4.ip_forward=1
应用生效
[root@yisu-5fb8b7fb5dc95 ~]# sysctl -p
启动pptpd服务
[root@yisu-5fb8b7fb5dc95 ~]# systemctl start pptpd
开放需要的端口(iptables和云服务器的安全组),此步操作完后先测试下是否可以连接了
创建规则文件
vi /usr/lib/firewalld/services/pptpd.xml
内容为:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>pptpd</short>
<description>PPTP</description>
<port protocol="tcp" port="1723"/>
</service>
启动防火墙
[root@yisu-5fb8b7fb5dc95 ~]# systemctl start firewalld
添加服务
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --zone=public --add-service=pptpd
允许防火墙伪装IP:
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --add-masquerade
开启47及1723端口
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --zone=public --add-port=47/tcp
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --zone=public --add-port=1723/tcp
允许gre协议
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT
设置规则允许数据包由eth0和ppp+接口中进出
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT
设置转发规则,从源地址发出的所有包都进行伪装,改变地址,由eth0发出
[root@yisu-5fb8b7fb5dc95 ~]# firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -o eth0 -j MASQUERADE -s 192.168.0.0/24
firewalld规则存放目录
/usr/lib/firewalld/services
/etc/firewalld
原文链接:https://blog.csdn.net/laow1314/article/details/109988504
推荐阅读: