
折腾了大半年的家庭网络,最终跑通了一套多网关冗余架构。这篇文章分享整体设计思路,适合有一定折腾经验、想把网络做得更稳定的朋友。
为什么需要多网关
单网关最大的问题是单点故障:VPS 被封、线路抖动、机器宕机,整个网络就断了。
多网关的核心价值:
- 线路冗余:美国 / 香港 / 日本多个出口,自动选最快的
- 流量分离:不同流量走不同出口,既省流量又保速度
- 故障自动切换:某条线路挂了,其他线路自动顶上,用户无感知
整体架构
家庭设备
↓
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-180ms | CN2 GIA 优化,稳定 |
| 日本东京 | 60-90ms | 备用,价格便宜 |
常见问题
Q: 节点全部超时怎么办?
A: 先检查 VPS 是否能 ping 通(排除封锁),再检查 mihomo 配置语法。
Q: 国内网站变慢了?
A: 检查 GEOSITE/GEOIP 规则是否生效,可能是 DNS 查询走了代理。
Q: 如何监控各节点延迟?
A: mihomo 有内置 API,可以对接 Grafana 面板实时监控。
延伸阅读:
- Xray VLESS+XTLS 部署教程 — 服务端协议配置
- VPS 选购指南 — 哪家 VPS 适合做出口节点
- VPS 被封 IP 怎么办 — 应急处理方案
📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格