在现代网络环境中,安全远程访问成为企业和个人用户的重要需求,对于使用Linux系统的用户来说,Ubuntu因其稳定性、开源性和丰富的社区支持,成为了部署虚拟私人网络(VPN)服务的理想平台,本文将详细介绍如何在Ubuntu系统上搭建PPTP(Point-to-Point Tunneling Protocol)VPN服务,涵盖安装、配置、防火墙设置以及常见问题排查,帮助你快速构建一个稳定可靠的远程访问通道。
确保你的Ubuntu服务器已更新至最新版本,打开终端并执行以下命令:
sudo apt update && sudo apt upgrade -y
安装PPTP服务器软件包ppp和pptpd,这两个组件是PPTP协议的核心:
sudo apt install pptpd -y
安装完成后,编辑pptpd的配置文件 /etc/pptpd.conf:
sudo nano /etc/pptpd.conf
在此文件中添加以下内容:
localip 192.168.1.1
remoteip 192.168.1.100-200
localip 是服务器的局域网IP地址,remoteip 指定分配给客户端的IP范围(建议与本地网络不冲突)。
然后配置用户认证信息,编辑 /etc/ppp/chap-secrets 文件:
sudo nano /etc/ppp/chap-secrets
添加一行格式为:用户名 密码 协议 IP地址(可选),
testuser testpass * *
这表示允许用户 testuser 使用密码 testpass 连接,星号代表任意IP和协议(适用于PPTP)。
下一步是配置DNS服务器,以便客户端能够正确解析域名,编辑 /etc/ppp/options.pptpd:
sudo nano /etc/ppp/options.pptpd
添加以下行:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
这样客户端连接后会自动获取Google公共DNS。
启用IP转发功能,让PPTP客户端能访问外部网络,编辑 /etc/sysctl.conf:
sudo nano /etc/sysctl.conf
取消注释或添加:
net.ipv4.ip_forward=1
保存后执行:
sudo sysctl -p
配置iptables规则以允许PPTP流量通过,PPTP使用TCP端口1723和GRE协议(协议号47),运行以下命令:
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT sudo iptables -A INPUT -p gre -j ACCEPT sudo iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
(注意:eth0 替换为你的实际外网接口名)
重启pptpd服务:
sudo systemctl restart pptpd sudo systemctl enable pptpd
至此,PPTP服务已成功部署,客户端可通过Windows、iOS或Android等设备连接,输入服务器IP、用户名和密码即可建立隧道,若遇到连接失败,应检查日志 /var/log/syslog 或 /var/log/pptpd.log,确认是否因防火墙、IP冲突或配置错误导致。
虽然PPTP协议安全性较低(已被证明存在漏洞),但在内网隔离或临时场景下仍具实用性,如需更高安全性,建议升级至OpenVPN或WireGuard,但对熟悉Ubuntu环境的用户而言,本教程提供了一条快速上手PPTP服务的路径,值得收藏参考。

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






