在现代企业办公环境中,远程访问内网资源已成为常态,无论是员工出差、居家办公,还是分支机构互联,一个稳定可靠的虚拟私人网络(VPN)解决方案都至关重要,点对点隧道协议(PPTP)作为最古老的VPN协议之一,因其配置简单、兼容性好、支持广泛,至今仍在许多小型企业和个人用户中被使用,本文将详细介绍如何在Linux服务器上(以Ubuntu为例)搭建PPTP VPN服务,帮助你快速实现安全远程访问。
准备工作
- 一台运行Linux的服务器(推荐Ubuntu Server 20.04或更高版本);
- 固定公网IP地址(若无静态IP,可考虑使用DDNS动态域名解析);
- 开放必要的端口:TCP 1723(PPTP控制端口)、GRE协议(协议号47);
- 确保防火墙允许这些流量通过(如iptables或ufw)。
安装与配置PPTP服务
-
更新系统并安装必要软件包:
sudo apt update && sudo apt install pptpd -y
-
配置PPTP主文件
/etc/pptpd.conf:
使用文本编辑器打开该文件,添加以下内容:option /etc/ppp/options.pptpd localip 192.168.1.1 remoteip 192.168.1.100-200localip是服务器在PPTP子网中的IP,remoteip是分配给客户端的IP范围。 -
设置PPP选项文件
/etc/ppp/options.pptpd:
编辑此文件,确保包含以下内容:name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 8.8.8.8 ms-dns 8.8.4.4 proxyarp lock nobsdcomp novj novjccomp -
创建用户账号:
在/etc/ppp/chap-secrets文件中添加用户名和密码,格式为:# client server secret IP addresses user1 pptpd password123 *这表示用户名
user1密码为password123,允许任意IP连接。 -
启用IP转发和NAT规则:
修改/etc/sysctl.conf,取消注释: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
-
重启PPTP服务并设置开机自启:
sudo systemctl restart pptpd sudo systemctl enable pptpd
测试与优化
- 客户端连接:在Windows或Mac设备上,使用“新建连接”功能选择PPTP类型,输入服务器IP和账号密码即可连接。
- 检查日志:查看
/var/log/syslog或/var/log/pptpd.log排查问题。 - 安全建议:虽然PPTP简单易用,但其安全性较低(已被证明存在漏洞),建议仅用于内部非敏感网络环境,并搭配其他安全措施如强密码策略、定期更换证书等。
PPTP虽非最新协议,但在某些场景下仍具实用价值,通过以上步骤,你可以快速搭建一个可用的PPTP服务器,满足基本远程接入需求,对于安全性要求更高的场景,建议升级到OpenVPN或WireGuard等更现代的方案,但作为入门级实践,PPTP仍是理解VPN原理的良好起点。

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






