手把手教你搭建PPTP VPN服务器:从零开始的网络穿透实战指南
在现代企业办公和远程访问场景中,虚拟专用网络(VPN)已成为保障数据安全与远程接入的关键技术,PPTP(Point-to-Point Tunneling Protocol)作为最早被广泛支持的VPN协议之一,因其配置简单、兼容性强、对老旧设备友好等特点,至今仍被大量中小企业和个人用户使用,本文将详细介绍如何在Linux系统(以Ubuntu Server为例)上搭建一个稳定可靠的PPTP VPN服务器,并完成客户端连接测试。
第一步:准备环境
确保你有一台运行Ubuntu 20.04或更高版本的服务器,拥有公网IP地址(或通过NAT映射),并已开通必要的端口,PPTP依赖TCP端口1723和GRE协议(IP协议号47),因此必须在防火墙中放行这些协议,在UFW防火墙中执行以下命令:
sudo ufw allow 1723/tcp sudo ufw allow 47/udp sudo ufw enable
第二步:安装PPTPD服务
PPTPD是开源的PPTP守护进程,可通过APT包管理器快速安装:
sudo apt update sudo apt install pptpd -y
安装完成后,编辑配置文件 /etc/pptpd.conf,设置本地IP池和DNS服务器:
localip 192.168.1.1
remoteip 192.168.1.100-200
上述配置表示:服务器IP为192.168.1.1,分配给客户端的IP范围是192.168.1.100到200;同时建议设置DNS,如添加:
dns 8.8.8.8 8.8.4.4
第三步:配置用户认证
编辑 /etc/ppp/chap-secrets 文件,添加用户名和密码(格式:用户名 密码 IP地址):
此配置允许用户alice使用mypassword登录,不限制IP(* 表示任意IP),请务必使用强密码,避免明文泄露。
第四步:启用IP转发与路由
修改 /etc/sysctl.conf,取消注释如下行以启用内核IP转发功能:
net.ipv4.ip_forward=1
然后应用更改:
sudo sysctl -p
第五步:配置iptables规则
为了让客户端能访问外网,需要添加NAT规则:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o ppp+ -m state --state RELATED,ESTABLISHED -j ACCEPT
注意:eth0是服务器的公网网卡接口名,根据实际情况调整,最后保存规则:
sudo netfilter-persistent save
第六步:重启服务并测试
启动PPTPD服务并设置开机自启:
sudo systemctl restart pptpd sudo systemctl enable pptpd
此时可在Windows、Android或iOS设备上配置PPTP连接,输入服务器IP、用户名和密码即可建立隧道,建议先用Wireshark抓包确认GRE流量正常,再进行实际网页访问测试。
注意事项:
- PPTP安全性较低(使用MS-CHAP v1),仅适用于内部可信网络或临时用途。
- 若需更高安全性,推荐改用OpenVPN或WireGuard。
- 建议结合Fail2Ban防止暴力破解攻击。
虽然PPTP已被更安全的协议逐步取代,但在特定场景下依然实用,掌握其搭建流程不仅有助于理解传统VPN机制,也能帮助你在受限环境中快速实现远程访问需求,动手实践吧,让网络不再受地域限制!

半仙加速器-海外加速器 | VPN加速器 | VPN翻墙加速器 | VPN梯子 | VPN外网加速






