请教大佬,如何在 openwrt 做为旁路由的基础上,将 openclash 做为 adguard home 的 DNS 上游?(就是最后以 adguard home 的过滤为准)

2021-05-10 11:04:39 +08:00
 magic3584

入网光猫桥接------小米主路由拨号------openwrt 旁路由 192.168.2.1 静态 IP 192.168.2.222 关闭 DHCP 网关 192.168.2.1 DNS 192.168.2.1 开启 DHCP

其中 openwrt 内部设置如下: openclash 关闭 DNS 劫持,关闭自定义上游 DNS

adguard home 监听端口为 5335,把 127.0.0.1:7874 设置为 adg 的 DNS 上游。

防火墙设置为 iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5335 iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5335

我希望的是设备自动获取 ip 连小米主路由,但是所有网络都会经过 openwrt 并且进行 DNS 过滤。adg 的访问记录不再只显示 127.0.0.1 而是每个设备的 ip 。

但是结果是: 我在 adg 设置了 @||google.com^ ||youtube.com^ 后, google 不能访问,youtube 可以。

另外我不清楚这个上游我是否理解正确了。如果 openclash 对 A 网址 direct 或者 reject 后,是后还会

向 adg 发送做最后的判断???

感谢各位大佬指点!

如果原理太过复杂,请大佬直接给我鱼,我照着设置

1766 次点击
所在节点    OpenWrt
3 条回复
magic3584
2021-05-10 14:00:26 +08:00
为啥没人呢?
Silentims
2021-06-09 09:08:58 +08:00
@magic3584 #1 这个问题你可以试试去恩山无线论坛问问,那里都是折腾这些的大佬
WoadZS
2021-08-30 17:16:10 +08:00
好像没必要那么复杂

OpenClash 基本设置确认监听 DNS 端口,然后在 DNS 设置中禁用 DNS 劫持,并且根据自己的情况配置好 OpenClash 自定义上游 DNS 。
ADG 开启 DNS 劫持,然后上游 DNS 只写 127.0.0.1:[上面 OpenClash 的 DNS 监听端口]。


理论上这样就行了,不需要改防火墙转发之类的。

我个人是 ADG 作为 OC 上游在使用

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

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

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

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

© 2021 V2EX