OpenWrt 旁路由:Clash + AGH 极致分流指南

OpenWrt 旁路由:Clash + AGH 极致分流指南

周二 1月 06 2026
1648 字 · 8 分钟

OpenWrt 旁路由:Clash + AGH 极致分流指南

方案核心技术栈

  • 网络拓扑:爱快主路由 + OpenWrt 旁路由
  • 分流核心:Clash (Fake-IP 模式)
  • DNS 净化:AdGuard Home (监听 953 端口)

1. 架构概述

本方案采用 “主旁路由分离” + “DNS 分流” 的架构,旨在实现极致的国内外分流体验。通过精细化的端口和 IP 规划,我们确保了国内流量直连跑满带宽,国外流量无感自动代理。

核心逻辑

  • 国内流量:直连速度跑满,由 AdGuard Home 进行去广告和隐私保护。
  • 国外流量:由 Clash 接管,使用 Fake-IP 模式分流,防止 DNS 污染。
  • 部署方式:AdGuard Home 部署在旁路由本机(非 Docker 独立 IP),监听 953 端口,与 Clash 形成内循环。

设备 IP 规划示例

设备角色IP 地址备注
爱快主路由 (iKuai)192.168.3.1负责拨号、DHCP Server
OpenWrt 旁路由192.168.3.2负责代理、DNS 分流
Clash127.0.0.1:7874运行在旁路由内核端口
AdGuard Home127.0.0.1:953运行在旁路由本机,端口改为 953

2. AdGuard Home 设置

由于 AdGuard Home 运行在 OpenWrt 本机,默认的 53 端口通常被系统 Dnsmasq 占用,因此必须修改端口以避免冲突。

2.1 修改监听端口

进入 AGH 设置向导或直接编辑 AdGuardHome.yaml 配置文件,找到 DNS 端口设置,将其改为 953,前面几篇文章有教程。

2.2 上游 DNS 设置

在“上游 DNS 服务器”中,只填国内加密 DNS(阿里/腾讯/360 的 DoH/DoQ)。

注意:严禁在此处填写 Google、Cloudflare 等国外 DNS,否则会影响国内解析速度。

推荐填入:

YAML
# 腾讯系 (微信/QQ/游戏/支付/搜狗) -> 腾讯 DoH
[/qq.com/weixin.com/tencent.com/qcloud.com/myqcloud.com/gtimg.com/idqqimg.com/tenpay.com/wegame.com/wechat.com/foxmail.com/dnspod.cn/sogou.com/soso.com/qqgame.com/qqmusic.com/]https://doh.pub/dns-query

# 阿里系 (淘宝/天猫/阿里云/支付宝/高德/饿了么) -> 阿里 DoQ
[/alibaba.com/aliyun.com/taobao.com/tmall.com/alipay.com/alicdn.com/1688.com/aliwangwang.com/ykimg.com/youku.com/tudou.com/amap.com/autonavi.com/ucweb.com/dingtalk.com/ele.me/koubei.com/fliggy.com/]quic://dns.alidns.com:853

# 百度系 (搜索/网盘/贴吧/云服务) -> 百度 DoH
[/baidu.com/baidubce.com/baidubox.com/bdstatic.com/hao123.com/baidupcs.com/bcebos.com/iqiyi.com/baidubos.com/]quic://dns.alidns.com:853

# 360/安全系 -> 360 DoH
[/360.cn/so.com/qihoo.com/360safe.com/360totalsecurity.com/yunpan.cn/]https://doh.360.cn/dns-query

# 字节跳动 (抖音/头条/西瓜) -> 阿里 DoQ
[/douyin.com/toutiao.com/tiktok.com/byteimg.com/iesdouyin.com/snssdk.com/ixigua.com/]quic://dns.alidns.com:853

# 京东系 (购物/物流) -> 腾讯 DoH (京东很多基建在腾讯云)
[/jd.com/360buy.com/360buyimg.com/jdcloud.com/jcloud.com/]https://doh.pub/dns-query

# Bilibili (B站) -> 阿里 DoQ
[/bilibili.com/bilivideo.com/hdslb.com/]quic://dns.alidns.com:853

# 手机厂商 (小米/华为/苹果国内CDN) -> 阿里 DoQ
# 苹果国内服务走国内DNS速度会快很多
[/xiaomi.com/mi.com/huawei.com/vmall.com/apple.com/icloud.com/mzstatic.com/]quic://dns.alidns.com:853

# 游戏/微软 (Steam/Epic/Xbox/Bing) -> 阿里 DoQ
# 解决 Steam 商店和 Bing 国内版访问慢的问题
[/steampowered.com/steamcommunity.com/steamgames.com/epicgames.com/microsoft.com/xbox.com/windows.com/bing.com/office.com/live.com/]quic://dns.alidns.com:853

# 默认/兜底策略 -> 阿里 H3
h3://dns.alidns.com/dns-query

2.3 Bootstrap DNS

在“Bootstrap DNS 服务器”中,填入以下 DNS :

YAML
223.5.5.5
119.29.29.29
180.76.76.76
  • 作用:用于解析上述 DoH/DoQ 域名的 IP 地址。

2.4 DNS 黑名单

AdGuard Home 将阻止 DNS 黑名单里的域名

YAML
# AdGuard DNS filter
https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt

CHN: anti-AD
https://anti-ad.net/easylist.txt

# AWAvenue (秋风/夏日)
https://ghproxy.net/https://raw.githubusercontent.com/TG-Twilight/AWAvenue-Ads-Rule/main/AWAvenue-Ads-Rule.txt

3. Clash 配置文件 (核心)

这是整个方案的灵魂。我们需要修改 Clash 的配置文件(config.yaml),建立“分流规则”。

3.1 修改 DNS 模块

请找到 yaml 文件中的 dns: 模块,按以下逻辑进行修改,以下是部分代码,全部文件我会放 GitHub 链接。

YAML
dns:
  enable: true
  listen: 0.0.0.0:1053
  ipv6: false
  respect-rules: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter-mode: blacklist
  
  # Fake-IP 过滤白名单
  # 作用:让国内域名返回真实 IP,以便直连和让 AGH 生效
  fake-ip-filter:
    - "rule-set:cn_domain,private_domain"
    - "+.lan"
    - "+.local"
    - "+.msftconnecttest.com"
    - "+.msftncsi.com"

  # 默认 DNS (Bootstrap)
  # 作用:Clash 启动时解析节点域名用
  default-nameserver:
    - 223.5.5.5
    - 127.0.0.1:953  # 指向本机的 AGH

  # 策略分流 (Nameserver Policy) - 核心部分!
  # 作用:强制国内/私有域名转发给本机 953 端口的 AGH 处理
  nameserver-policy:
    "geosite:cn,private,apple,steam@cn,category-games@cn": "127.0.0.1:953"

  # 国外/兜底 DNS
  # 作用:没匹配到 Policy 的国外域名走这里 (通过代理)
  nameserver:
    - "https://dns.cloudflare.com/dns-query"
    - "https://dns.google/dns-query"
    
  # 代理节点 DNS
  proxy-server-nameserver:
    - 223.5.5.5
    - 119.29.29.29

4. OpenWrt 插件设置

为了让 Clash 能接管 OpenWrt 系统底层的流量,必须打通 Dnsmasq 与 Clash 的连接。

4.1 开启 DNS 转发

  1. 进入 OpenWrt 后台,导航至 服务 -> Clash -> 全局设置
  2. 点击 DNS 设置 选项卡。
  3. 找到 本地 DNS 劫持 选项。
  4. 将其修改为 使用 Dnsmasq 转发
  5. 点击页面底部的 保存并应用

5. 爱快 (iKuai) 主路由设置

这是最后一步,通过 DHCP 将全屋设备的流量“赶”到旁路由去。

5.1 修改 DHCP 服务端

  1. 进入爱快后台,导航至 网络设置 -> DHCP 服务端
  2. 修改 LAN 口的 DHCP 配置:
    • 网关 (Gateway): 改为 192.168.3.2 (旁路由 IP)。
    • 首选 DNS: 改为 192.168.3.2 (旁路由 IP)。
    • 备选 DNS: 改为 192.168.3.2 (或留空)。

重要提示:严禁在此处填写 192.168.3.1 (主路由爱快DNS) 或 114 等其他 IP,否则流量将绕过 Clash,导致分流失效。


6. 验证测试

配置完成后,电脑端执行 ipconfig /flushdns 刷新缓存,然后使用 nslookup 测试。

6.1 测试国内域名

Bash

PLAINTEXT
nslookup www.baidu.com
  • 预期结果
    1. Server: 显示 192.168.3.2 (OpenWrt)。
    2. Address: 显示 真实公网 IP (如 180.101.x.x)。
    3. 验证:此时查看 AGH 日志,应能看到该域名的查询记录。

6.2 测试国外域名

Bash

PLAINTEXT
nslookup www.google.com
  • 预期结果
    1. Server: 显示 192.168.3.2 (OpenWrt)。
    2. Address: 显示 Fake-IP (如 198.18.0.x)。
    3. 验证:此时查看 AGH 日志,不应看到 该域名的查询记录 (已被 Clash 拦截并代理)。

7. 流量走向原理图解

7.1 国内流量路径

电脑 -> OpenWrt (53) -> Clash -> (识别为 CN) -> AGH (953) -> 国内真实 IP -> 直连访问

(优势:去广告,速度快,不消耗代理流量)

7.2 国外流量路径

电脑 -> OpenWrt (53) -> Clash -> (识别为国外) -> 返回 Fake-IP -> TUN 虚拟网卡 -> 代理节点 -> 国外网站

(优势:防 DNS 污染,保护隐私)

8. 总结

通过本指南的配置,您的家庭网络已达成 “无感分流、广告净化、隐私保护” 的完美形态。

  • 分工明确:AdGuard Home 专注于国内环境的极速与纯净,Clash 专注于国际链路的连通与加密。
  • 极致体验:国内流量绝不绕路,国外流量绝不泄露,彻底告别了 DNS 污染和访问卡顿。
  • 低维护:这套架构逻辑清晰,稳定性极高,配置完成后即可“遗忘”,让您和家人安心享受丝滑的网络体验。

Created with ❤️ by 十三


Thanks for reading!

OpenWrt 旁路由:Clash + AGH 极致分流指南

周二 1月 06 2026
1648 字 · 8 分钟
-
-

Comments

cover

安和桥

宋冬野