在CentOS系统上搭建PPTP(Point-to-Point Tunneling Protocol)VPN服务,可以为远程用户提供一个便捷的网络接入方案,尽管PPTP在安全性上已不再是首选,但其配置简单、客户端兼容性好的特点,使其在一些对安全要求不高的场景下仍有应用价值,本文将详细介绍在CentOS 7/8上搭建PPTP VPN的完整流程。

准备工作
在开始之前,请确保您具备以下条件:
- 一台拥有公网IP地址的CentOS服务器。
- 拥有root权限或sudo权限。
- 系统已启用PPP模块,可通过命令
cat /dev/ppp检查,若返回cat: /dev/ppp: No such device or address则表示支持。
安装必要软件
我们需要通过yum包管理器安装PPTP守护进程(pptpd)和PPP协议包,打开终端,执行以下命令:
yum update -y yum install pptpd ppp -y
安装过程会自动处理依赖关系,完成后即可进行配置。
配置PPTP服务
PPTP的配置主要涉及三个核心文件:主配置文件、PPP选项文件和用户认证文件。
配置主文件
编辑 /etc/pptpd.conf 文件,此文件定义了VPN服务器的本地IP和分配给客户端的IP地址池。
vi /etc/pptpd.conf
在文件末尾添加或修改以下两行内容:
# VPN服务器的虚拟IP地址
localip 192.168.0.1
# 分配给VPN客户端的IP地址池
remoteip 192.168.0.100-200 这里,localip 是PPTP服务器在VPN网络中的IP地址,而 remoteip 定义了客户端连接后可以获取的IP范围。
配置PPP选项
编辑 /etc/ppp/options.pptpd 文件,此文件定义了DNS服务器、加密方式等连接参数。
vi /etc/ppp/options.pptpd
找到或添加以下关键配置项:

# 指定VPN客户端使用的DNS服务器
ms-dns 8.8.8.8
ms-dns 8.8.4.4
# 启用MPPE加密
require-mppe-128
# 禁用旧式认证
nobsdcomp
noipx
mtu 1490
mru 1490 使用公共DNS(如Google的)可以确保客户端能够正常解析域名。require-mppe-128 强制使用128位加密,提高一定的安全性。
添加VPN用户
编辑 /etc/ppp/chap-secrets 文件,用于设置VPN的用户名和密码。
vi /etc/ppp/chap-secrets
按照“用户名 服务 密码 IP地址”的格式添加账户。 表示允许从任何IP连接。
# Secrets for authentication using CHAP
# client server secret IP addresses
testuser pptpd yourstrongpassword * 请将 testuser 和 yourstrongpassword 替换为您自己的用户名和密码。
配置系统转发与防火墙
为了让VPN流量能够正确转发到互联网,需要开启内核IP转发功能,并配置防火墙规则。
开启IP转发
编辑 /etc/sysctl.conf 文件。
vi /etc/sysctl.conf
确保 net.ipv4.ip_forward 的值为 1:
net.ipv4.ip_forward = 1 保存后,执行以下命令使配置立即生效:
sysctl -p
配置防火墙
PPTP需要TCP 1723端口和GRE协议(协议号47)的支持,如果您使用的是 firewalld(CentOS 7/8默认),请执行以下命令:

# 添加PPTP服务 firewall-cmd --permanent --add-service=pptp # 或者手动添加端口和协议 firewall-cmd --permanent --add-port=1723/tcp firewall-cmd --permanent --add-protocol=gre # 重载防火墙配置 firewall-cmd --reload
如果使用 iptables,则规则如下:
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -p gre -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE service iptables save
注意:eth0 应替换为您的公网网卡名称。
启动服务并设置开机自启
所有配置完成后,启动PPTP服务,并设置为开机自启动。
systemctl start pptpd systemctl enable pptpd
至此,PPTP VPN服务器已搭建完成,客户端设备(Windows、macOS、Android、iOS等)可以使用您设置的用户名和密码,连接到服务器的公网IP地址。
相关问答FAQs
问题1:连接成功,但无法访问互联网,怎么办?
解答: 这通常是NAT转发或防火墙配置问题,请确认 sysctl -p 执行后 net.ipv4.ip_forward 已被设置为1,检查防火墙规则是否正确放行了GRE协议和TCP 1723端口,对于 iptables 用户,最关键的是 POSTROUTING 链的 MASQUERADE 规则,确保 -o 参数后的网卡名称是正确的公网出口网卡,如果问题依旧,可以尝试在服务器上 tcpdump 抓包分析流量走向。
问题2:PPTP安全吗?我应该使用它吗?
解答: PPTP协议存在已知的安全漏洞,特别是其核心认证协议MS-CHAPv2已被破解,加密强度较低,对于传输敏感数据或对安全性有较高要求的场景,强烈不推荐使用PPTP,更安全的替代方案包括OpenVPN、WireGuard或IPsec/L2TP,PPTP仅适用于快速搭建、对兼容性要求高且对数据安全性要求不高的非关键环境,在决定使用前,请务必评估其安全风险。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复