Cloudflare Zero Trust 免费内网穿透

zheng头像
zheng 2026-07-24 15:00
楼主

## 传统的内网穿透方案

常见的内网穿透方案有 FRP、Tailscale、ZeroTier。但如果你已经使用了 Cloudflare,其实它自带了更简单的方案——Cloudflare Tunnel。

**优势:**
- 完全免费,不限流量
- 不需要公网 IP
- 自带 HTTPS 证书
- 自带 DDoS 防护
- 不需要客户端安装任何软件(访问端)

## 安装 cloudflared

```bash
# 下载 cloudflared
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
chmod +x cloudflared-linux-amd64
sudo mv cloudflared-linux-amd64 /usr/local/bin/cloudflared

# 验证
cloudflared --version
```

## 登录授权

```bash
cloudflared tunnel login
```

会生成一个 URL,在浏览器中打开,选择要使用的域名,完成授权。

## 创建隧道

```bash
# 创建隧道
cloudflared tunnel create my-tunnel

# 查看隧道 ID
cloudflared tunnel list
```

## 配置 DNS 和路由

创建配置文件 `~/.cloudflared/config.yml`:

```yaml
tunnel: YOUR_TUNNEL_ID
credentials-file: /root/.cloudflared/YOUR_TUNNEL_ID.json

ingress:
# 将 blog.yourdomain.com 指向本地 8080 端口
- hostname: blog.yourdomain.com
service: http://localhost:8080

# 将 nas.yourdomain.com 指向本地 5000 端口
- hostname: nas.yourdomain.com
service: http://localhost:5000

# SSH 穿透(需要客户端也装 cloudflared)
- hostname: ssh.yourdomain.com
service: ssh://localhost:22

# 默认规则
- service: http_status:404
```

## 设置 DNS 记录并启动

```bash
# 自动创建 DNS 记录
cloudflared tunnel route dns my-tunnel blog.yourdomain.com
cloudflared tunnel route dns my-tunnel nas.yourdomain.com

# 启动隧道
cloudflared tunnel run my-tunnel

# 以服务方式运行
sudo cloudflared service install
sudo systemctl start cloudflared
```

## 访问控制(Zero Trust)

可以在 Cloudflare Zero Trust 面板中给隧道添加访问控制:

1. 进入 Cloudflare Zero Trust → Access → Applications
2. 添加应用,选择 "Self-hosted"
3. 设置子域名,添加策略(如只允许特定邮箱登录)
4. 访问时会跳转到 Cloudflare 登录页面,验证后进入

这样即使隧道是公开的,也只有授权用户才能访问。

## Docker 部署 cloudflared

```yaml
services:
cloudflared:
image: cloudflare/cloudflared:latest
command: tunnel run
environment:
- TUNNEL_TOKEN=your_tunnel_token
restart: unless-stopped
```

获取 Token 的方法:在 Cloudflare Zero Trust → Tunnels → 选择隧道 → Configure → 复制 tunnel token。

## 注意事项

- Cloudflare Tunnel 会经过 Cloudflare 的全球网络,延迟取决于你到 Cloudflare 边缘节点的距离
- 大文件传输和视频流不适合走 Tunnel
- 违反 ToS 的内容(如视频流代理)会被封号

对于个人博客、管理面板、开发环境这些场景,Cloudflare Tunnel 是目前最优的内网穿透方案。

自建通知推送服务:Gotify 实现手机消息推送 雷电模拟器9.0 v9.5.30 去广告纯净版

最新回复

暂无回复,来说两句吧

发表评论

站点总访问量:6168