如何搭配 Openclash 和 ADG 使用?

2022-02-25 16:03:37 +08:00
 magic3584

红米 AX6 主路由拨号,N1 旁路由。

哪个应该作为上游 DNS 呢? Openclash 选择 Redir 还是 Fake-IP ? 防火墙是否要添加规则?

折腾了几天都没搞好,现在只保留 Openclash 关闭了 ADG 。

求大佬指点。

11288 次点击
所在节点    OpenWrt
25 条回复
Oishi
2022-02-25 16:48:34 +08:00
openclash 不要挟持 dns 请求,adguard home 里上游 dns 设置为 openclash 的本地 dns
lazyrm
2022-02-25 16:59:32 +08:00
我的理解是 直接 openclash 直接添加上 adg 里面的规则就好了。 反正都是对规则的配置,openclash 规则里面不也有 reject 么~
jionlittlecat
2022-02-25 17:11:22 +08:00
redir 与 fakeip 都可以,一般推荐是 fakeip ,前提是要开启 clash 的 dns 并且绑定在某个端口,然后在 adg 里面设置该端口上的 dns 为唯一的上游 dns ,注意是唯一。最后记得开启 adg 的端口转发或者直接覆盖 53 端口作为子网下的默认 dns 。
另外如果 clash 选用 fakeip 模式,最好在 adg 里面把 dns 缓存禁用,把缓存时间还有 ttl 这些字段全部置 0 即可。
magic3584
2022-02-25 22:26:15 +08:00
@Oishi #1

@jionlittlecat #3

才 3 楼就已经有分歧了。。。clash 的 dns 要不要开呢
magic3584
2022-02-25 22:27:16 +08:00
@lazyrm #2
主要是还想看 adg 里的域名访问情况
jionlittlecat
2022-02-25 23:50:39 +08:00
@magic3584 没有分歧,开启 dns 但不要劫持系统的 dns ,也就是不要开在 53 端口或是把 53 端口转发到 clash 的 dns 。clash 的 dns 要开,但要用 adg 的 dns 来劫持 dns 请求。
Oishi
2022-02-27 18:59:13 +08:00
@magic3584 #4 没有分歧啊,我和 3 楼 老哥说的是一样的,他说的更详细 更清楚。

内网请求 ->53 端口-> adguard home -> clash -> 外部 dns
magic3584
2022-02-27 22:18:22 +08:00
@jionlittlecat #6
@Oishi #7
两位大佬请帮我分析下现在啥情况

现在的问题是 openclash 网络都正常,但是 adguard home 中客户端列表只显示 127.0.0.1 ,并且过滤器中屏蔽 baidu 后仍然可以访问,访问 DNS 封锁清单中的网站后拦截次数未变。

openclash:
关闭本地 DNS 劫持,开启自定义上游 DNS ,禁止 Dnsmasq 缓存 DNS ,Fake-IP 模式

adguard home:
5553 重定向,重定向 53 端口到 adguard home ,上游 DNS 127.0.0.1:7874 ,Bootstrap DNS 服务器 114.114.114.114 ,DNS 缓存配置均为空

openwrt:
DHCP/DNS 中端口为 53 ,防火墙自定义规则为
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
magic3584
2022-02-27 22:23:07 +08:00
#8
以上配置 youtube 无法播放。。。
Oishi
2022-02-28 11:05:05 +08:00
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
这两条应该注释掉吧?
magic3584
2022-02-28 11:19:50 +08:00
@Oishi #10
注释了以后网页都打不开了
Oishi
2022-03-01 16:56:17 +08:00
@magic3584 #11 我后来又研究了下 这两条命令是强制内网的所有 dns 请求都转到路由本身的 dns 比如内网有设备自己设置了 dns 也会被转到路由本身的 dns 应该不会出现网页打不开的。

你先确认下你的 53 端口有没有提供 dns 服务
magic3584
2022-03-02 14:08:16 +08:00
@Oishi #12
大佬这个怎么去查呢
jionlittlecat
2022-03-02 23:28:15 +08:00
@magic3584 先检查一下你局域网内客户端的 dns 地址是不是网关(路由器)的地址,并且只有这一个 dns 。看上面你注释掉那两条规则后打不开网页,应该就是局域网内的 dns 没设置对。

另外使用 53 端口重定向后客户端只有 127.0.0.1 是正常的。先把 adg 的日志数据清除,看一下 adg 是否接受到了 dns 请求。
magic3584
2022-03-03 23:21:55 +08:00
@jionlittlecat #24
现在可以了,只是 adg 里只能显示 localhost ,如果 adg 设置为“使用 53 替换 dnsmasq”,又无法用了。。。不知道怎么去查这个问题
jionlittlecat
2022-03-04 15:57:56 +08:00
@magic3584 我使用替换 53 端口的时候也出现了这个问题,推测跟 dnsmasq 的设置有关。这里给个我的解决方案:在 dhcp 里的设置里手动指定 dns 服务器地址为路由器的地址就可以了。理论上用转发也没什么问题,但是直接替换可以降低一点 dns 响应延迟,如果不是特别在意的话不改也行。
magic3584
2022-03-04 19:17:53 +08:00
@jionlittlecat #16
我 DHCP 是主路由,openwrt 里用的 DNS ,大佬这个指向是指哪个路由器的地址?
brucmao
2022-03-04 22:17:48 +08:00
我以前也折腾过这个很久,现在配置如下
adg 使用 53 端口替换 dnsmasq
adg 上游 dns 127.0.0.1:7874
adg bootstrap dns: 本地运营商 dns
openclash 运行模式:Redir-Host (兼容) 模式
openclash 勾选:实验性:绕过中国大陆 IP
openclash 取消勾选:本地 DNS 劫持

参考: https://www.right.com.cn/FORUM/thread-4090928-1-1.html
jionlittlecat
2022-03-04 22:37:46 +08:00
@magic3584 原来是 op 旁路,我上面的方法是主路由的。那这里我就给不了完整的解决办法了,只能给几条思路自己摸索。

1. 检查终端设备的 dns 服务器是否指向 op 。
2. 检查 adg 是否绑定在 53 端口: netstat -alv 。
3. 测试 op 内是否能正常联网。ping, curl 都可以测试一下。
magic3584
2022-03-06 21:57:12 +08:00
@brucmao #18
不行,设置完无法上网。。。不知道哪里有问题

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

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

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

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

© 2021 V2EX