QNAP 部署 iStoreOS 旁路由 · 完整踩坑指南

QNAP 部署 iStoreOS 旁路由 · 完整踩坑指南

适用:QNAP x86 机型(ARM 机型不支持 Virtualization Station)+ 想用 NAS 跑软路由旁路由(PassWall / OpenClash / 广告拦截等)。
实测环境:iStoreOS 24.10.8(x86_64)+ QNAP Virtualization Station(BIOS 模式)。
整理日期:2026-08-11


一、核心原理(先搞懂,后面不迷路)

  • iStoreOS = OpenWrt 改版,需要完整网络栈,必须用 Virtualization Station 跑虚拟机,不要用 Container Station / Docker。
  • 旁路由只需 1 张虚拟网卡,桥接(vswitch)到 QNAP 现有的物理网口,和主路由同 LAN 段。靠”手动改网关”让指定设备走它。
  • 不需要额外网线,不需要 PCI 直通,不需要第二张物理网卡。
  • QNAP 单网口:虚拟机和 QNAP 共用同一个口上网,互不冲突。
  • 多网口(可选):把第二口接交换机、虚拟机桥接到第二口,旁路由崩了不影响进 QNAP 后台——只是”更稳”,不是”必须”。

二、准备工作

  1. App Center 安装并启用 Virtualization Station(虚拟机工作站)。
  2. 建两个共享文件夹备用:Images(放原始镜像)、iStoreOS(放转换后虚拟盘)。

三、下载固件

去官方镜像站:https://fw.koolcenter.com/iStoreOS/

  • x86_64/ 目录(不是 x86_64_efi/,因为你 VM 里 BIOS 设的是”原有 BIOS”非 UEFI)。
  • 下载带 squashfs-combined 的文件,如:
    istoreos-24.10.8-2026073111-x86-64-squashfs-combined.img.gz
  • 本地用 7-Zip / bandizip 解压,得到 .img 文件,上传到 NAS 的 Images 文件夹。
  • 默认账号 root / 密码 password
  • 单网卡设备默认就是 LAN + 旁路由模式(双网卡才是 WAN+LAN 主路由),刚好契合需求。

四、建虚拟机(Virtualization Station)

1. 操作系统类型

下拉里没有 OpenWrt,选最通用的 Linux / Other Linux (64-bit) 即可。实测可选 Rocky Linux 10(列表里最新的 64 位 Linux)。QNAP 只拿这个选项决定默认驱动,最终从你自己的 .img 磁盘启动,不影响运行。

2. CPU / 内存

  • 1 核 + 1GB 够旁路由;要跑 OpenClash/PassWall 这类插件建议 2 核 + 2GB
  • 启用内存共享:勾选。

3. BIOS

  • 「原有 BIOS」(Legacy)。你下的是普通 combined.img(非 EFI 版),必须 Legacy,不要选 UEFI。

4. 网络(旁路由关键)

  • 1 张网卡,连接到 Virtual Switch 1(和 QNAP 同一 LAN 段)。
  • 型号 VirtIO(iStoreOS 能识别,性能最好)。
  • 不需要点”添加网络适配器”。
  • MAC 地址:默认即可,不需要改。Virtualization Station 给每个虚拟网卡自动分配独立 MAC,主路由会当作两台独立设备,不会和 NAS 识别成同一个。

五、⚠️ 最关键的坑:QNAP 不认 raw .img,必须转 qcow2

现象

  • 创建虚拟机时”硬盘 → 现有映像”看不到你上传的 .img
  • “映像转换器”只接受 .vmdk/.vdi 作源,不认 raw .img
  • “导入虚拟机”只接受 .ova/.ovf/.vmx/.qvm,也不认 .img

根因

威联通虚拟机只认”底层是 qcow2 格式”的 .img 文件。你手上的 iStoreOS .imgraw 格式,所以既不显示、转 vmdk 也白搭(QNAP 同样不认 vmdk)。

✅ 正确解法:raw → qcow2,且文件名保留 .img 后缀

电脑(Windows)上用 qemu-img 转换(转换在本地跑,需要 .img 先在 Windows 上):

# 安装 qemu(Win10/11 自带 winget)
winget install qemu.qemu

# 转换:输出文件名必须是 .img 后缀!
& "C:\Program Files\qemu\qemu-img.exe" convert -f raw -O qcow2 `
  "D:\test\istoreos\istoreos-24.10.8-2026073111-x86-64-squashfs-combined.img" `
  "D:\test\istoreos\istoreos-qnap.img"

验证转换是否完整(关键!):

& "C:\Program Files\qemu\qemu-img.exe" info "D:\test\istoreos\istoreos-qnap.img"

看到 file format: qcow2虚拟大小(virtual size)与原始 raw 文件一致(约 2.38 GiB)即成功。

⚠️ 易错点:qcow2 会压缩空白扇区,磁盘占用只有 ~229MB(源 raw 是 2.37GB),这是正常的,不是截断,虚拟大小不变即可放心用。
之前有人转成 .vmdk 也是 229MB,但 QNAP 不认 vmdk,必须 qcow2 + .img 后缀。

继续创建虚拟机

  • 硬盘 → 新增 → 添加现有硬盘 → 选 istoreos-qnap.img(这次能看到了)
  • 控制器选 SATA(VirtIO 在部分 OpenWrt 内核上识别不稳,SATA 最稳)
  • 完成创建

六、首次启动 & 设定 LAN IP

  1. 点「开始」开机,打开控制台看跑码,出现登录提示后回车
  2. 看 IP:
    bash
    ip addr

    单网卡默认从主路由 DHCP 拿 IP(如 192.168.50.178/24),也能去主路由后台客户端列表找它。
  3. 改成同网段静态 IP(避免 DHCP 变动),主路由是 192.168.50.1 就设 192.168.50.114
    bash
    quickstart

    Change LAN IP → 填 IP / 掩码 255.255.255.0 / 网关填主路由 IP / DNS 填主路由或 223.5.5.5q 退出 → service network restart
  4. 浏览器访问 http://192.168.50.114root / password 登录。

七、配置为旁路由 + 开 NAT

  1. 首页 → 网络向导配置为旁路由
  2. 填:IP(同段空闲地址)、网关(主路由 IP)、DNS(主路由或 223.5.5.5)。
  3. 关闭「提供 DHCPv4 服务」(避免和主路由抢 DHCP,否则可能连 QNAP 都连不上)。
  4. 开启 NAT(IP 动态伪装)。

NAT 怎么补开(若自动配置时漏了)

网络 → 防火墙 → 基本设置 → 编辑 lan 区域 → 勾选 「IP 动态伪装(MASQUERADE)」 → 保存并应用。
或控制台:

uci set firewall.@zone[0].masq='1'   # 默认 lan 是 zone[0]
uci commit firewall
service firewall restart

NAT 对「基础旁路由」非必须,但装 PassWall/OpenClash/WireGuard 等代理插件必须开,否则”连上打不开网页”。开后主路由侧设备流量源 IP 都变成旁路由自身,家用基本无影响。

改密码

系统 → 管理权,把 root 默认密码 password 改掉。


八、让设备走旁路由

PassWall 是透明代理,只对”网关指向它”的流量生效:
– 要科学上网的设备:网卡设置里把网关 + DNS 都填成旁路由 IP(192.168.50.114)。
– 没改网关的设备 = 直连主路由。
– 想”全家默认走代理”:主路由关 DHCP、旁路由开 DHCP 并下发自己为网关(新手不建议,旁路由崩了全家断网)。
旁路由自身不要动 QNAP 的网关(QNAP 保持走主路由),万一旁路由没配好还能进 QNAP 后台救。


九、安装 PassWall(iStoreOS 商店没有,用 .run 离线包)

商店装不了的原因

iStoreOS 官方源根本没收录 PassWall(有的版本只放 OpenClash),商店里搜不到是正常的。

⚠️ 修源脚本已失效

旧命令 sh -c "$(curl -sSL https://fw.koolcenter.com/iStoreOS/alpha/fix-istore.sh)" 现在返回 404 HTML 错误页sh 把网页当脚本跑会报 sh: can't open html。真正的修复只是换域名:

sed -i 's/istore.linkease.com/istore.istoreos.com/g' /bin/is-opkg
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /etc/opkg/compatfeeds.conf
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /www/luci-static/istore/index.js
is-opkg update

✅ 推荐:iStore 手动安装 .run 离线包(依赖全打包)

匹配环境(iStoreOS 24.10.x / x86_64)的离线包:
– 文件名:PassWall_26.8.11_x86_64_all_sdk_24.10.run
– 下载:https://github.com/bcseputetto/Are-u-ok/releases/download/iStoreOS_24.10/PassWall_26.8.11_x86_64_all_sdk_24.10.run

安装:
1. 电脑浏览器下载 .run 文件。
2. iStoreOS 后台 → 顶部 iStore 应用商店手动安装(上传/拖放 .run)。
3. 自动处理依赖,装完刷新后台,左侧「服务」出现 PassWall

或 SSH 直接:cd /tmp && wget -O passwall.run <上面URL> && sh passwall.run
⚠️ 装之前先 ping -c 3 8.8.8.8 确认旁路由能上外网,否则 .run 拉依赖会卡住。


十、PassWall 配置(装好只是壳,需自备节点)

  1. 加节点(二选一):
  2. 节点订阅:PassWall → 节点订阅 → 添加(备注 + 订阅 URL)→ 更新订阅 → 节点列表里看是否拉到。
  3. 手动添加:节点列表 → 添加 → 选 VLESS/VMess/Trojan/Hysteria2/SS → 填地址/端口/UUID/密码/加密/流控。
  4. 基本设置(核心):
  5. 启用主开关 ✅
  6. TCP 节点选一个(先「延迟测试」挑最低)
  7. UDP 节点可同节点或留空
  8. 默认代理模式:大陆白名单(国内直连、国外走代理,日常最稳)
  9. 保存并应用
  10. 测试:运行状态页点 Google 链接;设备上访问 youtube/google 验证,同时访问 baidu 确认国内直连正常。

常见坑

  • 节点拉不到:订阅 URL 失效/被墙,换 URL 或手动填。
  • 能连打不开网页:节点无效 / DNS 没设 / 模式错 → 切「全局」测,能通说明是分流规则或节点问题。
  • 部分国内网站慢:确认模式是「大陆白名单」(国内应直连)。

十一、避雷速查表

现象 解法
QNAP 不显示 .img 现有映像里看不到、转换器只认 vmdk raw 转 qcow2,输出文件名保留 .img 后缀
qcow2 只有 229MB 以为截断 正常压缩,看 info 的 virtual size 是否与源一致
修源脚本 404 sh: can't open html 旧域名 istore.linkease.com → 新 istore.istoreos.com
商店无 PassWall 搜不到 .run 离线包手动安装
旁路由开不了网页 NAT 没开 lan 区域勾「IP 动态伪装」
全家断网 旁路由抢 DHCP 关旁路由 DHCP,只改指定设备网关

这份指南由一次完整实战整理:从镜像下载、raw→qcow2 转换、建 VM、配旁路由、开 NAT,到 .run 离线装 PassWall,所有踩过的坑都已记录。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注