当前位置:首页 > 资料 > 正文内容

Openwrt安装Cloudflare Tunnel内网穿透

Bing2天前资料17

本来应该从从容容游刃有余,现在是匆匆忙忙连滚带爬……


先说结果:成功实现cf域名访问内网路由80,不需服务器,不需公网IP,零成本

2025-11-26_133526.png


以下为连滚带爬过程:

对,还是那个跑了几年的瘦马D2560,原固件LuCI Master 2023.10.01

光猫拨号,无超密,无公网IPv4,无端口映射。要实现外网管理openwrt,尝试安装Cloudflare Tunnel。

通过软件包拉取的清华源,过滤器搜cloudflare,安装luci-i18n-cloudflared-zh-cn,依赖组件也会自动安装。

cloudflared - 2024.4.1-2 

luci-app-cloudflared - 1.2 

luci-i18n-cloudflared-zh-cn - 25.222.75657

但安装后,左侧菜单看不到此插件。

原因:luci-app-cloudflared 1.2 版本太旧,前端 JS 代码与OpenWrt 23.10.01 固件中的 LuCI Master 不兼容。

chatgpt指导我创建cloudflared.lua,斩钉截铁的说100% 解决,然后菜单出现了,但点开空白并伴F12错误。

豆包提示我LuCI 的核心配置文件 /etc/config/luci 损坏或格式错误,叫我重建 LuCI 配置文件,成功干翻master固件LuCI,变成了23.05 branch。

主题没了,菜单中的插件和服务都没了,千问说,定制版 LuCI(如 Master 分支)和官方 23.05 的 luci-base不兼容,别折腾了,推荐重刷固件。


我是能用的稳就不动,所以两年都没更新固件。就像电脑重做系统一样,要安装一堆应用并设置,比较繁琐;还有,软路由在吊顶上面,得拿下来接显示器,想想就头疼。

本来应该从从容容游刃有余,现在……得,重刷就重刷吧


2025-11-26_120819.png

VIP极致24.10分支SUPER版6.6内核/无应用商店/无docker/2G分区

LuCI虽变了,但路由器还正常,下载了sirpdboy固件:

EzOpWrt-Vip-Super-202511010121-6.6.110-x86_64-dev-efi.gz

https://github.com/sirpdboy/openwrt/blob/master/README.md

openwrt上传文件,在线刷比较方便,刷好访问192.168.8.1打不开(固件说明:192.168.8.1 密码无)


上吊顶请出软路由,接显示器键盘,设置IP为10.0.0.1,我喜欢用这个IP段,好看好打。

放回吊顶,PC设置dhcp、挂载点、共享。


Openclash

更新内核,覆写规则,配置订阅

之前是FakeIP增强模式,这次改为Redir兼容,后面展开说。


Cloudflare Zero Trust Tunnel

过滤器搜索cloudflare安装

(源:src/gz ezopwrt_core https://downloads.immortalwrt.org/releases/24.10-SNAPSHOT/targets/x86/64/packages)

cloudflared - 2025.5.0

luci-app-cloudflared - 1.2-r1 

luci-i18n-cloudflared-zh-cn - 25.312.55771

这里的luci 1.2-r1是immortalwrt为新版LuCI维护的适配版。豆包AI曾给我推荐immortalwrt-collections、yichya、YuzukiHD的feed但没源。

安装后,左侧菜单VPN出现“Cloudflare 零信任隧道”

点蓝色的Cloudflare 零信任→网络→Tunnels→创建隧道

2025-11-26_115256.png

令牌token获取自cf网站:

隧道管理→运行时间后面的三个点,配置,操作系统选什么都无所谓,4命令就是令牌,点击复制

回到openwrt,令牌框里只填 eyJhIjoi...xxxx(不要写前面的 cloudflared.exe service install)

2025-11-26_121035.png


上传配置文件config.yml内容如下,并上传源站证书cert.pem(在上传框下面点击链接授权域名后获取)

tunnel: 0fc0a336-8680-46aa-bcd6-**********
credentials-file: /etc/cloudflared/0fc0a336-8680-46aa-bcd6-**********.json

ingress:
  - hostname: nas.*****.com
    service: http://127.0.0.1:80
  - service: http_status:404

配置完成,启用。开全局,外网可访问。


不开全局实现外网访问

当cf网站的Cloudflare Tunnels连接器显示绿色正常,此时开全局可外网访问openwrt。

当关闭全局,则浏览器显示Error 1033。

查看日志:

root@OpenWrt:~# logread -f | grep cloudflared

Tue Nov 25 14:36:06 2025 daemon.err cloudflared[1991]: 2025-11-25T06:36:06Z ERR Unable to establish connection with Cloudflare edge error="TLS handshake with edge error: EOF" connIndex=0 event=0 ip=198.18.0.121

Tue Nov 25 14:36:06 2025 daemon.err cloudflared[1991]: 2025-11-25T06:36:06Z ERR Serve tunnel error error="TLS handshake with edge error: EOF" connIndex=0 event=0 ip=198.18.0.121

Tue Nov 25 14:36:06 2025 daemon.err cloudflared[1991]: 2025-11-25T06:36:06Z INF Retrying connection in up to 1m4s connIndex=0 event=0 ip=198.18.0.121

原因:Cloudflared 要直连 Cloudflare 的边缘节点(ip 段如 198.18.x.x),但你的网络 不稳定或被丢包/阻断,导致 TLS 握手失败。


解决方案:

给 cloudflared 加代理,写在config.yml里

proxy: http://127.0.0.1:7890

proxy: socks5://127.0.0.1:7891


但是,在Fake-IP增强模式下,不开全局仍然1033错误:

root@OpenWrt:~# curl -x http://127.0.0.1:7890 https://www.cloudflare.com/cdn-cgi/trace curl: (56) CONNECT tunnel failed, response 407

本机 HTTP 代理端口被拒绝访问


Chatgpt的分析如下:

在 Fake-IP 模式下,本机访问代理(127.0.0.1:7890 或 7891)有两类限制:

  1. Fake-IP 规则模式默认只代理 LAN 流量,127.0.0.1(本机流量)可能被拒绝 → HTTP 代理直接返回 407

  2. cloudflared 走本机代理,所以每次 TLS handshake 都被拦截 → 隧道 Offline → Error1033

也就是说,即便你开启了“路由本机代理”,在某些版本 Fake-IP + 规则模式下,本机流量 仍然不能走 HTTP/ SOCKS5 端口 → 407

总结一句话:Fake-IP 模式下,Cloudflared 无法通过本机端口 HTTP/SOCKS5 代理访问外网 → TLS EOF → Error1033


解决方法:改为Redir-Host 模式,勾选路由本机代理

image.png


自定义规则:

rules:
  # ----------------------------------------
  # 1. Cloudflare 隧道虚拟 IP 段
  # 保证本机 cloudflared TCP 流量稳定
  # Redir-Host 模式下 TCP 捕获,节点不固定使用 MATCH
  - IP-CIDR,198.18.0.0/15,MATCH
  # ----------------------------------------
  # 2. 内网直连
  # 保证内网设备和手机 UDP 流量直连,不走代理
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT
  # ----------------------------------------
  # 3. 其他 TCP 流量
  # 走当前激活节点,无需固定分组名
  - MATCH


两个模式的对比如下表:

特性Fake-IPRedir
TCP 流量可靠可靠
UDP / VoLTE / Wi-Fi Calling可能异常稳定
本机流量(cloudflared)可能 407 / TLS EOF稳定
游戏/流媒体增强较弱
配置复杂度中等


至此,已实现openclash规则模式下,外网能访问路由器管理页面。


查看系统日志和内核日志,如果频繁出现

TLS handshake with edge error: EOF

说明Cloudflared 在OpenClash(redir-host)模式下 TLS 握手不稳定

可能换个节点就好了。


最终状态

  • Cloudflared 已成功连接 Edge

  • TLS EOF 握手错误已消失

  • OpenClash redir-host 不再干扰 tunnel

  • 剩下只需正确配置本地 service 即可正常访问域名


关于内网手机使用海外卡开启Wifi Calling(国行安卓),将记录在另外一篇文章。

相关文章

英特尔i3/i5/i7移动处理器型号及参数一览表

英特尔新一代移动处理器规格解析表型号主频睿频L3图形单元前端总线(MHz)制程TDP核心代号核心/线程VT酷睿i7移动处理器系列i7 920XM2.03.28MBN/A133345nm55WClark...

XP-KB2509553备忘

4月份放出的补丁KB2509553(签名为2011-3-3),打过此补丁后,update出现补丁KB978338(2010年4月的补丁,签名为2010-2)经过对比分析,KB978338所含的tcpi...

使用Onedrive空间搭建Cloudreve私人网盘

使用Onedrive空间搭建Cloudreve私人网盘

天下苦百度网盘久矣,虽然有脚本,但只能下载单文件,且多数人不会用。天翼、阿里需要客户端,兰奏限制100M单文件大小,最近的123pan异军突起,但仍有文件审核会和谐。归纳如下:1、网盘容量、速度、单文...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。