飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

  • A+
所属分类:解决方案

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

家里有一台飞牛NAS,闲置资源不少,与其让它默默吃灰,不如利用起来。最近研究了一下在飞牛NAS上通过虚拟机安装iStoreOS,再配置Clash实现旁路由功能,整个流程比想象中简单很多,折腾完记录一下,给有同样需求的朋友参考。

什么是旁路由?

旁路由(Side Router)就是在主路由器旁边接入一台额外的设备,把需要特殊处理的网络流量交给它处理,再交回主路由器上网。

常见的应用场景包括:广告过滤、科学上网、下载工具加速等。相比在主路由器上直接折腾,旁路由的好处是:

  • 不影响主路由稳定性:出问题只影响旁路由,主路由照常工作
  • 灵活性高:可以针对特定设备开启或关闭特殊功能
  • 配置简单:只需要修改需要设备的网关地址即可

准备工作

硬件要求

  • 飞牛NAS一台(CPU需支持虚拟化,Intel VT-x 或 AMD-V)
  • 至少 2GB 空闲内存(建议 4GB 以上)
  • 至少 20GB 空闲存储空间

软件准备

  • 飞牛NAS系统已安装虚拟机服务
  • iStoreOS 镜像文件

下载 iStoreOS 固件

前往 iStoreOS 官方 GitHub 仓库下载固件:

选择对应架构的镜像文件下载即可。虚拟机安装推荐使用 x86-64 架构的 imgqcow2 格式镜像。

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

 

提示:如果 GitHub 下载速度较慢,可以使用国内镜像站或代理加速下载。

第一步:在飞牛NAS上创建虚拟机

1. 安装虚拟机服务

登录飞牛NAS管理界面,打开应用中心,搜索并安装「飞牛虚拟机」服务。

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

2. 新建虚拟机

打开「飞牛虚拟机」应用,点击「新建虚拟机」:

  • 名称:填写 iStoreOS旁路由,方便识别即可
  • 操作系统:选择 Linux
  • 版本:选择「其他 Linux 6.x 内核」或「其他 Linux 5.x 内核」均可,iStoreOS 兼容性很好
  • CPU:分配 1 核即可
  • 内存:分配 2GB(建议 4GB)
  • 磁盘:添加 20GB 存储空间(按需调整)
飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网 飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网 飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

3. 上传镜像并启动

将下载好的 iStoreOS 镜像文件上传到飞牛,保存配置后开机启动虚拟机。

虚拟机启动后会自动进入安装界面,按照提示完成 iStoreOS 的安装即可。安装完成后,虚拟机将重启进入 iStoreOS 系统。

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

第二步:配置 iStoreOS 网络

iStoreOS 安装完成后,需要配置网络使其能正常联网。

1. 登录 iStoreOS

通过浏览器访问 iStoreOS 的 Web 管理界面(默认地址通常显示在安装过程中),默认账号密码一般为:

  • 账号:root
  • 密码:password
飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

2. 配置 LAN 口

进入网络向导,选择配置为旁路由,并将 LAN 口配置为与主路由器同网段的静态 IP。例如:

  • 主路由器地址:192.168.1.1
  • iStoreOS LAN 口地址:192.168.1.2(与主路由同网段,但不要冲突)
  • 子网掩码:255.255.255.0
  • DNS:223.5.5.5
飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

3. 关闭 DHCP

旁路由模式下,iStoreOS 不需要分配 IP 地址,因此需要关闭 DHCP 服务器,避免与主路由器冲突。

4. 配置 DNS

确保 iStoreOS 的 DNS 指向主路由器或公共 DNS(如 114.114.114.114),保证能正常解析域名。

第三步:安装 OpenClash

iStoreOS 基于 OpenWrt,安装 OpenClash 非常便捷。

1. 安装依赖

在 iStoreOS 首页进入终端页面,使用默认账号登录(root / password),执行以下命令安装依赖:

opkg update
opkg install coreutils-nohup bash dnsmasq-full curl ca-certificates ipset ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base

2. 下载 OpenClash

前往 OpenClash GitHub Releases 页面,下载最新版的安装包。

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

3. 安装 OpenClash

进入 iStoreOS 的 iStore 应用中心,选择「手动安装」,上传刚才下载的  包,等待安装完成。

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

4. 下载 Clash 内核

安装完成后,进入 OpenClash 配置界面(软路由系统 → 服务 → OpenClash),系统会弹窗提示下载内核。选择延迟最低的线路进行下载即可。

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

如果一切顺利,OpenClash 就安装完成了。

第四步:配置 Clash 订阅

1. 导入订阅链接

在 OpenClash 配置界面,找到「规则/策略组」或「订阅管理」,填入你的 Clash 订阅链接,点击保存并应用。

飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网

2. 选择运行模式

OpenClash 支持多种运行模式:

  • 规则模式:根据规则分流,推荐日常使用
  • 全局模式:所有流量走代理
  • 直连模式:所有流量不走代理
  • TUN 模式:虚拟网卡模式,适合需要接管所有流量的场景

日常使用推荐「规则模式」或「混合模式」。

3. 保存并重启

配置完成后,保存设置并重启 OpenClash 服务,即可生效。

第五步:客户端配置

旁路由配置完成后,需要在需要科学上网的设备上修改网关地址:

  • 网关:改为 iStoreOS 的 LAN 口 IP(如 192.168.1.2
  • DNS:可以保持默认,或同样改为 iStoreOS 的 IP

修改后,该设备的流量就会经过 iStoreOS 的 OpenClash 进行分流处理。

常见问题与解决方案

问题一:TUN 接口启动失败

如果在 OpenClash 中选择「TUN」或「混合」模式时,提示「TUN 接口启动失败,尝试重启内核…」,导致 OpenClash 一直重启,可以参考以下方法解决。

排查步骤:

  1. 在终端执行 ip link show,如果看到 error 相关信息,说明 ip-full 包有问题。
  2. 进入 iStoreOS 的「系统 → 杂项设置」,在镜像服务器中选择可用的国内镜像源(如阿里云、清华源等),否则会影响 opkg update 的执行。
飞牛NAS虚拟机安装iStoreOS旁路由,配置Clash科学上网
  1. 依次执行以下命令:
opkg update
opkg install --force-reinstall ip-full
  1. 重新执行 ip link show,确认不再出现 error 信息。
  2. 重启 OpenClash,日志显示成功即可。

问题二:依赖安装失败

如果执行 opkg 安装依赖时失败,首先检查 iStoreOS 的网络是否正常,可以尝试 ping 一下外网地址确认连通性。

问题三:Clash 内核下载失败

如果 OpenClash 自动下载内核失败,可以手动处理:

  1. 在电脑端下载 Clash 内核文件,解压得到 clash 文件
  2. 通过 iStoreOS 的「系统 → 文件传输」上传 clash 文件
  3. 在终端执行:
mv /tmp/upload/clash /etc/openclash/core/clash_meta
chmod 755 /etc/openclash/core/clash_meta
  1. 进入 OpenClash → 插件设置 → 版本更新,确认内核版本一致

总结

在飞牛NAS上通过虚拟机安装 iStoreOS 旁路由,再配置 OpenClash,整个流程并不复杂。旁路由方案的优势在于不影响主路由稳定性,出问题也好排查。配合飞牛NAS的虚拟化能力,相当于白嫖了一台软路由,家庭网络能力直接升级。

如果你也有飞牛NAS,不妨试试这个方案,折腾一下会发现很香。

下载服务恢复

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

Captcha Code