什么是作用域 DNS 查询?

Pno*_*tNP 18 networking dns domain macos

在 Mac OS X (Mavericks) 中,我看到多个解析器,但我不明白作用域和非作用域 DNS 查询解析器之间的区别,如下所示:

$ scutil --dns
DNS configuration

resolver #1
  search domain[1] : test
  nameserver[0] : 172.31.30.10
  flags    : Request A records
  reach    : Reachable

.... <arpa stuff snipped> ...
resolver #6
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  order    : 300600

DNS configuration (for scoped queries) 

resolver #1
  search domain[0] : test
  nameserver[0] : 172.31.30.10
  if_index : 4 (en0)
  flags    : Scoped, Request A records
  reach    : Reachable
Run Code Online (Sandbox Code Playgroud)

mik*_*mik 17

简而言之,有作用域的 DNS 查询只能使用指定的网络接口(例如以太网或 WiFi),而无作用域的可以使用任何可用的接口。

更冗长,想要解析名称的应用程序,发送一个请求(无论是范围的或非作用域)解析程序(通常是一个DNS客户端应用程序),如果解析器没有缓存的答案,它发送一个DNS查询到一个特定的名称服务器(这通过一个接口,所以它总是“范围”的)。

在您的示例解析器 #1“用于范围查询”中,只能使用 en0 接口(以太网)。