V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Damow
V2EX  ›  DNS

有关于 DNS 优先级的疑问。

  •  
  •   Damow · 2023-01-27 12:14:30 +08:00 via iPhone · 4069 次点击
    这是一个创建于 684 天前的主题,其中的信息可能已经有所发展或是发生改变。
    路由上 Wan 口,Lan 口,还有电脑网卡都可以设置 DNS 。那么这三个地方的 DNS 的哪个优先级高。
    14 条回复    2023-01-31 09:39:31 +08:00
    fortynine
        1
    fortynine  
       2023-01-27 12:22:35 +08:00
    终端设备为准
    fortynine
        2
    fortynine  
       2023-01-27 12:23:04 +08:00   ❤️ 1
    不考虑劫持的话,终端设备为准
    XIU2
        3
    XIU2  
       2023-01-27 12:38:44 +08:00   ❤️ 1
    当然是电脑网卡上的 DNS 优先级最高呀。
    ltkun
        4
    ltkun  
       2023-01-27 12:39:56 +08:00 via Android
    看你用什么软件吧 有些软件说不定自带 dns
    Xymmh
        5
    Xymmh  
       2023-01-27 12:45:19 +08:00   ❤️ 1
    wan 口 DNS 是路由器用的,lan 口 DNS 是路由器让电脑用的,电脑设置的 DNS 是电脑最终用的。
    dynos01
        6
    dynos01  
       2023-01-27 13:12:55 +08:00 via iPad   ❤️ 1
    终端设备。举例说明,Linux 系统设置 /etc/resolv.conf 控制 DNS ,这里设置好了其他一切地方设置的 DNS 都不生效,因为 glibc 解析域名的时候只认这个。这也导致了 /etc/resolv.conf 成了兵家必争之地,但归根结底是看这个。

    一般不手动配置 DNS 的话,终端设备会用 DHCP 得到的,也就是路由器上配置的。但也可以选择手动配置不用这个。归根结底还是看用户和系统。
    vvhhaaattt
        7
    vvhhaaattt  
       2023-01-27 19:54:15 +08:00 via Android
    运营商 dns 劫持😂
    部分非 https 网站劫持也太猖狂了
    yikyo
        8
    yikyo  
       2023-01-28 08:01:15 +08:00 via iPhone
    已 2 楼为准
    julyclyde
        9
    julyclyde  
       2023-01-28 09:01:54 +08:00   ❤️ 1
    其实是好几个问题:
    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
        10
    Kobayashi  
       2023-01-28 10:37:41 +08:00   ❤️ 1
    没有优先级关系,不会自动查找上一级的 DNS 。有派发关系,上一级派发一个 DNS 地址给下一级。如果下一级有手动指定,不使用上一级派发下来的配置。

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

    路由器上 dnsmasq 是一个 Forwarding DNS ,转发到路由器 WAN 口上配置的 DNS 。同样是人为指定的优先。未指定时回落到拨号时运营商派发下来的地址,通常为运营商自己搭建的 Recursing DNS 递归 DNS 。
    julyclyde
        11
    julyclyde  
       2023-01-28 11:29:12 +08:00
    @Kobayashi DNS 并不存在所谓上一级这个概念
    forwarding 只是个功能,不是标准
    magic3584
        12
    magic3584  
       2023-01-28 13:35:08 +08:00
    借楼请教下,openwrt 里有 dnsmasq, openClash 和 adguard home ,最后结果以哪个为准。曾经搜索过“上下游 DNS”来寻求结果,但是没找到想要的答案。
    techstay
        13
    techstay  
       2023-01-31 05:55:06 +08:00
    @magic3584 这个是看你怎么设置的吧。一般打开了 openclash 就会劫持 dnsmasq 指向 clash 自己的 dns 服务。如果有 adguardhome 的话,你可以设置让 adguard 作为 openclash 的上游,或者 openclash 作为 adguardhome 的上游。总之需要让这几个在一条链上才能都利用到。
    magic3584
        14
    magic3584  
       2023-01-31 09:39:31 +08:00
    @techstay #13
    请问如果 adguard 作为 openclash 的 上游的话,DNS 查询结果以哪个为准,主要是不知道这个
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5518 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:00 · PVG 10:00 · LAX 18:00 · JFK 21:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.