前缀、文档修改记录
20240221 初始化编辑此文章,完稿
章节1、需求描述
PPTP(Point-to-Point Tunneling Protocol)作为最简单的组网技术,虽然,安全性不怎么样,但是用来轻量化组网时候,还是挺好用的,本篇博客,介绍一下,在Debian 11/12系统上,部署PPTP服务端的过程。
章节2、部署PPTP服务端
2.1 apt源更新
root@debian:~# apt update
2.2 安装PPTP软件
先确保你的服务器支持PPP
To verify PPP is working, run:
cat /dev/ppp
应该返回如下的信息:
cat: /dev/ppp: No such device or address
root@debian:~# apt install pptpd root@debian:~# apt install iptables root@debian:~# apt install ethtool root@debian:~# uname -a Linux debian 5.10.0-28-amd64 #1 SMP Debian 5.10.209-2 (2024-01-31) x86_64 GNU/Linux root@debian:~# apt list | grep header | grep linux ... linux-headers-5.10.0-28-amd64/oldstable ... root@debian:~# apt install linux-headers-5.10.0-28-amd64
2.3 配置文件修改 /etc/pptpd.conf
/etc/pptpd.conf 中,需要根据你们网络的情况,修改指定一下服务器端的私网IP地址,分发的私网地址段,不要跟现网的地址冲突即可。
增加/修改如下的私网地址(请勿完全照抄,具体请根据你们自身环境实际的来)
#debug # 可选,排错时候开启 connections 200 # 客户端的数量 localip 192.168.13.254 remoteip 192.168.13.1-200
2.4 修改认证的配置文件 /etc/ppp/chap-secrets
/etc/ppp/chap-secrets 中,指定的是用户名,服务名称,密码,该用户的入站IP等信息
useraaa pptpd passB7bFCf * userbbb pptpd passaE00cf *
其中 *表示,允许任何来源IP,登录该账号。
2.5 修改指定服务端的DNS服务器IP /etc/ppp/pptpd-options
/etc/ppp/pptpd-options 中,可以指定服务端可自定义DNS服务器
#debug # 可选,排错时候开启 ms-dns 119.29.29.29 ms-dns 114.114.114.114 ms-dns 8.8.8.8 ms-dns 1.1.1.1
2.6 修改内核模块的加载
root@debian:# cat /etc/modules-load.d/pptpd.conf nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre # 这个未找到,奇怪
2.6 修改系统的IPv4转发参数
修改配置文件 /etc/sysctl.conf ,增加一行
net.ipv4.ip_forward = 1
执行如下命令,使其生效
sysctl -p
2.7 创建防火墙iptables的转发规则
# 入站放行端口 47(GRE) / 1723(PPTPD) iptables -A INPUT -p gre -j ACCEPT iptables -A INPUT -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -p tcp --dport 47 -j ACCEPT # 其中ens3名称,根据你网卡实际的名称来写,常见的名称为ens3,ens3,ens5,enp0s3 iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE # 转发策略放行,可选 # 允许设置的VPN网段的入站转发 iptables -A FORWARD -s 192.168.13.0/24 -j ACCEPT # 允许设置的VPN网段的出站转发 iptables -A FORWARD -d 192.168.13.0/24 -j ACCEPT # 可选 iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE iptables -I INPUT -s 192.168.13.0/24 -i ppp0 -j ACCEPT iptables --append FORWARD --in-interface ens3 -j ACCEPT # 保存规则 iptables-save
为了安全性,可选的是,增加对1723/47端口的限源访问。
2.8 启动服务
# 重启服务 systemctl restart pptpd # 开启服务 systemctl start pptpd # 关闭服务 systemctl stop pptpd # 开机启动 systemctl enable pptpd
在腾讯云服务器,本篇文档测试通过,局域网测试通过,测试未通过,估计其云池的大网侧有防火墙类的设备,对GRE有限制。
章节3、特别说明
PPTP/L2TP基本已经过时,是因为其主要的密码算法已经被破解,PPTP的MS-CHAP-v1、MS-CHAP-v2、 MPPE勉强用EAP-TLS 撑个场面,
已经明确破解的算法,MD5、3DES、RC4/RC5、SHA1(Google破解)。
为了数据安全的需求,你已经不应该选择PPTP/L2TP这样的协议了。
附录1、视频操作演示
附录2、@Dasmz
博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。
对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费
Twitter: Dasmz
Youtube: @DasmzStudio
Telegram: @Dasmz