You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Cloudflare Tunnel访问Samba服务器

解决Cloudflare Tunnel访问Samba失败及HomeAssistant配置异常问题

一、Samba无法通过Cloudflare Tunnel访问的核心原因与修复步骤

Cloudflare Tunnel默认仅支持HTTP/HTTPS协议转发,而Samba基于SMB(TCP)协议,无法通过常规的HTTP隧道规则访问,需配置TCP流量转发:

  • 停止当前运行的Cloudflare Tunnel Docker容器:
    docker stop cloudflared && docker rm cloudflared
    
  • 创建Cloudflare Tunnel配置文件config.yml,添加Samba的TCP转发规则(替换占位符为实际值):
    tunnel: 你的隧道ID
    credentials-file: /root/.cloudflared/你的隧道凭据文件名.json
    ingress:
      - hostname: smb.yourdomain.com
        service: tcp://本地Samba服务器IP:445
      - hostname: ha.yourdomain.com
        service: http://本地HomeAssistantIP:8123
      # 保留其他已正常工作的服务规则
      - service: http_status:404
    
  • 重新启动Cloudflare Tunnel容器,挂载配置文件与凭据:
    docker run -d --name cloudflared --restart always \
      -v /本地路径/config.yml:/etc/cloudflared/config.yml \
      -v /本地路径/凭据文件.json:/root/.cloudflared/凭据文件.json \
      cloudflare/cloudflared:latest tunnel run
    
  • 客户端验证:使用\\smb.yourdomain.com\共享目录访问,确保本地防火墙允许445端口入站,且Cloudflare Zero Trust控制台未限制该隧道的TCP流量。

二、HomeAssistant配置异常的修复方案

CLI操作导致的HA配置异常,多为网络规则冲突或配置文件误改,按以下步骤排查:

  • 检查HA容器网络状态,确认端口映射与网络连通性:
    docker inspect homeassistant | grep -A 15 "NetworkSettings"
    
  • 恢复HA配置文件:若误改了configuration.yaml,使用HA自动备份的配置文件替换(备份路径通常在HA容器的/config/.storage或本地备份目录),后重启容器:
    docker restart homeassistant
    
  • 核对Cloudflare Tunnel ingress规则:确保HA的规则指向正确的本地IP与8123端口,无端口冲突或域名重复配置。
  • 先验证本地访问:通过http://本地HAIP:8123确认HA正常运行后,再测试隧道访问,排除隧道规则问题。

内容的提问来源于stack exchange,提问作者SaintlyPioneer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:50:33