标签归档:PPTP

Debian 11/12系统环境上,部署PPTP服务 2024-02-21

前缀、文档修改记录

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

Donate
云乞讨