CentOS 系统下搭建 PPTP VPN 服务的完整指南与注意事项

在企业网络部署或远程办公场景中,虚拟专用网络(VPN)是保障数据安全传输的重要手段,PPTP(Point-to-Point Tunneling Protocol)是一种较早但广泛支持的协议,尤其适合在 CentOS 这类 Linux 发行版上快速搭建轻量级远程访问通道,本文将详细介绍如何在 CentOS 7 或 8 系统中配置 PPTP 服务,并说明常见问题及优化建议。

确保你的 CentOS 系统已更新至最新状态,并具备 root 权限,执行以下命令安装必要的软件包:

yum update -y
yum install -y pptpd ppp

安装完成后,需要配置 PPTP 的核心参数,编辑 /etc/pptpd.conf 文件:

vi /etc/pptpd.conf
localip 192.168.100.1
remoteip 192.168.100.100-200

这表示 PPTP 服务器的本地 IP 是 168.100.1,分配给客户端的 IP 池为 168.100.100200,请根据实际内网环境调整这些地址。

配置用户认证信息,编辑 /etc/ppp/chap-secrets 文件,添加用户和密码:

alice     *       mypassword              *
bob       *       anotherpass             *

这里定义了两个用户 alicebob,分别使用不同的密码登录,注意:此文件权限必须严格控制,避免泄露,建议执行 chmod 600 /etc/ppp/chap-secrets

然后启用 IP 转发功能,使客户端能访问外部网络,编辑 /etc/sysctl.conf,取消注释以下行:

net.ipv4.ip_forward = 1

随后应用更改:sysctl -p

配置防火墙规则,若使用 firewalld,运行:

firewall-cmd --add-service=pptp --permanent
firewall-cmd --reload

还需设置 NAT 规则,让内部客户端通过主机访问互联网。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp+ -m state --state RELATED,ESTABLISHED -j ACCEPT

保存 iptables 规则:service iptables save(或使用 iptables-save > /etc/sysconfig/iptables)。

重启 PPTP 服务验证配置:

systemctl restart pptpd
systemctl enable pptpd

从 Windows、iOS 或 Android 客户端连接时,选择“PPTP”类型,输入服务器 IP 和之前创建的用户名密码即可建立连接。

需要注意的是,PPTP 协议本身存在安全缺陷(如 MS-CHAPv2 易受字典攻击),仅适用于信任网络环境,若用于公网,强烈推荐改用 OpenVPN 或 WireGuard 等更安全的方案,CentOS 8 已逐步弃用传统的 iptables,建议结合 firewalld 做精细化管理。

在满足基本需求的前提下,PPTP 可作为快速搭建远程接入的工具,合理配置 + 安全意识 = 稳定高效的远程访问体验。

Secrets for authentication using CHAP  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN