我有一个问题,我尝试在cmd中执行ping这样的操作:ping google.com,所以它给了我一个IP地址A.但之后,我想做一个nslookup到google.com它给了我一个IP地址B.为什么?我的问题是为什么同一网站的IP不一样。
答案 0 :(得分:1)
答案可能是循环DNS。 DNS允许您为同一记录指定多个值,客户端库将确定使用一个值(一些使用第一个,一些使用最后一个,一些使用随机,一些迭代通过它们。)
或者,DNS服务器可能会向同一查询返回不同的值 - 要么在后台进行负载平衡,要么将您发送到地理位置最近的服务器。
我刚刚从两台独立的计算机上解决了google.com并得到了两个不同的答案: host-a5 $ dig + short google.com 216.58.204.14
host-b4 $ dig + short google.com 172.217.23.14
这表明Google DNS服务器正在为同一查询返回不同的答案,最有可能出于负载平衡和/或以地理为中心的原因。
答案 1 :(得分:0)
这是3个原因:
ping可能正在从主机文件获取地址(nslookup没有)
ping可能正在获取缓存的地址(nslookup没有)。使用ipconfig /flushdns
清空缓存。
同一主机可能在DNS中注册了多个地址