我设置了2个Geodns example.com的记录:
192.0.2.1
)192.0.2.2
)它给了我4 ns的记录ns[1-4].aws.amazon.com
我了解我是否nslookup
来自印度
nslookup example.com ns[1-4].aws.amazon.com
给予192.0.2.2
但是我不明白nslookup
来自印度的Google DNS 8.8.8.8
nslookup example.com 8.8.8.8
给予192.0.2.2
8.8.8.8
是否既知道example.com
的A记录又根据位置返回请求?
答案 0 :(得分:1)
DNS服务器(8.8.8.8
)查找与域(ns[1-4].aws.amazon.com
)关联的名称服务器。然后,它将请求转发到这些名称服务器之一。
因此,8.8.8.8
没有进行地理查询。相反,AWS名称服务器正在进行地理查找。它查看原始请求的IP地址,并根据需要返回192.0.2.1
或192.0.2.2
。
即使未指定8.8.8.8
,您的DNS请求也被转发到您的组织或ISP中的DNS服务,并且发生相同的事情。
如果您想测试192.0.2.1
查找是否正常工作,则需要使用更靠近欧洲而不是印度的IP地址进行查询。
答案 1 :(得分:1)
这可能是因为解析不是基于名称服务器地址,而是基于客户端地址。名称服务器使用EDNS Client Subnet扩展名来获取客户端子网地址,并尝试推断地理位置的近似值。这是类似的基于延迟的路由:考虑名称服务器地址几乎是恒定的,这是没有意义的,而客户端的差异可能很大。