Cloudflare Tunnels是很多站长用来暴露内网服务的工具,但它有一个明显的缺点:你必须依赖Cloudflare的基础设施。如果你想要一个完全自托管、不受第三方控制的方案,Pangolin是一个值得关注的选择。
Pangolin是一个基于WireGuard的开源身份感知VPN和隧道反向代理平台,目前在GitHub上已经获得了超过20000个Star。本文将详细介绍如何部署和使用Pangolin。
Pangolin是什么
Pangolin的核心功能是让你安全地暴露内网服务到公网,类似于Cloudflare Tunnels,但完全自托管。它的主要特点包括:
- 基于WireGuard:使用成熟的VPN协议,性能好、安全性高
- 身份感知:可以基于用户身份进行访问控制
- 自托管:完全控制在自己手中,不依赖第三方
- Web管理界面:提供直观的图形化管理
- 反向代理:自动处理HTTPS证书和域名路由
适用场景
Pangolin特别适合以下场景:
- 需要暴露家庭NAS、开发服务器到公网
- 不想依赖Cloudflare但需要类似功能
- 需要基于身份的访问控制
- 对数据主权有要求的企业或个人
- 需要在多个地点之间建立安全隧道
部署步骤
环境要求
- 一台有公网IP的服务器(VPS)
- Docker和Docker Compose
- 一个域名(可选,但推荐)
步骤1:安装Docker
# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 验证安装
docker --version
docker compose version
步骤2:克隆Pangolin仓库
git clone https://github.com/fosrl/pangolin.git
cd pangolin
步骤3:配置环境变量
# 复制示例配置
cp .env.example .env
# 编辑配置文件
nano .env
主要配置项:
# 基础配置
BASE_DOMAIN=your-domain.com
ADMIN_EMAIL=admin@your-domain.com
# WireGuard配置
WG_PORT=51820
# 数据库配置(默认使用SQLite)
DATABASE_URL=file:./data/pangolin.db
步骤4:启动服务
# 使用Docker Compose启动
docker compose up -d
# 查看日志
docker compose logs -f
步骤5:访问管理界面
启动后,访问 https://your-domain.com 即可打开Pangolin的Web管理界面。首次访问需要创建管理员账号。
添加隧道
在内网服务器安装客户端
# 下载Pangolin客户端
curl -L https://github.com/fosrl/pangolin/releases/latest/download/pangolin-linux-amd64 -o pangolin
chmod +x pangolin
# 连接到Pangolin服务器
./pangolin connect --server https://your-domain.com --token YOUR_TOKEN
配置服务暴露
在管理界面中,你可以配置哪些内网服务需要暴露到公网:
- 进入”Sites”页面
- 点击”Add Site”
- 配置本地服务的地址和端口
- 设置域名路由规则
与Cloudflare Tunnels对比
| 特性 | Pangolin | Cloudflare Tunnels |
|---|---|---|
| 自托管 | ✅ 完全自托管 | ❌ 依赖Cloudflare |
| 免费 | ✅ 完全免费开源 | ✅ 免费套餐可用 |
| 身份认证 | ✅ 内置 | 需要额外配置 |
| CDN | ❌ 无 | ✅ 全球CDN |
| DDoS防护 | 需要自行配置 | ✅ 内置 |
| 数据主权 | ✅ 完全控制 | ❌ 数据经过Cloudflare |
安全建议
- 使用强密码:管理员账号必须使用强密码
- 启用2FA:Pangolin支持双因素认证
- 限制访问IP:在防火墙层面限制管理界面的访问IP
- 定期更新:关注项目更新,及时升级
- 备份数据:定期备份Pangolin的数据库和配置
常见问题
Q: 需要什么样的服务器?
A: 最低1核1G内存即可。推荐2核2G以上,特别是需要处理大量连接时。
Q: 支持哪些客户端?
A: 目前支持Linux和macOS客户端,Windows客户端正在开发中。
Q: 性能如何?
A: 基于WireGuard的性能非常好,延迟低、吞吐量高。实际性能取决于你的网络环境。
Q: 可以用于生产环境吗?
A: Pangolin已经比较成熟(20000+ Star),但建议在生产环境中做好监控和备份。
总结
Pangolin为需要自托管远程访问方案的站长提供了一个优秀的选择。虽然它没有Cloudflare的全球CDN和DDoS防护,但在数据主权和完全控制方面有明显优势。
如果你不想依赖第三方平台,同时需要一个功能完善的隧道方案,Pangolin值得一试。
本文参考来源:Pangolin GitHub | Pangolin官网 | Pangolin文档
© 版权声明
THE END

















暂无评论内容