Pritunl 分布式 VPN 管理平台系统源码

Pritunl 分布式 VPN 管理平台系统源码

  • 承接源码二开、定制
  • 各种脚本CMS插件定制
  • 全站源码免费下载
资源下载
免费资源
立即下载

Pritunl 分布式 VPN 管理平台系统源码 - 官方项目封面

TL;DR: 是 2013 年起持续维护的开源分布式 VPN 管理平台,用 Python + 存储配置,前端 Backbone 与 Dart,服务端可同时跑 与 ,通过 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 - 官方标识

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

Pritunl 官网首页 - 分布式 OpenVPN WireGuard 与 IPsec 服务器产品介绍

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

Pritunl 跨平台客户端界面 - Windows macOS Linux 客户端 UI

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

Pritunl 安全特性页 - 多层身份认证与安全架构说明

第四张为官方安全特性页,强调五层身份认证组合(用户证书、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 个项目文件,支持五层身份认证,单集群无限用户数。

资源下载
下载价格免费
本文章资源https://www.aosen.cc/mianfei14685.html来源于互联网,如存在侵权,请联系我们立马删除!
0
显示验证码