1
fish3125 2023-07-11 17:53:34 +08:00 via iPhone
因为默认端口是 53.
|
2
mohumohu 2023-07-11 18:12:12 +08:00
openwrt 的插件和防火墙规则会互相影响,所见未必是所得,单独把 DNS 分离出来跑最好。
|
3
Bingchunmoli 2023-07-11 19:40:18 +08:00 via Android 1
@mohumohu 正解,不过作为 dnsmasq 的上游服务器指的是 53 端口一般是 dnsmasq 转发到 ad 的。然后看你 passwall 怎么配置哪个端口也是从 dnsmasq 转发吗那有可能规则互相覆盖的问题
|
4
WizardLeo OP 这不应该是"作为 dnsmasq 的下游服务器"嘛🤣?有点混乱,能不能请大佬稍微理一下整个逻辑,感谢!
|
5
WizardLeo OP 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 这两条我没注释掉,不过我觉得 adg 的 5553 端口应该和这里的 53 端口关系不太大?请大佬细嗦 |
6
neroxps 2023-07-11 22:53:04 +08:00
你要知道 openwrt 深度绑定 dnsmasq 所以 dnsmasq 基本上就是监听在 53 对外提供服务。然后一切的 dns 流量都是进到 dnsmasq 再分给其他 dns 上游应用。
uci show dhcp 看看自己的配置。防火墙配置也看看。openwrt web 上的一个按钮,背后不知道干了啥。我个人喜欢看配置,看脚本,web 的那句话真心不知道他背后干了啥。 |
7
Jacksu 2023-07-13 11:01:15 +08:00 1
你的 adgh 设置了重定向选择为“作为 dnsmasq 的上游服务器”
那么解析流程就是客户端请求-路由器 dnsmasq ( 53 端口)收到请求发给 adgh ,然后 adgh 再向它的上游请求。 而 dnsmasq 请求的时候会收到 chinadns-ng 分流影响,导致部分请求并不会发给 adgh ,而是给到 chinadns-ng 配置的服务器处理了。 |
8
Jacksu 2023-07-13 11:04:11 +08:00 1
正确的做法就是直接把 adgh 监听 53 ,也就是替代 dnsmasq 处理局域网,然后它的上游可以配置为 dnsmasq 的端口(享受 chinadns-ng 的分流处理)
但这样一来,你得处理下替代 dnsmasq 后导致的其他插件兼容问题。 |
9
WizardLeo OP @Jacksu 感谢大佬回复!这下听懂了,但多一个 dnsmasq 用来分流应该不会增加太多延迟吧?既然替换掉 dnsmasq 可能会出一系列插件兼容性问题,那就暂时先不换了。
|
10
ZOZOZO 2023-07-19 11:31:48 +08:00
楼上都说的很清楚,整个流程就是:
访问设备发起 DNS UDP 请求( 53 端口)——( 53 端口被 dnsmasq 在系统默认层面截胡) dnsmasq 准备解析——(你设置了转发到 ADG )——ADG 查询 DNS——返回 IP 到访问设备。 建议:系统默认 dns 服务器不要替换别的,不然你就别 freedom 外出了。相关插件基本都依赖 dnsmasq 。 |