基于Ubuntu 22.04与24.04安装Pritunl VPN服务器教程
本文介绍如何在 Ubuntu 22.04 / 24.04 上安装并配置 Pritunl VPN 服务器,并给出国内环境下 GPG 下载失败的替代方案。
Pritunl 是开源企业级 VPN 方案,支持 Web 管理。下面按步骤安装。
步骤 1:系统更新
sudo apt update && sudo apt upgrade -y步骤 2:添加 APT 源
Ubuntu 24.04
# MongoDB 8.0
sudo tee /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
sudo tee /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
sudo tee /etc/apt/sources.list.d/pritunl.list <<'EOF'
deb [signed-by=/usr/share/keyrings/pritunl.gpg] https://repo.pritunl.com/stable/apt noble main
EOFUbuntu 22.04
# MongoDB 7.0
sudo tee /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
sudo tee /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
sudo tee /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步骤 3:导入 GPG 密钥
Ubuntu 24.04
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
curl -fsSL https://swupdate.openvpn.net/repos/repo-public.gpg \
| sudo gpg -o /usr/share/keyrings/openvpn-repo.gpg --dearmor --yes
curl -fsSL https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc \
| sudo gpg -o /usr/share/keyrings/pritunl.gpg --dearmor --yesUbuntu 22.04
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
curl -fsSL https://swupdate.openvpn.net/repos/repo-public.gpg \
| sudo gpg -o /usr/share/keyrings/openvpn-repo.gpg --dearmor --yes
curl -fsSL https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc \
| sudo gpg -o /usr/share/keyrings/pritunl.gpg --dearmor --yes下载失败替代方案(完善版)
如果服务器无法直连外网,建议按下面顺序处理。
方案 A:在线重试(先试这个)
# 强制 IPv4 + 自动重试,减少网络抖动导致的失败
curl -4fsSL --retry 5 --retry-delay 2 https://swupdate.openvpn.net/repos/repo-public.gpg \
| sudo gpg -o /usr/share/keyrings/openvpn-repo.gpg --dearmor --yes方案 B:离线下载后上传(推荐稳定方案)
- 在可联网设备下载以下文件:
- MongoDB 24.04: https://www.mongodb.org/static/pgp/server-8.0.asc
- MongoDB 22.04: https://www.mongodb.org/static/pgp/server-7.0.asc
- OpenVPN: https://swupdate.openvpn.net/repos/repo-public.gpg
- Pritunl: https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc
上传到服务器,例如放到
/root/keys/目录。在服务器执行导入命令:
sudo mkdir -p /usr/share/keyrings
# Ubuntu 22.04 使用 7.0(二选一)
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg /root/keys/server-7.0.asc
# Ubuntu 24.04 使用 8.0(二选一)
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg /root/keys/server-8.0.asc
sudo gpg --dearmor -o /usr/share/keyrings/openvpn-repo.gpg /root/keys/repo-public.gpg
sudo gpg --dearmor -o /usr/share/keyrings/pritunl.gpg /root/keys/pritunl_repo_pub.asc- 快速校验 keyring 是否就位:
ls -lh /usr/share/keyrings/mongodb-server-*.gpg /usr/share/keyrings/openvpn-repo.gpg /usr/share/keyrings/pritunl.gpg- 再刷新软件源:
sudo apt update若仍报 NO_PUBKEY,优先检查:
- 源文件中的
signed-by路径是否与 keyring 文件名完全一致。 - 当前系统版本(22.04 / 24.04)是否使用了对应 MongoDB key。
步骤 4:安装软件包
sudo apt update
sudo apt --assume-yes install pritunl openvpn mongodb-org wireguard wireguard-tools步骤 5:防火墙与端口
如使用 UFW,建议按“最小放行”处理,不建议长期直接关闭防火墙。
先放行管理端口与 SSH:
sudo ufw allow 22/tcp
sudo ufw allow 443/tcp再根据你在 Pritunl 中创建的服务协议放行隧道端口(常见示例):
# OpenVPN 常见端口(按你的实际配置为准)
sudo ufw allow 1194/udp
# WireGuard 常见端口(按你的实际配置为准)
sudo ufw allow 51820/udp最后启用并检查规则:
sudo ufw enable
sudo ufw status verbose如果仅用于临时排障,可短时关闭防火墙:
sudo ufw disable步骤 6:修改默认端口(可选)
若 443 被占用,编辑 /etc/pritunl.conf,修改 port 字段:
{
"debug": false,
"bind_addr": "0.0.0.0",
"port": 443,
"log_path": "/var/log/pritunl.log",
"temp_path": "/tmp/pritunl_%r",
"local_address_interface": "auto",
"mongodb_uri": ""
}步骤 7:启动并设置开机自启
sudo systemctl start pritunl mongod
sudo systemctl enable pritunl mongod步骤 8:获取初始化信息
sudo pritunl setup-key
sudo pritunl default-password步骤 9:登录 Web 控制台
浏览器访问:
https://<服务器IP>输入上一步得到的 setup-key 和默认管理员密码完成初始化。
总结
以上流程可在 Ubuntu 22.04 与 24.04 完成 Pritunl 部署。若遇到 GPG 下载失败,可采用“离线下载后导入 keyring”的方式处理。