有关于 DNS 优先级的疑问。

2023-01-27 12:14:30 +08:00
 Damow
路由上 Wan 口,Lan 口,还有电脑网卡都可以设置 DNS 。那么这三个地方的 DNS 的哪个优先级高。
3762 次点击
所在节点    DNS
14 条回复
fortynine
2023-01-27 12:22:35 +08:00
终端设备为准
fortynine
2023-01-27 12:23:04 +08:00
不考虑劫持的话,终端设备为准
XIU2
2023-01-27 12:38:44 +08:00
当然是电脑网卡上的 DNS 优先级最高呀。
ltkun
2023-01-27 12:39:56 +08:00
看你用什么软件吧 有些软件说不定自带 dns
Xymmh
2023-01-27 12:45:19 +08:00
wan 口 DNS 是路由器用的,lan 口 DNS 是路由器让电脑用的,电脑设置的 DNS 是电脑最终用的。
dynos01
2023-01-27 13:12:55 +08:00
终端设备。举例说明,Linux 系统设置 /etc/resolv.conf 控制 DNS ,这里设置好了其他一切地方设置的 DNS 都不生效,因为 glibc 解析域名的时候只认这个。这也导致了 /etc/resolv.conf 成了兵家必争之地,但归根结底是看这个。

一般不手动配置 DNS 的话,终端设备会用 DHCP 得到的,也就是路由器上配置的。但也可以选择手动配置不用这个。归根结底还是看用户和系统。
vvhhaaattt
2023-01-27 19:54:15 +08:00
运营商 dns 劫持😂
部分非 https 网站劫持也太猖狂了
yikyo
2023-01-28 08:01:15 +08:00
已 2 楼为准
julyclyde
2023-01-28 09:01:54 +08:00
其实是好几个问题:
dhcp 下发 options 的时候,服务器配置的顺序和客户端接收到的顺序是否一致
客户端拥有多个 DNS 服务器的时候,其使用策略怎样

对于第二个问题,在 glibc 的情况下
man resolv.conf 里面写着:
If there are multiple servers, the resolver library queries them in the order listed. If no nameserver
entries are present, the default is to use the name server on the local machine. (The algorithm used is to try a name server, and if the query times out, try the next, until out of name
servers, then repeat trying all the name servers until a maximum number of retries are made.)

其他解析库请参考其文档或者源码
Kobayashi
2023-01-28 10:37:41 +08:00
没有优先级关系,不会自动查找上一级的 DNS 。有派发关系,上一级派发一个 DNS 地址给下一级。如果下一级有手动指定,不使用上一级派发下来的配置。

电脑只使用网卡上配置的 DNS 。或是人为手动指定,未指定时回落到路由器通过 DHCP 派发下来的地址,通常指向路由器上的 dnsmasq 转发 DNS 服务。

路由器上 dnsmasq 是一个 Forwarding DNS ,转发到路由器 WAN 口上配置的 DNS 。同样是人为指定的优先。未指定时回落到拨号时运营商派发下来的地址,通常为运营商自己搭建的 Recursing DNS 递归 DNS 。
julyclyde
2023-01-28 11:29:12 +08:00
@Kobayashi DNS 并不存在所谓上一级这个概念
forwarding 只是个功能,不是标准
magic3584
2023-01-28 13:35:08 +08:00
借楼请教下,openwrt 里有 dnsmasq, openClash 和 adguard home ,最后结果以哪个为准。曾经搜索过“上下游 DNS”来寻求结果,但是没找到想要的答案。
techstay
2023-01-31 05:55:06 +08:00
@magic3584 这个是看你怎么设置的吧。一般打开了 openclash 就会劫持 dnsmasq 指向 clash 自己的 dns 服务。如果有 adguardhome 的话,你可以设置让 adguard 作为 openclash 的上游,或者 openclash 作为 adguardhome 的上游。总之需要让这几个在一条链上才能都利用到。
magic3584
2023-01-31 09:39:31 +08:00
@techstay #13
请问如果 adguard 作为 openclash 的 上游的话,DNS 查询结果以哪个为准,主要是不知道这个

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

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

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

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

© 2021 V2EX