Pangolin:开源Cloudflare Tunnels替代方案,GitHub 20000+ Star的自托管远程访问平台部署教程

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

配置服务暴露

在管理界面中,你可以配置哪些内网服务需要暴露到公网:

  1. 进入”Sites”页面
  2. 点击”Add Site”
  3. 配置本地服务的地址和端口
  4. 设置域名路由规则

与Cloudflare Tunnels对比

特性 Pangolin Cloudflare Tunnels
自托管 ✅ 完全自托管 ❌ 依赖Cloudflare
免费 ✅ 完全免费开源 ✅ 免费套餐可用
身份认证 ✅ 内置 需要额外配置
CDN ❌ 无 ✅ 全球CDN
DDoS防护 需要自行配置 ✅ 内置
数据主权 ✅ 完全控制 ❌ 数据经过Cloudflare

安全建议

  1. 使用强密码:管理员账号必须使用强密码
  2. 启用2FA:Pangolin支持双因素认证
  3. 限制访问IP:在防火墙层面限制管理界面的访问IP
  4. 定期更新:关注项目更新,及时升级
  5. 备份数据:定期备份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
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容