症狀很典型:Clash 一開,NAS 管理頁打不開、網路印表機搜不到、路由器背景 192.168.1.1 一直轉圈。原因是這些位址被兜底規則送去了代理,而代理伺服器那頭當然找不到你家的 NAS。
三條網段規則
放在 rules 的最前面:
rules:
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- MATCH,PROXY
多數機場訂閱自帶這幾條,但不是全部。打不開內網就先在設定裡搜 192.168 確認有沒有;不想改訂閱原文就用 Mixin 注入,訂閱更新也不會被覆蓋。
no-resolve 是幹嘛的
匹配 IP 規則時,如果手上只有域名,Clash 會先做一次 DNS 解析才能比對。加上 no-resolve 等於告訴它:這條只對本來就是 IP 的請求生效,別為它專門去解析一次。好處是少一次解析、快一點,也避免在 fake-ip 模式下拿到假 IP 造成誤判——fake-ip 的機制見 自定義 DNS,IP 規則的完整語法見 IP-CIDR 與 GEOIP 規則詳解。
域名形式的內網位址
如果你習慣用 nas.local、router.lan 或公司內網域名存取,網段規則救不了你——請求在拿到 IP 之前就已經被域名規則處理掉了。補上這幾行:
- DOMAIN-SUFFIX,local,DIRECT
- DOMAIN-SUFFIX,lan,DIRECT
- DOMAIN-SUFFIX,公司內網字尾,DIRECT
TUN 模式下多一層:TUN 會一併接管 DNS,
.local 這類靠 mDNS 發現的名字可能直接解析不出來。把內網字尾加進 DNS 段的 fake-ip-filter,或者退一步直接用 IP 存取,都比反覆除錯省時間。