在现代网络环境中,远程访问企业内网资源或实现跨地域办公已成为常态,对于Linux爱好者和中小型企业而言,Ubuntu作为开源、稳定且易用的操作系统,是架设个人或小型团队VPN服务的理想选择,本文将详细介绍如何在Ubuntu系统中搭建PPTP(Point-to-Point Tunneling Protocol)VPN服务器,并涵盖常见问题的排查与安全建议,帮助用户快速部署一个可用、稳定的远程接入方案。

准备工作
首先确保你的Ubuntu系统为最新版本(推荐使用Ubuntu 20.04 LTS或更高版本),并具备公网IP地址(若用于外网访问),登录服务器后,执行以下命令更新系统包列表并安装必要软件:

sudo apt update && sudo apt upgrade -y
sudo apt install pptpd -y

PPTPD(Point-to-Point Tunneling Daemon)是Ubuntu上最常用的PPTP服务器软件之一,其配置简单、兼容性强,适合快速部署。

配置PPTP服务器

  1. 编辑 /etc/pptpd.conf 文件:

    sudo nano /etc/pptpd.conf

    添加如下内容(根据实际需求修改):

    localip 192.168.1.1
    remoteip 192.168.1.100-200

    localip 是服务器本地虚拟网卡IP,remoteip 是分配给客户端的IP地址池。

  2. 配置DNS服务器(可选但推荐): 在同一文件中添加:

    option dns 8.8.8.8 8.8.4.4
  3. 设置用户账号密码(用于客户端认证): 编辑 /etc/ppp/chap-secrets 文件:

    sudo nano /etc/ppp/chap-secrets

    添加一行格式如下:

    username * password *

    示例:john * mypassword *,表示允许用户名“john”以密码“mypassword”连接。

启用IP转发与防火墙规则

  1. 启用内核IP转发:

    echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
  2. 设置iptables规则(确保流量正确路由):

    sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
    sudo iptables -A INPUT -p gre -j ACCEPT
    sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

    (注意:eth0需替换为你的实际外网网卡名)

  3. 保存iptables规则(防止重启失效):

    sudo iptables-save > /etc/iptables/rules.v4

启动与测试
重启PPTPD服务:

sudo systemctl restart pptpd
sudo systemctl enable pptpd

在Windows或移动设备上配置PPTP连接,输入服务器公网IP、用户名和密码即可尝试连接,若连接失败,请检查日志:

tail -f /var/log/syslog | grep pptpd

安全建议
尽管PPTP易于配置,但其加密强度较低(MPPE 128位),不建议用于传输敏感数据,如需更高安全性,建议升级至OpenVPN或WireGuard,若必须使用PPTP,应:

  • 定期更换密码;
  • 限制IP白名单(通过fail2ban等工具);
  • 禁用不必要的端口和服务;
  • 使用静态IP而非动态分配提高可控性。


Ubuntu下搭建PPTP VPN是一项基础但实用的技能,尤其适用于临时远程办公或小规模网络接入场景,虽然PPTP已非当前主流协议,但在特定环境下仍具价值,掌握此流程不仅提升网络运维能力,也为后续学习更高级的隧道技术打下坚实基础,欢迎结合实际环境灵活调整配置,打造专属的安全远程访问解决方案。

Ubuntu系统搭建PPTP VPN服务完整指南,从配置到安全优化  第1张

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