為什麼要在路由器跑 OpenClash,而不是只裝電腦端
在單機(Windows、macOS、手機)安裝 Clash 類客戶端,能解決「這台裝置怎麼走代理」;但家裡還有電視盒、掃地機、平板與訪客手機時,逐一設定並不耐煩。軟路由跑 OpenWrt,再在路由器層掛 OpenClash(本質是將 Clash/Mihomo 核心與 LuCI 外殼整合),可以把閘道器、DNS 與分流規則收斂到同一台設備:區網內裝置只要把預設閘道與DNS指過去,就能共享同一套策略。這與本站多數「終端機/Fake-IP/區網共享」文章不同:核心難點在路由器作業系統、DHCP 與透明轉發是否閉環,而不是單一應用程式是否讀得到系統代理。
本文假設你已能登入 OpenWrt(SSH 或 LuCI),並理解「訂閱/節點」屬於自有合法來源與當地法規範疇;文內只談接線、閘道、DNS 與規則結構,不提供任何訂閱或節點取得方式。若你在終端機已用過 Clash Meta 的 DNS 模組,可先對照 Clash Meta DNS,再把同樣概念搬到路由器:差別在於誰是區網的 DNS 權威,以及Dnsmasq與核心 DNS之間是否形成迴圈。
當路由器層已能穩定轉發,若仍見 TLS 逾時或單一網域異常,請不要先全盤換節點;可搭配 連線日誌與 TLS 排查,區分是「沒進核心」「規則誤命中」還是「節點品質」。
拓樸先決:主路由、旁路由與「橋接」在實務上的意義
常見有三種落地方式:(1)軟路由當主路由,WAN 直接接數據機或上層網路,LAN 對內發 DHCP,最直覺;(2)旁路由,上層仍由電信小烏或原廠路由器撥號/NAT,軟路由只接在 LAN 裡,透過靜態路由或手動指閘道,把「願意走代理的裝置」導向軟路由;(3)橋接(bridge)則多半出現在「數據機橋接給軟路由 PPPoE」「或把某埠當交換器延伸」等情境——中文社群常說的「橋接後閘道」,實務上要先畫清:誰拿公網、誰做 NAT、誰對區網發 DHCP。三者沒有絕對優劣,但DHCP 發放者與預設閘道 IP必須一致,否則 DNS 重導向再漂亮也沒人來問。
若採旁路由,請同步確認上層路由器沒有再攔截 53 埠或強制 DNS,否則會出現「手動設 DNS 有效、DHCP 自動取得卻失效」的分叉。若你同時在折騰電腦端區網分享,亦可對照 區網共享與防火牆 裡「誰聽埠、誰允許入站」的思路,把觀念類推到路由器防火牆與轉發規則。
OpenWrt 上安裝 OpenClash:版本、依賴與 LuCI 要點
OpenClash 以 ipk/套件形式釋出,實際檔名與依賴會隨OpenWrt 版本、核心架構(aarch64、x86_64 等)而變。實務建議:先確認系統為正式穩定版或你熟悉的分支,保留備份設定與還原映像,再安裝外掛。安裝完成後,LuCI 會多出 OpenClash 選單;首次啟動前請先準備可寫入的設定目錄與核心二進位(依介面選擇內建下載或手動上傳),並確認記憶體與儲存空間足夠——規則集與 GEOIP 資料庫會佔用空間,貧硬體機種建議精簡規則來源。
與桌面 Clash 客戶端不同,路由器上的「更新」牽涉韌體套件庫與核心 ABI;遇到無法啟動時,先檢查日誌(系統日誌與 OpenClash 日誌)是否有缺套件、權限或執行檔無法載入,再考慮更換核心版本。若你同時使用多個透明代理外掛,請避免雙重劫持同一組埠或同一條 iptables/nft 鏈,否則排錯會非常痛苦。
閘道與 DHCP:讓區網裝置真的把流量交給軟路由
無論 Redir、TUN 或混合模式,前提都是:客戶端的 IP 封包會經過軟路由。最省事的做法是在同一個 DHCP 伺服器上,把選項 3(預設閘道)設成軟路由 LAN 位址,必要時再發選項 6(DNS)指向同一台或指向你信任的內部 DNS。若你只改了閘道、卻沒改 DNS,部分裝置會繞過核心做解析,出現「能開部分網頁、串流卻異常」的半套狀態;反之只改 DNS、閘道仍指向上層,則可能根本沒進透明代理。
手機與筆電可先用忘記 Wi-Fi 再連線或釋放/更新 DHCP,避免沿用舊閘道。若環境中有固定 IP 裝置(NAS、監視器),請一併檢查是否仍手動填了舊閘道。若你需要更細的「裝置級」分流,路由器上亦可結合策略路由或不同 SSID/VLAN,但已超出入門篇範圍;原則仍是:先讓預設路徑正確,再談規則集優化。
DNS 鏈:Dnsmasq、核心 DNS 與避免「DNS 迴圈」
OpenWrt 預設由 Dnsmasq 提供區網 DNS;OpenClash 則常要求把客戶端查詢轉到 Clash/Mihomo 的 DNS 模組,以便在解析階段就配合 Fake-IP 或分流。高頻故障是:Dnsmasq → 核心 DNS → 又回到 Dnsmasq,形成無限轉圈或極慢解析。解法思路是「單向餵給」:要嘛讓 Dnsmasq 只把特定上游指到核心監聽埠,要嘛讓客戶端直接問核心監聽位址,並在介面中關閉會互相覆寫的選項;實際勾選名稱依 OpenClash 版本而異,請以你畫面上的「DNS 劫持/重導向」說明為準。
若啟用 Fake-IP,請同步處理私有網段與區網名稱,避免路由器後台、印表機或 NAS 被假位址誤導;概念上與 Fake-IP 與區網/路由器 一文相通,只是發生在全區網尺度。更完整的 DNS 鍵名與 fallback 思路,仍建議對照 Clash Meta DNS 與 常見問題 中相關段落。
Illustrative DNS chain (conceptual — adjust to your UI)
# Concept only: LAN clients -> router:53 (dnsmasq)
# -> forward to clash listening address for non-lan queries
# Avoid: dnsmasq upstream pointing back to itself in a loop.
國內直連:規則順序、GEOIP 與訂閱規則集
「國內直連」在 Clash 類設定裡,通常透過細則在前、寬則在後完成:先把 LAN、私有 IP-CIDR、GEOIP,CN 或專用 RULE-SET 指到 DIRECT,再把其餘流量交給代理策略組。順序若反了,會出現「國內站也繞去海外節點」的體感延遲與異常登入。實務上建議使用可更新的規則集(rule-providers)並固定更新節奏,而不是在設定檔裡無限手刻網域;規則維護的整體方法可參考 規則分流最佳實踐。
也請留意:GEOIP 資料庫版本與策略語意(例如「中國大陸」與「港澳台」在資料與規則集裡如何劃分)會影響命中結果;升級核心或更換規則集後,若突然出現單一大型站點被誤送代理,多半是資料邊界問題而非節點本身壞掉。遇到 HTTPS 相關錯誤時,仍可回到 TLS 排查 對照握手階段。
Illustrative rule order (YAML fragment)
rules:
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
若採橋接(bridge)或雙網口時的額外檢查
「橋接」在中文教學裡常被混用:有時指數據機橋接讓軟路由撥號,有時指把某介面設成透明橋接在交換器上。對 OpenClash 而言,關鍵仍是哪個介面承載 NAT、哪個介面有閘道,以及防火牆區域(LAN/WAN)是否把轉發放通。若你把多個埠橋成同一 L2 網段,請避免雙 DHCP 或同一網段兩個預設閘道廣播,否則客戶端會隨機挑路,表現成「半夜突然不能上網」。
雙網口機型若一邊接上游、一邊接交換器,請確認STP、線路迴圈與管理 VLAN 沒有把廣播風暴帶進來;這類問題與 Clash 無關,卻常被誤判成「規則壞了」。完成鏈路檢查後,再回到 OpenClash 的執行模式與劫持開關逐項驗證。
常見症狀:能上 QQ 卻開不了網頁、全區網斷線
下列症狀多半對應DNS 或閘道,而不是第一時間換節點:(1)只有少數 App 正常、瀏覽器全面失敗:優先檢查 DNS 是否進核心、是否 Fake-IP 與系統 DoH 衝突;(2)開啟劫持後全區網斷線:優先檢查是否DNS 迴圈或防火牆轉發未放通;(3)國內站變慢或異常:優先檢查 GEOIP/規則集順序與資料庫版本;(4)只有 Wi-Fi 有問題、有線正常:檢查上層路由器是否對不同 SSID 發了不同 DNS。建議在路由器上保留最小可復現設定:先讓「閘道正確+DNS 單線」成立,再逐步開啟 Fake-IP、規則集與進階劫持。
- 用有線連線測試,排除 Wi-Fi 雙頻或漫遊帶來的假現象。
- 在客戶端檢視取得的閘道與 DNS,與 LuCI 設定是否一致。
- 暫時關閉系統/瀏覽器內建 DoH,對照是否為「繞過本地 DNS」造成。
- 查看 OpenClash 與系統日誌時間戳是否同步,避免看錯舊日誌。
結語
OpenWrt 上部署 OpenClash,本質是把閘道器、DNS 與分流規則收斂到軟路由:先決定拓樸與 DHCP,再處理 Dnsmasq 與核心 DNS 的單向鏈路,最後用規則順序與GEOIP/規則集完成「國內直連、境外才走代理」。相比只在單機反覆改設定,路由器層一旦閉環,區網內裝置的體驗會一致許多;若你同時在桌面使用 Clash,亦可參考 如何選擇適合自己的 Clash 客戶端,讓兩邊的規則哲學對齊。
相較一次性在論壇抄幾行規則,把「閘道—DNS—規則」寫成可維護、可還原的結構,長期成本更低;一般性問題亦可先查 常見問題。若你希望先在電腦上熟悉 Meta 系 DNS 與 Fake-IP,再遷移到路由器,閱讀順序上 Clash Meta DNS 會是很好的前置。
→ 立即免費下載 Clash,開啟流暢上網新體驗,在釐清 OpenWrt、閘道與 DNS 之後,讓家裡每台裝置都走在同一套透明、可預期的分流邏輯上。