
TL;DR:pritunl 是 2013 年起持续维护的开源分布式 VPN 管理平台,用 Python + MongoDB 存储配置,前端 Backbone 与 Dart,服务端可同时跑 OpenVPN 与 WireGuard,通过 Web 后台统一管理多节点服务器、组织、用户与双因素认证。本资源包为最新稳定版 1.34.4681.89 完整源码,866 个文件,适配 Oracle Linux 9。
源码系统概览
文章正文
在企业远程办公与多云互联场景下,集中管理大量 VPN 节点与用户账号是运维侧最耗时的环节。
Pritunl 把 OpenVPN/WireGuard 的配置抽象成组织、用户、服务器三类对象,通过 Web 后台一键下发证书与连接配置,管理员不再手动编辑 .ovpn 与 iptables 规则。
整套系统使用 Python 作为服务端核心语言,数据全部落到 MongoDB 集合,集群内多节点实时同步配置,适合需要多地容灾与自动故障切换的中小型团队。
源码简介
Pritunl 是 GitHub 仓库 pritunl/pritunl 上的开源项目,2013 年由 Pritunl 公司启动,截至目前仍是企业级 VPN 管理领域活跃维护的代表作品。
服务端入口是 server.py,实际逻辑由 pritunl/ 目录下的 260 个 Python 模块承担,包括管理员鉴权(pritunl/auth/administrator.py)、REST API 路由(pritunl/handlers/admin.py)、路由同步(pritunl/tasks/route.py)、日志视图(pritunl/logger/view.py)等子系统。
Web 前端放在 www/ 目录,使用 Backbone.js、RequireJS 与 Grunt 构建,登录页为 www/login.html,核心管理界面是 www/index.html,另外提供 Dart 实现的现代化控制台(pritunl.js)。
二进制辅助组件由 Go 编写并通过 go install 安装,包含 pritunl-web(静态资源服务)与 pritunl-dns(集群内 DNS 中继)。
安装脚本、AWS AMI 初始化脚本、压力测试脚本与 SELinux 策略模块分别位于 tools/、selinux/、selinux8/、selinux9/、selinux10/ 等子目录,覆盖从开发到生产环境的完整链路。
适用场景
需要给远程办公员工、跨地域分支机构统一发放 VPN 账号并按组织划分权限的中小型企业,适合作为总部集中管控平台。
云上多 VPC 互联场景下,可通过 Pritunl Link 模块在 AWS、Google Cloud、Azure、Oracle Cloud 之间建立 WireGuard 或 IPsec 站点到站点隧道,做混合云组网。
需要高可用与自动故障切换的对外服务,可在多个机房部署 Pritunl 节点组成集群,MongoDB 作为配置中心,节点间不依赖共享存储。
教育与培训机构给学生开放临时访问,或给外包合作伙伴提供受控接入,都能通过组织隔离与多因素认证实现最小权限。
功能亮点
支持 OpenVPN 与 WireGuard 两种客户端协议,同一后台可同时管理两种服务端实例,管理员按场景灵活选择高性能或兼容性优先方案。
提供完整 Web 管理后台,管理员可以在浏览器里创建组织、批量导入用户、绑定服务器、生成用户配置链接,所有操作走 REST API 并写入 MongoDB 审计日志。
内置多因素认证机制,支持 TOTP、推送通知、TPM 与 Apple Secure Enclave 设备认证,可叠加六位 PIN 与单点登录,覆盖五层安全验证。
集群节点之间通过 MongoDB 通信,新增节点只需在同一 MongoDB 上注册即可加入集群,横向扩容不需要改动防火墙或同步文件。
提供 Python 插件系统,允许开发者扩展自定义认证方式与访问控制策略,可对接企业内部的 LDAP、Radius、Duo 等身份系统。
支持 IPv6 NDP 代理、动态防火墙规则、API 接口(完整 REST API 暴露在 pritunl/handlers/ 目录下)与审计日志导出,可对接 SIEM 平台做安全运营。
技术架构与部署指南
技术栈与运行环境
服务端核心语言:Python 3.12.13(自定义编译到 /usr/lib/pritunl,启用 LTO 与 SQLite 扩展)。
数据存储:MongoDB 8.2+(推荐单实例起步,生产可上副本集)。
VPN 协议运行时:OpenVPN 2.5+(主选)与 WireGuard(高吞吐场景备选)。
辅助服务:Go 1.26.1+ 编写的 pritunl-web(静态资源)与 pritunl-dns(集群 DNS 中继)。
前端栈:Backbone.js + RequireJS + Underscore(传统 www/ 控制台)与 Dart(新控制台),使用 Grunt 构建。
操作系统:Oracle Linux 9 或兼容发行版,内核需支持 iptables、ipset、IPv6 NDP。
安装与部署提示
在 Oracle Linux 9 上先添加 MongoDB 与 Pritunl 官方 yum 源,使用 dnf 安装 mongodb-org 与 pritunl-openvpn,启动 mongod 与 pritunl 服务进程。
通过 wget 下载 Python 3.12.13 源码包,启用 LTO、IPv6、loadable-sqlite-extensions 后编译安装到 /usr/lib/pritunl,避免与系统 Python 冲突。
下载 Go 1.26.1 工具链并配置 GOPATH,用 go install 同时拉取 pritunl-web 与 pritunl-dns,复制到 /usr/bin 下注册为系统服务。
用 pip3 -r requirements-build.txt 与 requirements.txt 安装哈希锁定的依赖,执行 setup.py build && setup.py install 完成服务端部署。
可选加载 selinux9 目录里的 SELinux 策略模块(包含 pritunl.pp、pritunl_dns.pp、pritunl_web.pp),通过 semodule -i 与 restorecon 强化系统访问控制。
部署完成后通过 https://服务器IP 访问 Web 界面,使用 sudo pritunl default-password 获取初始账号,首次登录强制修改密码并绑定双因素认证。
截图与演示说明
以下截图来自 GitHub 原版 pritunl/pritunl 仓库,均为无水印原图,展示 Pritunl 官网产品介绍与多平台客户端实际界面。

第一张为 Pritunl 官方项目 Logo,通常嵌在 GitHub 仓库 README 顶部,标识项目归属与品牌。

第二张为 Pritunl 官网首页截图,介绍产品定位为支持 OpenVPN、WireGuard 与 IPsec 的分布式服务器方案,主推简单部署与多云互联能力。

第三张展示 Pritunl 跨平台客户端支持,Windows、macOS、Linux 桌面应用均可连接服务端,界面统一展示导入、服务器、用户与连接状态信息。

第四张为官方安全特性页,强调五层身份认证组合(用户证书、PIN、TOTP、SSO、移动推送),可叠加使用以提升接入安全。
常见问题
问:单台服务器能支撑多少并发用户?受 MongoDB、CPU 与 OpenVPN 进程数影响,实测单节点可承载数千并发会话,生产建议分布式部署做横向扩展。
问:开源版与商业版功能差异?开源版具备全部基础 VPN 管理能力,商业版额外提供单点登录、自动故障切换与站点到站点 Link 等扩展,定价按服务器计费。
问:能否不绑官方源自行编译?可以,本资源包为完整源码,按上文安装步骤使用自定义 Python 与 Go 工具链即可完成源码编译与安装。
问:如何与现有 LDAP 或 SSO 对接?官方支持 SAML、OAuth、Radius、LDAP 等协议,也可通过 Python 插件接口扩展自定义认证源。
问:审计日志能否对接 SIEM 平台?可以,审计事件以结构化 JSON 写入 MongoDB 集合,也可配置远程 syslog 输出,直接接入 ELK 或 Splunk 等系统。
问:客户端支持哪些操作系统?官方客户端覆盖 Windows、macOS、Linux,Chrome OS 可使用通用 OpenVPN 配置,iOS 与 Android 通过系统内置 OpenVPN 客户端连接。
安全风险提示
请勿在公网直接暴露未启用 HTTPS 与双因素认证的 Web 管理端口,务必通过 setup-key 与默认密码流程完成首次加固后再对外开放。
MongoDB 监听端口如需对外必须配置鉴权与 TLS,避免 Pritunl 集群元数据被未授权访问导致节点被恶意加入。
请遵守所在地区关于 VPN 与加密通信的法律法规,本项目本身是合法的网络运维工具,不得用于绕过访问控制或从事违法活动。
定期从官方源拉取升级版本与 SELinux 策略,生产环境部署前在隔离环境验证新版本兼容性,避免单点升级导致服务中断。
下载说明
本资源包为 Pritunl 官方开源代码完整克隆,包含 Python 服务端、前端资源、Go 辅助组件、SELinux 策略与安装脚本,可直接用于自建企业 VPN 管理平台。
使用前请阅读 LICENSE 文件,协议为 Pritunl 定制非商业许可,可自用与内部部署,不得对源码进行转售或以衍生作品形式再分发。
运行环境推荐 2 核 4GB 以上配置,磁盘预留 10GB 以上,生产环境建议使用 Oracle Linux 9 官方镜像以匹配预编译二进制。
GitHub项目开源地址:https://github.com/pritunl/pritunl
同类方案对比
| 维度 | Pritunl | OpenVPN Access Server | Tailscale |
|---|---|---|---|
| 部署模式 | 自建分布式 | 自建(单点) | 托管 SaaS |
| 协议支持 | OpenVPN + WireGuard + IPsec | OpenVPN | WireGuard |
| 管理界面 | 完整 Web 后台 | Web 后台(基础) | 客户端为主 |
| 多因素认证 | 五层可选 | 两层 | SSO 集成 |
| 开源协议 | 非商业免费 + 商业订阅 | 部分开源 | 客户端开源 |
| 站点到站点 | 支持(Link 模块) | 不支持 | 支持(Subnet Router) |
By the numbers:2013 年首发,持续维护 13 年,260 个 Python 模块,866 个项目文件,支持五层身份认证,单集群无限用户数。