求助: OpenWRT + AdGuard Home + OpenClash 配置 DNS 抗污染和去广告

19 天前
 orluna

大家好!我在配置 OpenWRT + AdGuard Home + OpenClash 时遇到了一些问题,希望有经验的朋友能帮忙看看。

当前环境

物理机 pve 102.168.100.2 虚拟了 2 台虚拟机

当前配置

  1. OpenWRT:

    • 通过 DHCP 通告 DNS 服务器为 192.168.100.214 ,确保所有设备将 DNS 请求发送到 AdGuard Home 。
    • 其他默认的 dnsmap 没有修改
  2. OpenClash:

    • 使用 Fake-IP 模式,并禁用 DNS 劫持。

    • 配置了多个 DNS 服务器,包括 DoH 和 TLS 查询。

  3. AdGuard Home:

    • 上游 DNS 设置为并行请求模式,包含多个公共 DNS 服务(如 Quad9 、Cloudflare 、Google 等)。

问题描述

虽然 AdGuard Home 能够正常去广告,但 DNS 解析仍然存在污染问题(尤其是某些境外域名)。我怀疑是 DNS 请求的流向或 OpenClash 的 Fake-IP 模式配置有问题。

具体配置

AdGuard Home 上游 DNS ,这里不断在修改上游尝试

https://dns10.quad9.net/dns-query
#https://doh.pub/dns-query
#tls://dns.pub
tls://dns.google
#1.1.1.1
#8.8.8.8
https://dns.cloudflare.com/dns-query
#218.2.2.2
#218.4.4.4

OpenClash 的 DNS 配置

dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:7874
  fake-ip-filter:
    - "+.lan"
    - "+.local"
    - "+.msftconnecttest.com"
    - "geosite:private"
  fake-ip-filter-mode: blacklist
  default-nameserver:
    - 114.114.114.114
    - 223.5.5.5
  nameserver:
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
  fallback:
    - "tls://8.8.8.8#\U0001F680 Proxy"
    - "tls://1.1.1.1#\U0001F680 Proxy"
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16

疑问点

  1. 并行请求问题:并行请求是否会导致某些污染 DNS 结果被优先返回?
  2. AdGuard Home 规则:是否有推荐的抗污染规则或上游 DNS 组合?
  3. 感觉我这个方案整体流程就不太对?希望指正

希望有经验的朋友能指点一下,看看我的配置是否有优化空间,或者是否有更好的抗污染方案。提前感谢!

888 次点击
所在节点    OpenWrt
4 条回复
COW
19 天前
AdGuard 上游指向 OpenClash 的 dns 服务
orluna
18 天前
@COW 这样改了一下 ad 返回的 ip 都是 fakeip 了 确实不会被污染 只是网速有点慢了
Serino
18 天前
个人建议弄两个 AdGuardHome ,一个专门解析国内,一个专门解析国外。
甚至 3 个 AdGuardHome ,国内分出来一个运营商 DNS 。

```
dns:
cache-algorithm: arc
enable: true
prefer-h3: true
listen: :35353
ipv6: true
enhanced-mode: redir-host
proxy-server-nameserver:
- '[AGH_国内加密 DNS]'
nameserver:
- '[AGH_国内加密 DNS]'
nameserver-policy:
'geosite:!cn':
- [AGH_国外 DNS]
direct-nameserver:
- [AGH_运营商 DNS]
```


或者这样
```
dns:
cache-algorithm: arc
enable: true
prefer-h3: true
listen: :35353
ipv6: true
enhanced-mode: redir-host
proxy-server-nameserver:
- '[AGH_国内加密 DNS]'
nameserver:
- '[AGH_国内加密 DNS]'
nameserver-policy:
'geosite:private,microsoft@cn,category-games@cn,geolocation-cn':
- [AGH_运营商 DNS]
'geosite:!cn':
- [AGH_国外 DNS]
```

[] 根据自己情况修改,3 个 AGH 不消耗多少资源的。通过建 AGH 来实现分组。

另外,没必要追求 Fake-IP





看预览,回复的缩进没了,MD 语法好像没生效,不太晓得怎么弄,我发图吧
Serino
18 天前
ps. 也不要用 fallback ,而是用 nameserver-policy 或者 direct-nameserver

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1152914

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX