群晖 Docker 配置 Clash 及 YACD

Happymiku 发布于 17 天前 43 次阅读


前言

在群晖下搭建clash主要有以下目的:

  1. 解决 Docker 镜像仓库访问难题

    国内环境普遍无法直连 Docker 官方镜像仓库,通过代理访问是保障镜像拉取成功的必要手段。

  2. 提升容器服务的网络稳定性

    为 Emby 等依赖外部资源的服务提供代理加速,解决资源刮削不稳定问题,确保关键服务流畅运行。

一、下载 Clash Docker 镜像

  1. 打开群晖 Container Manager 软件
  2. 在"注册表"选项卡中搜索关键词 clash
  3. 找到 dreamacro/clash 镜像,点击"下载"按钮

image-20241210111438386

二、启动 Clash 容器

  1. 在"映像"列表中找到已下载的 dreamacro/clash 镜像,双击运行

  2. 在容器设置界面进行以下配置:

    • 网络模式:选择 bridge

    • 端口映射(确保本地端口未被占用):

      本地端口 容器端口 类型 用途
      7890 7890 TCP HTTP/HTTPS 代理
      7891 7891 TCP SOCKS5 代理
      9090 9090 TCP Web UI 管理端口
    • 文件路径映射

      本地路径 容器路径
      /docker/clash/config.yaml /root/.config/clash/config.yaml
  3. 确认配置后启动容器

三、配置 config.yaml 文件

  1. 获取配置文件内容

    • 在 Windows/macOS 的 Clash 客户端中,进入"配置"菜单
    • 选择一个配置文件,右键点击"外部编辑",复制全部内容
  2. 创建配置文件

    • 在群晖 NAS 的 /docker/clash/ 目录下,新建文件 config.yaml
    • 将复制的配置内容粘贴到该文件中
  3. 参考配置示例

    mixed-port: 7890
    allow-lan: true
    bind-address: '*'
    mode: rule
    log-level: info
    external-controller: '0.0.0.0:9090'
    dns:
       enable: true
       ipv6: false
       default-nameserver: [223.5.5.5, 119.29.29.29]
       enhanced-mode: fake-ip
       fake-ip-range: 198.18.0.1/16
       use-hosts: true
       nameserver: ['https://doh.pub/dns-query', 'https://dns.alidns.com/dns-query']
       fallback: ['https://doh.dns.sb/dns-query', 'https://dns.cloudflare.com/dns-query', 'https://dns.twnic.tw/dns-query', 'tls://8.8.4.4:853']
       fallback-filter: { geoip: true, ipcidr: [240.0.0.0/4, 0.0.0.0/32] }
    proxies: # 在此处添加代理服务器配置
    rules:   # 在此处添加路由规则
  4. 群晖 DDNS 特殊规则(仅需使用群晖自带 DDNS 时添加):

    - DOMAIN-SUFFIX,synology.com,DIRECT
    - DOMAIN-SUFFIX,dyndns.org,DIRECT
    - DOMAIN-SUFFIX,synocommunity.com,DIRECT

四、安装并配置 YACD Web UI

  1. 下载 YACD 镜像:

    • 在 Container Manager 的"注册表"中搜索 yacd
    • 找到 haishanh/yacd 镜像并下载
  2. 启动 YACD 容器:

    • 双击运行镜像,设置端口映射:

      本地端口 容器端口 类型
      9080 80 TCP
  3. 访问 Web 界面:

    • 启动容器后,在浏览器中输入:http://<NAS_IP>:9080(替换 <NAS_IP> 为群晖的实际 IP 地址)
    • 在 YACD 登录界面,输入 Clash 的管理地址:http://<NAS_IP>:9090
  4. 故障排查:

    • 若 YACD 界面无响应,重启 Clash 容器使配置生效

image-20241210114527336

验证与使用建议

  1. 测试代理连接:

    • 在客户端设备设置代理服务器为 NAS_IP:7890
    • 访问 https://ip.sb 验证IP地址是否变更
  2. 安全建议:

    • 仅在可信网络环境下启用 allow-lan: true 配置
    • 定期更新 Docker 镜像获取安全补丁
  3. 配置生效:

    • 每次修改 config.yaml 后需重启 Clash 容器
  • 在 YACD 界面检查"连接"页签确认规则加载状态