IDCNLink - 全球网络加速服务商 - 机场

开代理后打不开路由器/NAS?Shadowrocket 局域网直连设置

更新于 2026-11-14 · idcnlink.online

简答:如果开启 Shadowrocket 后打不开 192.168.x.x、路由器或 NAS,先在首页(Home)→全局路由(Global Routing)临时切换为 Direct;如果 Direct 能访问,再回到当前 Config,检查 [General] 中的 skip-proxy、bypass-tun,以及 [Rule] 中位于宽泛规则和 FINAL 之前的 DIRECT 规则。若路由器能打开但打印机或 AirPlay 发现不到,还要检查 iOS 的“本地网络”权限和 mDNS/Bonjour 组播。

定义:Shadowrocket 局域网直连,是让路由器、NAS、打印机等内网目标不经代理节点访问;但“Direct”整体模式、[General] 中的 bypass 项和 [Rule] 中的 DIRECT 策略并不是同一个设置。

先试这一张速查卡:区分 Direct、Config 与局域网规则

本文是第三方使用指南,以 iPhone/iPad 为例;不同版本的菜单名称或位置可能略有变化,以下以当前界面为准。Shadowrocket 的 Home(首页)中通常可以进入 Global Routing(全局路由),选择 Config、Proxy 或 Direct;第三方整理资料也将这三项区分为整体路由模式,而不是服务器本身。可先参考第三方整理的 Shadowrocket Global Routing 说明,不要把该页面当作开发者官方文档。

遇到的情况先做什么判断标准下一步
开启代理后路由器、NAS 都打不开Home(首页)→ Global Routing(全局路由)→ Direct同一个内网 IP 能否重新打开Direct 能打开,说明应检查 Config 或规则;Direct 也打不开,先查 Wi-Fi 和设备权限
Direct 能打开,切回 Config 又打不开确认当前活动配置,再检查 [General] 和 [Rule]规则是否覆盖目标地址,且排在提前命中的规则之前补充或修正局域网例外,不要直接复制整份陌生配置
网页能打开,但打印机、AirPlay 或 .local 找不到检查“本地网络”权限和 mDNS/Bonjour 发现能否发现设备名称,而不只是访问 IP先用 IP 访问,再单独排查组播发现
修改配置后完全没有变化确认文件已保存、已启用,并且 Global Routing 已切回 Config当前活动配置是否就是刚修改的文件断开并重新连接 VPN,再重新发起请求

临时排查步骤如下:

  1. 打开 Shadowrocket,进入 Home(首页)。
  2. 点击 Global Routing(全局路由),选择 Direct。
  3. 重新输入实际的路由器、NAS 或打印机地址,例如 http://192.168.1.1;示例地址必须替换成你自己的设备地址。
  4. 测试结束后切回原来的 Config,否则后续请求可能全部按整体直连处理。

长期设置前先检查 [General]:skip-proxy 与 bypass-tun 不等于 DIRECT

修改前先保存当前配置副本。可以在 Shadowrocket 的 Config(配置)中记下活动配置名称,并将配置文本复制到“文件”或备忘录,命名为 Shadowrocket-config-backup-2026-11-14.conf。如果配置来自远程订阅,手动改动可能在下次更新时被覆盖;是否支持本地副本、模块或规则覆盖,取决于当前版本和配置来源,需核实。

很多公开的 Shadowrocket 配置示例会在 [General] 段写入 skip-proxy、bypass-tun 或类似的局域网地址,但这些是公开配置作者的示例,不代表每个版本或每个订阅都会默认包含。一个可核对字段写法的公开 GitHub 配置示例包含以下内容:Shadowrocket/config 的 default.conf 提交记录。

skip-proxy 通常用于让指定域名或地址由 Shadowrocket 的 TUN 接口处理,而不是交给代理接口;它本身不等于“完全绕过 Shadowrocket”,也不自动等于规则中的 DIRECT。bypass-tun 则是让指定地址绕过 TUN 接口;公开配置示例通常会列出私有 IPv4 网段,但具体行为会受代理类型、TUN 状态和当前版本影响,不能仅凭字段名称推断最终路径。另一个公开配置文件对这两个字段的注释也作了类似区分,可查看Shadowrocket 公共配置示例中的 [General] 字段说明。

先在现有配置中搜索以下关键词,再决定是否需要修改:

  • skip-proxy
  • bypass-tun
  • tun-excluded-routes
  • localhost、*.local
  • 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16

如果已有这些条目,不要重复添加相同网段,也不要把整段陌生配置直接覆盖原文件。常见私有 IPv4 网段是 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16,但你的路由器、NAS 或打印机可能使用其他地址,应该以设备实际 IP 为准。IPv6 局域网前缀同样不能盲抄;如果目标优先使用 IPv6,IPv4 规则不会自动覆盖它。

完成检查后,回到 Home → Global Routing,选择 Config,确认活动配置仍是刚刚检查的文件,再断开并重新连接一次 VPN。验证标准是:同一个目标地址在 Config 模式下可以访问,并能在当前版本提供的请求记录、Data(数据)或日志页面中看到对应请求;具体页面名称需以当前版本为准。

需要自己添加规则时:把局域网 DIRECT 放在提前命中的规则前面

如果当前配置没有覆盖实际局域网地址,可以在配置的 [Rule] 段添加规则。先备份,再只增加与你网络相符的条目:

IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

这里的 IP-CIDR 用于匹配 IPv4 地址段,DIRECT 是该条规则的直连策略,no-resolve 用于避免为匹配 IP 规则额外触发域名解析。以上语法可与公开的 Shadowrocket 配置示例交叉核对,但不同版本对字段和规则的支持仍应以当前客户端实际表现为准。

  1. 在配置文本中找到 [Rule]。
  2. 将实际需要的局域网规则放在可能命中目标的宽泛代理规则之前。
  3. 检查是否存在 FINAL,PROXY 或类似兜底项。FINAL 通常只处理前面没有命中的请求,不能覆盖已经被前面规则匹配的请求。
  4. 保存配置,确认当前文件仍处于启用状态。
  5. 回到 Home → Global Routing,选择 Config。
  6. 关闭并重新打开路由器、NAS 或打印机应用,再访问实际地址。

如果你访问的是 nas.local、路由器主机名或打印机名称,单纯添加 IP-CIDR 不一定能解决发现问题。可以先用实际内网 IP 验证 TCP 访问,再根据连接记录确认主机名解析到的地址;不要把示例域名、端口或网段直接复制到生产配置。

订阅自动更新时,远程配置可能重新写入 [General] 或 [Rule]。如果问题在更新后反复出现,应记录配置更新时间和变动内容,优先使用服务方提供的本地配置复制功能;当前版本是否支持模块、覆盖规则或本地编辑,需核实,不要假定所有版本都有同一入口。

路由器能开但 AirPlay、打印机或 .local 找不到:检查本地网络权限和 mDNS

iOS/iPadOS 的“本地网络”权限与代理分流是两层问题。Apple 说明,iOS 14 及更高版本中,应用首次浏览局域网设备时需要请求本地网络权限;可以打开 设置 → 隐私与安全性 → 本地网络,找到相关应用并允许访问。具体路径和权限说明可参考Apple 关于 iPhone/iPad 本地网络隐私控制的说明。

  1. 先关闭或暂停 Shadowrocket,确认 iPhone/iPad 与路由器、NAS、打印机处于同一 Wi-Fi,且不是访客网络。
  2. 打开“设置 → 隐私与安全性 → 本地网络”,为需要发现设备的 NAS、打印机或投屏应用开启权限。
  3. 重新打开应用,再尝试发现设备;如果列表仍为空,重启应用或重新加入 Wi-Fi。
  4. 若设备仍找不到,用浏览器输入设备实际 IP,检查是否能打开管理页。
  5. 如果 IP 能访问但名称发现失败,重点检查 mDNS/Bonjour、无线客户端隔离、VLAN、访客网络和路由器组播设置。

AirPlay、打印机发现和 *.local 主机名通常涉及局域网发现或名称解析;它们不等同于“某个 HTTP 请求是否命中 DIRECT”。因此,连接记录显示 DIRECT,并不能单独证明设备发现一定可用;反过来,设备列表为空也不能直接证明规则没有生效。应分别验证“能否发现设备”和“能否通过 IP 建立连接”。

如果关闭 Shadowrocket 后也无法发现设备,优先处理本地网络权限、Wi-Fi 隔离或路由器组播问题;如果关闭后正常、切回 Config 后异常,再检查当前配置中的 skip-proxy、bypass-tun、IPv6 和规则顺序。

仍然打不开时,按这个顺序撤销和复核

  1. 先确认网络:确认 iPhone/iPad 没连到访客 Wi-Fi,目标设备没有启用无线客户端隔离,且两台设备确实处于允许互访的同一局域网。
  2. 再确认权限:检查目标应用的“本地网络”权限;没有权限时,规则正确也可能无法完成设备发现。
  3. 再确认模式:测试规则时必须处于 Config;Direct 只能用于临时比较整体直连结果。
  4. 再确认活动文件:配置下载成功不等于它已被启用。检查 Config 页面当前选中的文件是否就是刚刚修改的文件。
  5. 再确认第一条命中规则:检查局域网地址是否先命中了 PROXY、REJECT 或其他宽泛规则。规则顺序、策略名称和日志字段可能随版本变化,以当前界面为准。
  6. 再确认 DNS 与 IPv6:用 IP 访问成功而主机名失败时,检查 DNS;如果目标使用 IPv6,单独核对 IPv6 地址和对应规则,不要假定 IPv4 网段已经覆盖。
  7. 最后撤销:如果修改后问题扩大,恢复 Shadowrocket-config-backup-2026-11-14.conf,删除新增条目,重新选择原活动配置,再恢复原来的 Global Routing 模式。

最可靠的复现标准是:在同一 Wi-Fi、同一目标地址和同一应用下,分别记录 Direct 与 Config 两次结果;同时查看当前版本的 Data、日志或请求记录中是否出现目标 IP、主机名及策略字段。若页面没有显示命中策略,不要把“VPN 图标仍在”或“网页能打开”当成 DIRECT 已生效的证据。

常见问题

Shadowrocket 的 Direct 和 [Rule] 里的 DIRECT 是一回事吗?

不是。Global Routing → Direct 是整体路由模式;[Rule] 中的 DIRECT 是某条规则命中后的策略。临时排查可以用整体 Direct,长期分流通常要在 Config 中检查局域网规则。

配置里已经有 skip-proxy,还需要添加 IP-CIDR,DIRECT 吗?

不能直接判断。skip-proxy、bypass-tun 和 [Rule] 中的 DIRECT 处于不同配置层,实际效果还受 TUN、代理类型、DNS 和当前版本影响。先备份配置,查看实际请求记录,再决定是否补规则。

为什么路由器 IP 能打开,但 AirPlay 或打印机找不到?

IP 访问和设备发现不是同一件事。先检查目标应用的“本地网络”权限,再排查 mDNS/Bonjour、Wi-Fi 客户端隔离、访客网络和组播;仅看到 DIRECT 命中不能证明发现服务一定正常。

添加 192.168.0.0/16 后,NAS 仍然打不开怎么办?

确认 NAS 实际 IP 是否属于该网段、当前是否切回 Config、规则是否位于提前命中的代理或拒绝规则之前,并用 Direct 对照测试。若关闭 Shadowrocket 后也打不开,应先查 Wi-Fi 隔离、NAS 防火墙和端口。

为什么切到 Direct 后 VPN 图标还在?

Direct 通常只改变流量处理模式,不代表系统 VPN 配置已经断开。若只是测试局域网访问,可以保持连接并选择 Direct;若要完全断开,应在 Shadowrocket 首页关闭连接开关。

远程订阅更新后,局域网直连规则为什么消失?

远程配置可能在更新时覆盖手动修改。建议先保留备份,记录更新前后的 [General] 和 [Rule] 内容;是否能使用本地配置、模块或覆盖规则取决于当前版本和配置来源,需核实。

相关阅读

参考资料

  1. If an app would like to connect to devices on your local network
  2. Create default.conf · Shadowrocket/config
  3. shadowrocket-conf/shadowrocket.conf
  4. Shadowrocket Features and Settings | Global Routing, Rules & On Demand(第三方整理)(shadow-official.com)