是否仅将resolv.conf中的search域用于A / AAAA查询?

用户是否仅为resolv.conf提供的search域仅用于A / AAAA查询?

他们是用于其他目的吗?

请参阅man resolv.conf 。 每次不是FQDN时,本domain (以及可能在search指定的其他域)都会附加到查询中的主机名。

知道这一点,你可以很容易地testing它是否适用于其他RRtypes。 您可以使用任何现有的logging(如TXT for DKIMselect器等)来testing。假设我们有一些SSHFP SSH指纹 SSHFPlogging:

 nslookup > set domain=example.com > set type=SSHFP > someserver 

在这个例子中,我们实际上会得到someserver.example.com SSHFP (而不是将某个someserver.example.com SSHFP作为FQDN处理)的答案,说明如何在任何RRtypes上工作

请注意,只能使用resolv.conf作为其初始configuration文件的nslookuptesting。 备用dig总是将所有查询视为FQDN,即

 dig someserver SSHFP ;; QUESTION SECTION: ;someserver.        IN  SSHFP 

首先,它是OSparsing器库,它实现了实际的searchfunction,这意味着它的使用取决于哪个OS(或其他)库实际上正在使用,并且名称服务器软件根本不需要知道它。

也就是说,当应用程序查找名称,调用标准getaddrinfogethostbyname (不build议使用)等function时,parsing器库将根据需要对指定名称的不同变体进行单独查找。

现在, getaddrinfogethostbyname (当这些实际上最终使用DNS,parsing器库可能被configuration为使用其他来源)专门查找地址logging( A / AAAA ),所以问题归结为其他parsing器库代码也使用search或者如果它的使用仅限于这些相当狭窄的目的function。

由于有很多variables(例如,某个应用程序实际使用了哪些DNS查找function?),问题的简短答案是“取决于”。

快速查看oldschool libc resolv库中提供的其他函数,使用res_query / res_nquery函数的应用程序将不search,而使用res_search / res_nsearch的应用程序将search。