阿里云轻量应用服务器搭建 VPN完整教程

Words 967Read Time 3 min
2026-2-11
cover
type
Post
status
Published
date
Jan 6, 2021 15:46
slug
summary
阿里云轻量服务器(CentOS 7)搭建 PPTP VPN 实战:pptpd 安装、DNS/账号配置、IP 转发、iptables NAT、防火墙策略及 Windows 客户端连接。⚠️ PPTP 安全性较低,生产环境推荐 WireGuard/OpenVPN。
tags
Infrastructure
category
DevOps
icon
password
wordCount
898

前言

这篇笔记记录了在阿里云轻量应用服务器上部署 PPTP(pptpd) 的完整过程。
⚠️
PPTP 协议较老,安全性一般,更推荐优先使用 WireGuardOpenVPN。如果你必须用 PPTP(例如兼容旧设备或特定网络环境),再继续按本文操作。

概述

目标:在阿里云轻量应用服务器上部署 pptpd,让客户端连上 VPN 后通过该服务器公网 IP 访问外网。

准备工作

  1. 购买一台阿里云轻量应用服务器
      • 产品路径:产品 → 弹性计算 → 轻量应用服务器
      • 系统建议:CentOS 7.x(本文以 CentOS 7.3 为例)
      notion image
      notion image
  1. 在控制台开放端口
      • 进入服务器控制台:安全 → 防火墙
      • 放行 TCP 1723(PPTP 控制通道)
🧠
如果你后续开启了更严格的防火墙策略,还需要确保 GRE 协议(47)可用。轻量服务器的安全策略界面通常不直接显示 GRE,但实际连通性会受网络与系统防火墙规则影响。
notion image

安装与配置 pptpd

1)确认内核模块支持

2)安装依赖与服务

notion image

3)配置 /etc/pptpd.conf

编辑文件:
确保配置包含:
  • localip:服务器用于 PPTP 的地址,通常填写服务器公网 IP
  • remoteip:分配给客户端的内网地址段。
示例:
notion image

4)配置 DNS:/etc/ppp/options.pptpd

编辑文件:
添加或修改为(示例使用阿里公共 DNS,也可替换为其他公共 DNS):
notion image

5)创建账号密码:/etc/ppp/chap-secrets

编辑文件:
按格式新增账号,一行一个:
🔒
不要使用示例弱密码。建议使用长随机密码,并限制可用 IP(如果你明确知道客户端出口 IP)。
notion image

6)设置 MTU(可选但常见需要)

编辑文件:
在如下行之后:
添加:
最大传输单元

7)开启转发:/etc/sysctl.conf

编辑文件:
末尾添加:
使配置生效:

防火墙与 NAT 配置

方案 A:直接关闭 firewalld(简单但风险更高)

方案 B:保留 firewalld,只开放端口(更推荐)

配置 NAT 转发(iptables)

最常见的 MASQUERADE 规则:
不同虚拟化架构可能需要不同写法。可以先查看 VPS 架构:
架构
示例规则
XEN
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
OpenVZ
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你的公网IP
如果你明确要使用 SNAT(把 你的公网IP 替换为实例公网 IP):
一份更完整的 iptables 示例(按需取用)
保存规则:
如果提示 service 不支持,请安装 iptables-services
notion image

启动服务
重启 pptpd:
如果你使用了 iptables-services,也重启 iptables:

Windows 连接 VPN

  1. 打开 Windows 设置 → 网络和 Internet
  1. 进入 VPN添加 VPN 连接
  1. 按以下要点填写
      • VPN 提供商:Windows(内置)
      • 服务器名称或地址:你的服务器公网 IP
      • VPN 类型:PPTP
      • 用户名/密码:对应 /etc/ppp/chap-secrets
  1. 保存后连接
notion image
notion image
notion image

结尾

如果你能成功拨号但无法上网,优先检查三件事:
  • net.ipv4.ip_forward = 1 是否生效
  • NAT 规则是否正确匹配了客户端网段 192.168.0.0/24
  • 服务器防火墙与安全组是否放行了 PPTP 相关通信
后续如果你希望把这套 VPN 用于更长期、更安全的访问,建议迁移到 WireGuard,并把账号体系、访问控制、日志与告警一并补齐。

参考

Loading...