在现代企业网络环境中,远程访问内网资源已成为常态,无论是员工在家办公、分支机构互联,还是移动设备接入内部系统,安全可靠的虚拟私有网络(VPN)技术都扮演着至关重要的角色,点对点隧道协议(PPTP)作为最早广泛使用的VPN协议之一,因其配置简单、兼容性强,至今仍被许多中小企业和老旧系统所采用,本文将详细介绍如何在Linux服务器上搭建一个基于PPTP的VPN服务,适合初学者快速上手并实现基本远程访问功能。
我们需要明确搭建环境,假设你有一台运行Ubuntu Server 20.04或更高版本的物理机或云服务器,并已具备root权限,确保该服务器拥有公网IP地址,且防火墙允许PPTP所需的端口(TCP 1723和GRE协议号47),如果使用云服务商(如阿里云、腾讯云等),还需在安全组中开放对应端口。
第一步是安装必要的软件包,执行以下命令:
sudo apt update sudo apt install pptpd -y
PPTPD(Point-to-Point Tunneling Protocol Daemon)是Linux下最常用的PPTP服务端程序,安装完成后,需要配置其核心参数,编辑配置文件:
sudo nano /etc/pptpd.conf
在文件中添加如下内容:
localip 192.168.1.1
remoteip 192.168.1.100-200
这表示PPTP服务器IP为192.168.1.1,分配给客户端的IP地址范围为192.168.1.100到200,请根据你的实际局域网规划调整这些值,避免与现有网络冲突。
第二步是设置用户认证信息,编辑/etc/ppp/chap-secrets文件:
sudo nano /etc/ppp/chap-secrets
添加一行格式如下:
username * password *
john * mypassword *
这表示用户名为john,密码为mypassword,*代表任意IP均可连接,为了安全性,建议后续改用更严格的认证机制(如LDAP或RADIUS)。
第三步是配置PPP选项,编辑/etc/ppp/options.pptpd:
sudo nano /etc/ppp/options.pptpd
保留默认设置即可,但可添加DNS服务器以供客户端解析:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
第四步是启用IP转发和配置iptables规则,编辑/etc/sysctl.conf,取消注释:
net.ipv4.ip_forward=1
然后应用更改:
sudo sysctl -p
接着配置防火墙规则:
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT sudo iptables -A INPUT -p gre -j ACCEPT sudo iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
最后重启PPTPD服务:
sudo systemctl restart pptpd sudo systemctl enable pptpd
至此,PPTP服务器已成功部署,客户端(Windows、Mac、Android、iOS)可通过标准VPN客户端连接,输入服务器公网IP和之前设置的用户名密码即可建立隧道,需要注意的是,PPTP存在已被证实的安全漏洞(如MS-CHAPv2弱加密),建议仅用于非敏感业务场景,并尽快迁移到OpenVPN或WireGuard等更安全的替代方案。
通过以上步骤,即使没有深厚网络背景的用户也能完成一次完整的PPTP部署实践,为后续学习高级VPN技术打下坚实基础。

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









