总结:在哪里nslookup www.somedomain.com -debug
我可以找到回复查询链的服务器的名称/IP?
细节:
我有一个设置(Windows 10 机器)
- 它连接到企业 LAN(
example.corp
)并已建立出站 OpenVPN 连接(到example.customer
) - DNS 请求被委托给本地 (
127.0.0.1
) 服务器(即未绑定)
此 DNS 服务器设置为转发 DNS 查询:
example.corp
到企业 DNSexample.customer
到 VPN 后面的客户 DNS- 互联网主机(
google.com
,...)到 VPN 后面的客户 DNS(这样做有多种原因,而不是使用企业 DNS 或诸如 之类的提供商1.1.1.1
)
我现在想确保正确的服务器能够解析正确的查询。这对于公司和客户相关的查询来说很容易(没有其他人可以正确解析它们,因此如果解析了它们,则意味着命中了正确的 DNS),但我对互联网查询有疑问(最终它们中的任何一个都可以正确解析)。
我使用的解决方案是监控 VPN 的流量,看看是否有相关的 DNS 数据包通过。有,所以我知道设置没问题。
这种方法不是最好的,我更愿意使用的功能来nslookup
找出答案。我尝试set debug
使用该工具,看看对互联网机器进行查询会出现什么结果(yahoo.fr
)。
解析首先经过yahoo.fr.somesubdomain.example.corp
, yahoo.fr.someothersubdomain.example.corp
- 域后缀列表中的所有内容。显然,所有查询均未通过,因此尝试下一个查询。示例:
------------
Got answer:
HEADER:
opcode = QUERY, id = 99, rcode = NXDOMAIN
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
yahoo.fr.somesubdomain.example.corp, type = AAAA, class = IN
AUTHORITY RECORDS:
-> (root)
ttl = 3440 (57 mins 20 secs)
primary name server = thecorpnsserver.example.corp
responsible mail addr = root.thecorpnsserver.example.corp
serial = 2018113000
refresh = 1800 (30 mins)
retry = 900 (15 mins)
expire = 604800 (7 days)
default TTL = 86400 (1 day)
这是一个失败的查询,但我没有看到任何响应的服务器(这不是 ,thecorpnsserver.example.corp
只是 的一部分SOA
)example.corp
。换句话说,提供SOA
(AUTHORITY RECORDS
)的服务器
我终于得到了答案
------------
Got answer:
HEADER:
opcode = QUERY, id = 100, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 5, authority records = 0, additional = 0
QUESTIONS:
yahoo.fr, type = A, class = IN
ANSWERS:
-> yahoo.fr
internet address = 106.10.248.151
ttl = 17 (17 secs)
-> yahoo.fr
internet address = 98.136.103.24
ttl = 17 (17 secs)
-> yahoo.fr
internet address = 124.108.115.101
ttl = 17 (17 secs)
-> yahoo.fr
internet address = 74.6.136.151
ttl = 17 (17 secs)
-> yahoo.fr
internet address = 212.82.100.151
ttl = 17 (17 secs)
------------
Non-authoritative answer:
------------
Got answer:
HEADER:
opcode = QUERY, id = 101, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
yahoo.fr, type = AAAA, class = IN
AUTHORITY RECORDS:
-> yahoo.fr
ttl = 595 (9 mins 55 secs)
primary name server = hidden-master.yahoo.com
responsible mail addr = hostmaster.yahoo-inc.com
serial = 2018112700
refresh = 3600 (1 hour)
retry = 900 (15 mins)
expire = 604800 (7 days)
default TTL = 600 (10 mins)
------------
Name: yahoo.fr
Addresses: 106.10.248.151
98.136.103.24
124.108.115.101
74.6.136.151
212.82.100.151
但它仍然没有说明哪个 DNS 服务器处理了该请求。
答案1
当您以交互模式启动 nslookup 时,正在使用的服务器将列为“默认服务器”。这是 nslookup 正在使用的服务器。
如果您正在寻找默认服务器正在使用的上游服务器,那么您将不会在 nslookup 中看到它。