A glowing decorative lamp with a smaller light beside it.

折騰了大半年的家庭網路,最終跑通了一套多閘道器冗餘架構。這篇文章分享整體設計思路,適合有一定折騰經驗、想把網路做得更穩定的朋友。

為什麼需要多閘道器

單閘道器最大的問題是單點故障:VPS 被封、線路抖動、機器宕機,整個網路就斷了。

多閘道器的核心價值:

  1. 線路冗餘:美國 / 香港 / 日本多個出口,自動選最快的
  2. 流量分離:不同流量走不同出口,既省流量又保速度
  3. 故障自動切換:某條線路掛了,其他線路自動頂上,使用者無感知

整體架構

家庭裝置
    ↓
OpenWrt 主路由(DNS 分流 → dnsmasq)
    ↓
mihomo 閘道器(分流規則 → 策略組)
    ↓
多個 VPS 出口(US / HK / JP)
    ↓
目標網站

關鍵元件:

  • 主路由:OpenWrt,負責 DNS 劫持和流量匯入 mihomo
  • mihomo 節點:執行在獨立機器上,處理代理和分流邏輯
  • VPS 出口:推薦 DMIT,香港 / 美國節點延遲穩定,支援 Xray + Hysteria2

mihomo 分流規則設計

策略組分層

proxy-groups:
  # 手動選擇組(緊急備用)
  - name: "手動選擇"
    type: select
    
  # 自動選速最快節點
  - name: "自動選擇"
    type: url-test
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    
  # 各地區組
  - name: "🇺🇸 美國"
    type: url-test
    filter: "美國|US"
    
  - name: "🇭🇰 香港"
    type: url-test
    filter: "香港|HK"
    
  # 分流決策組
  - name: "國內直連"
    type: select
    proxies: [DIRECT]
    
  - name: "AI 服務"
    type: select
    proxies: ["🇺🇸 美國", "自動選擇"]

規則優先順序

mihomo 規則從上到下匹配,順序很重要:

rules:
  # 本地 / 區域網直連
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  
  # AI 服務走美國
  - DOMAIN-SUFFIX,openai.com,AI 服務
  - DOMAIN-SUFFIX,anthropic.com,AI 服務
  - DOMAIN-SUFFIX,claude.ai,AI 服務
  
  # 國內主要域名直連(減少延遲)
  - GEOSITE,cn,國內直連
  - GEOIP,CN,國內直連
  
  # 其餘走自動選擇
  - MATCH,自動選擇

DNS 防汙染

這是最容易出問題的地方。架構:

裝置查詢 DNS
    → dnsmasq(本地快取 + 分流判斷)
        → 國內域名 → 114.114.114.114(直連)
        → 境外域名 → mihomo 的 DNS(透過代理查詢)

核心是避免國內 DNS 汙染境外域名解析。

VPS 選擇建議

用過多家,目前 DMIT 是價效比最高的:

機房延遲(廣州)特點
香港20-40ms最快,適合低延遲需求
美國洛杉磯150-180msCN2 GIA 最佳化,穩定
日本東京60-90ms備用,價格便宜

常見問題

Q: 節點全部超時怎麼辦?
A: 先檢查 VPS 是否能 ping 通(排除封鎖),再檢查 mihomo 配置語法。

Q: 國內網站變慢了?
A: 檢查 GEOSITE/GEOIP 規則是否生效,可能是 DNS 查詢走了代理。

Q: 如何監控各節點延遲?
A: mihomo 有內建 API,可以對接 Grafana 面板實時監控。


有問題歡迎在 Telegram 或 X 找我交流。

延伸閱讀:


📷 封面圖 · Flux Schnell AI 生成 · panshi.io 品牌風格