群辉 Nas 怎么部署 Clash

前言

因为要在 Nas 上访问 docker, 由于众所周知的原因,现在国内访问不了 docker hub, 也无法从 docker hub下载 docker 镜像, 以前国内的各种镜像站也无法使用,所以只能通过科学上网的方式访问。

Clash

由于 Clash 内核的作者删库跑路,原有的 Clash 项目已不可用。不过,目前可以使用开源项目 clash-for-linux-backup 作为替代方案。

安装

1. 克隆项目

首先选择一个目录,下载 clash-for-linux-backup 项目代码:

1
git clone https://github.com/Elegycloud/clash-for-linux-backup.git
BASH

2. 修改 .env 文件

进入项目目录并编辑 .env 文件,调整配置变量:

1
2
cd clash-for-linux-backup 
vim .env
BASH

CLASH_URL 修改为实际的订阅链接,保存并退出。

二、修复兼容性问题

由于群晖 NAS 并非标准的 Linux 发行版,在运行时可能会遇到以下错误提示:

1
Unsupported Linux distribution
EBNF

1. 修改脚本文件

编辑 scripts/get_cpu_arch.sh 文件,修复检测 CPU 架构的逻辑:

1
vim scripts/get_cpu_arch.sh
SH

43-48 行内容替换为以下代码:

1
2
3
4
else
# Older Red Hat-based distributions
CpuArch=$(get_cpu_arch "uname -m" "arch" "uname")
fi
BASH

完成修改后,保存并退出。

运行

在项目根目录下执行启动脚本:

1
sudo bash start.sh
BASH

运行成功的情况下会提示以下信息:

关于以下报错,我们无需理会,同时也不需要配置环境变量。

1
start.sh: line 189: /etc/profile.d/clash.sh: No such file or directory
STATA

配置群晖代理

  • 打开群晖 NAS 的 Web UI;
  • 依次进入 控制面板网络代理服务器
  • 添加 Clash 的代理地址和端口号,点击 应用 保存配置。

配置完成后,群晖网络环境已经挂好了代理。

测试代理功能

在终端中执行以下命令:

1
curl www.google.com
BASH

若返回内容正常,即表示代理配置成功。

注意:
群晖 NAS 本身无法通过ping 测试访问 Google、Twitter、YouTube 等外网,但若 curl 可正常返回结果,则说明代理已正常工作。这是 Linux 系统中常见的现象。

查看 docker 注册表

成功配置代理后,再次访问 Docker 注册表,此时注册表访问和镜像下载均已恢复正常。

  • 注册表访问测试:

  • 镜像下载测试:

结语

通过以上步骤,可以成功配置群晖 NAS 的网络代理功能,解决 Docker Hub 无法访问的问题。

注意
当需要重新启动 Clash 时,需要首先在群晖 Web UI 关闭代理服务器连接,否则无法启动。

相关链接


群辉 Nas 怎么部署 Clash
https://blog.pangcy.cn/2024/12/16/服务器运维/群辉Nas/群辉 Nas 怎么部署 Clash/
作者
子洋
发布于
2024年12月16日
许可协议