1、简介

在当今远程办公与混合办公环境日益普及的背景下,企业对 VPN(虚拟专用网络)的安全性、可扩展性和易用性提出了更高要求。Pritunl 作为一款开源、强大、企业级的 VPN 管理平台,凭借其直观的 Web 管理界面、多种协议支持以及良好的可扩展性,成为众多企业首选的 VPN 解决方案。

Pritunl 是一个基于 OpenVPN 和 WireGuard 的企业级 VPN 服务器解决方案,它通过 Web 界面实现对 VPN 用户、组织、证书和服务器的集中管理。Pritunl 支持单点登录(SSO)、高可用部署、故障自动转移以及多节点集群架构,适合中小企业乃至大型企业级网络环境使用。

Pritunl 的后端依赖 MongoDB 来管理用户信息和配置,支持通过 API 实现自动化管理,兼容多种 Linux 发行版,尤其适用于 Ubuntu 系统部署。

2、特点

  • **开源与免费:**Pritunl 的核心功能是开源且免费的,代码透明,企业可根据实际需求进行定制和二次开发。同时也提供商业版支持更多高级特性。
  • **图形化管理界面:**通过 Web UI 管理 VPN 用户、组织、服务实例、日志和配置,不再依赖繁琐的命令行操作,极大降低了维护门槛。
  • **多协议支持:**支持 OpenVPN 和 WireGuard 协议,兼容广泛的客户端平台(Windows、macOS、Linux、Android、iOS)。
  • **高可用与多节点支持:**Pritunl 支持集群部署,可实现负载均衡和自动故障切换,保障 VPN 服务持续可用。
  • **安全性强:**支持二步验证、LDAP/Radius/Okta/Google 等多种 SSO 接入方式,所有通信均采用加密通道传输,保障数据安全。
  • **自动化集成能力:**Pritunl 提供 RESTful API,可与自动化运维系统、用户管理系统、监控平台无缝集成,实现 VPN 服务的自动开通、用户管理和策略下发。

3、使用场景

  • **远程办公安全接入:**通过 Pritunl 为员工提供远程访问公司内网的安全通道,确保公司资源不暴露在公网,提升数据安全性。
  • **跨地域分支机构组网:**将多个分支机构通过 Pritunl VPN 安全连接至总部网络,实现统一组网、集中管理与跨地访问。
  • **DevOps 测试环境接入:**运维人员或开发人员可通过 Pritunl VPN 连接到测试、预发布环境,提高访问安全性,防止数据泄露或未授权访问。
  • **云资源统一访问:**在多云或混合云架构中,利用 Pritunl 统一管理不同云平台的 VPN 接入点,实现对云资源的安全访问与权限控制。
  • **移动办公与BYOD支持:**为移动设备或自带设备(BYOD)提供 VPN 接入通道,确保公司资源仅对认证用户开放,防止潜在的入侵风险。

4、安装部署

准备工作

在开始安装之前,确保你的 Ubuntu 系统已经更新,并且你有足够的权限执行必要的操作。

sudo apt update && sudo apt upgrade -y

添加必要的 APT 源

Pritunl VPN 依赖于 MongoDB、OpenVPN 和 Pritunl 本身的官方源。我们需要手动添加这些源。

根据你使用的 Ubuntu 版本,添加相应的 APT 源。对于 Ubuntu 24.04

# 添加 MongoDB 8.0 源
sudotee /etc/apt/sources.list.d/mongodb-org.list << EOF
deb [signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse
EOF

# 添加 OpenVPN 源
sudotee /etc/apt/sources.list.d/openvpn.list << EOF
deb [signed-by=/usr/share/keyrings/openvpn-repo.gpg] https://build.openvpn.net/debian/openvpn/stable noble main
EOF

# 添加 Pritunl 源
sudotee /etc/apt/sources.list.d/pritunl.list << EOF
deb [signed-by=/usr/share/keyrings/pritunl.gpg] https://repo.pritunl.com/stable/apt noble main
EOF

对于 Ubuntu 22.04

# 添加 MongoDB 7.0 源
sudotee /etc/apt/sources.list.d/mongodb-org.list << EOF
deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse
EOF

# 添加 OpenVPN 源
sudotee /etc/apt/sources.list.d/openvpn.list << EOF
deb [signed-by=/usr/share/keyrings/openvpn-repo.gpg] https://build.openvpn.net/debian/openvpn/stable jammy main
EOF

# 添加 Pritunl 源
sudotee /etc/apt/sources.list.d/pritunl.list << EOF
deb [signed-by=/usr/share/keyrings/pritunl.gpg] https://repo.pritunl.com/stable/apt jammy main
EOF

下载并导入 GPG 密钥

为确保安装包的安全性,我们需要下载并导入 MongoDB、OpenVPN 和 Pritunl 的 GPG 密钥。对于 Ubuntu 24.04

# MongoDB GPG 密钥
curl-fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor--yes

# OpenVPN GPG 密钥
curl-fsSL https://swupdate.openvpn.net/repos/repo-public.gpg | sudo gpg -o /usr/share/keyrings/openvpn-repo.gpg --dearmor--yes

# Pritunl GPG 密钥
curl-fsSL https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc | sudo gpg -o /usr/share/keyrings/pritunl.gpg --dearmor--yes

对于 Ubuntu 22.04

# MongoDB GPG 密钥
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor --yes

# OpenVPN GPG 密钥
curl -fsSL https://swupdate.openvpn.net/repos/repo-public.gpg | sudo gpg -o /usr/share/keyrings/openvpn-repo.gpg --dearmor --yes

# Pritunl GPG 密钥
curl -fsSL https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc | sudo gpg -o /usr/share/keyrings/pritunl.gpg --dearmor --yes

安装必要的软件包

接下来,我们将安装 Pritunl VPN 所需的软件包,包括 MongoDB、OpenVPN、Pritunl 本身以及 WireGuard(可选)。

sudo apt update
sudo apt --assume-yes install pritunl openvpn mongodb-org wireguard wireguard-tools

禁用防火墙

由于 Pritunl 默认在端口 443 上运行,如果系统启用了防火墙(例如 UFW),你需要禁用防火墙,或者手动打开这些端口。

#禁用 UFW 防火墙
sudo ufw disable

#如果你不想禁用 UFW,可以使用以下命令打开相关端口
sudo ufw allow 443/tcp

启动和启用服务

安装完成后,我们需要启动 Pritunl 和 MongoDB 服务,并确保它们在系统启动时自动启动。

sudo systemctl start pritunl mongod
sudo systemctl enable pritunl mongod

获取 Pritunl 的初始设置密钥和默认密码

#Pritunl 需要一个初始设置密钥,用于 Web 管理界面的第一次登录
sudo pritunl setup-key

#然后获取默认管理员密码
sudo pritunl default-password

5、配置OpenVPN server

访问

默认情况下pritunl监听在443端口,访问部署的主机的https 443端口即可进入pritunl后台,首次安装按提示进行初始化配置

初始化pritunl

默认情况下会自动获取出网ip为Public Address,后续生成的用户配置文件将会塞入这个ip,如果dnat和snat ip不同,应该手动进行修改

添加组织

添加server并管理组织

添加server关联至上一步创建的组织

这里vpn网段、Port按需修改,之后安全组或者防火墙需要放行这个UDP端口,DNS Server留空

Server关联组织

添加内网网段路由,这里内网服务器网段为192.168.7.0/24

0.0.0.0/0默认路由按需删除

启动Server

6、添加用户

添加的用户需关联之前创建的组织

用户密码可以为空

7、安装配置客户端并连接

下载客户端

进入openvpn官网,https://openvpn.net/client/client-connect-vpn-for-windows/

下载用户配置文件

点击添加的用户的下载按钮,将获取到当前用户名的连接配置文件压缩包,解压完配置到openvpn客户端即可连接

点击浏览文件,找到上边解压的openvpn用户连接文件

8、总结

Pritunl 凭借其企业级特性、强大的兼容性与灵活的部署方式,适用于各种规模的企业构建安全、可靠、高可用的 VPN 解决方案。无论是初创公司需要快速搭建远程办公环境,还是大型企业追求高可用集群和多用户精细化管理,Pritunl 都能提供专业的支持。

微信打赏:

支付宝打赏: