Amazon web services 路由53地理DNS如何工作?

Amazon web services 路由53地理DNS如何工作?,amazon-web-services,dns,amazon-route53,Amazon Web Services,Dns,Amazon Route53,我在example.com的记录中设置了2个Geodns: 欧洲=example.com(192.0.2.1) 印度=example.com(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 但我不明白的是,印度如何使用谷歌DNS8.8.8.8 nslookup example.com 8.8.8.8

我在example.com的记录中设置了2个Geodns:

  • 欧洲=example.com(
    192.0.2.1
  • 印度=example.com(
    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

但我不明白的是,印度如何使用谷歌DNS
8.8.8.8

nslookup example.com 8.8.8.8
给出
192.0.2.2

8.8.8.8
是否知道
example.com
的记录并根据位置返回请求?

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地址执行此操作。

DNS服务器(
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地址进行测试。

这可能是因为解决方案不是基于名称服务器地址,而是基于客户机地址。名称服务器使用扩展获取客户端子网地址,并尝试推断地理位置的近似值。它类似于基于延迟的路由:考虑名称服务器地址几乎不变,这是没有意义的,而客户端可以变化很多。

很可能是因为分辨率不是基于名称服务器地址,而是客户端地址。名称服务器使用扩展获取客户端子网地址,并尝试推断地理位置的近似值。它类似于基于延迟的路由:考虑名称服务器地址几乎是恒定的,这是没有意义的,而客户端可以变化很多。

和/或由于谷歌公共DNS也是任意的,对于该情况的答复查询的实例与请求者接近(拓扑上)。这意味着权威名称服务器将使用相同的数据进行回复。和/或由于Google Public DNS也是anycasted,因此回复此案例查询的实例与请求者的关系很近(从拓扑角度而言),这意味着权威名称服务器将使用相同的数据进行回复。为了更好地调试,您应该更喜欢
dig
而不是
nslookup
(还要注意在@faermanj reply中添加
dig
允许您手动发送ECS选项,以进行尝试),还要记住,谷歌不是唯一一个提供大型公共DNS解析程序的实体。。。您还有
1.1.1.1
9.9.9
80.80.80
,等等。您应该更喜欢
dig
,而不是
nslookup
,以便更好地进行调试(还要注意,在@faermanj回复中添加
dig
允许您手动发送ECS选项,以进行尝试),还要记住,谷歌不是唯一一个提供大型公共DNS解析程序的实体。。。还有
1.1.1.1
9.9.9
80.80.80
,等等。