当我在 AWS route53 中创建 public "www.google.com" 记录集时发生了什么?
What happened when I create a public "www.google.com" record set in AWS route53?
如您所知,www.google.com
是一个已经在互联网上注册的域名。
我想知道为什么我可以创建一个域名为 google.com
的 public 托管区域而不会从 AWS route53 收到任何错误。
我已阅读文档 here。看起来 .com TLD 的名称服务器不受我的 route53 配置的影响。
阻止我影响 www.google.com
域的互联网机制是什么?
您只是在 AWS route 53 提供的服务器上创建了一个条目,但这并不意味着 google.com 现在将使用您刚刚创建的记录。
这是因为 google.com 正在使用自己定义的名称服务器,要检查这一点请尝试以下命令:
$ dig google.com ns +short
ns3.google.com.
ns4.google.com.
ns2.google.com.
ns1.google.com.
您确实可以查询您的服务并请求 www.google.com
记录,例如:
dig @ns-1656.awsdns-15.co.uk www.google.com.
根据您发布的图片,它应该return您定义的IP 123.123.123.123
注意 @ns-1656.awsdns-15.co.uk
@ 它指定 ns-1656.awsdns-15.co.uk
作为要查询的服务器。
但是通过使用你的系统 resolver 你应该得到 google 的 IP:
dig www.google.com
所有这一切都结束了 DNS 解析是如何工作的,你确实可以做一个完整的跟踪,例如,检查这个命令的输出:
$ dig www.google.com +trace
; <<>> DiG 9.8.3-P1 <<>> www.google.com +trace
;; global options: +cmd
. 557714 IN NS a.root-servers.net.
. 557714 IN NS b.root-servers.net.
. 557714 IN NS c.root-servers.net.
. 557714 IN NS g.root-servers.net.
. 557714 IN NS j.root-servers.net.
. 557714 IN NS h.root-servers.net.
. 557714 IN NS l.root-servers.net.
. 557714 IN NS f.root-servers.net.
. 557714 IN NS m.root-servers.net.
. 557714 IN NS e.root-servers.net.
. 557714 IN NS k.root-servers.net.
. 557714 IN NS d.root-servers.net.
. 557714 IN NS i.root-servers.net.
;; Received 449 bytes from 10.10.1.21#53(10.10.1.21) in 493 ms
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
;; Received 492 bytes from 192.36.148.17#53(192.36.148.17) in 315 ms
google.com. 172800 IN NS ns2.google.com.
google.com. 172800 IN NS ns1.google.com.
google.com. 172800 IN NS ns3.google.com.
google.com. 172800 IN NS ns4.google.com.
;; Received 168 bytes from 192.55.83.30#53(192.55.83.30) in 27 ms
www.google.com. 300 IN A 172.217.23.164
;; Received 48 bytes from 216.239.32.10#53(216.239.32.10) in 20 ms
这是典型 DNS 解析场景中查询递归接收响应的方式:(摘自:https://ns1.com/articles/using-dig-trace)
您作为 DNS 客户端(或存根解析器)向您的递归解析器查询 google.com。
dig google.com +trace
您的递归解析器在根名称服务器中查询 google.com。
; <<>> DiG 9.8.3-P1 <<>> www.google.com +trace
;; global options: +cmd
. 557714 IN NS a.root-servers.net.
. 557714 IN NS b.root-servers.net.
. 557714 IN NS c.root-servers.net.
. 557714 IN NS g.root-servers.net.
. 557714 IN NS j.root-servers.net.
. 557714 IN NS h.root-servers.net.
. 557714 IN NS l.root-servers.net.
. 557714 IN NS f.root-servers.net.
. 557714 IN NS m.root-servers.net.
. 557714 IN NS e.root-servers.net.
. 557714 IN NS k.root-servers.net.
. 557714 IN NS d.root-servers.net.
. 557714 IN NS i.root-servers.net.
;; Received 449 bytes from 10.59.1.21#53(10.59.1.21) in 493 ms
根名称服务器将您的递归解析器引向 .com 顶级域 (TLD) 权威服务器。
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
;; Received 492 bytes from 192.36.148.17#53(192.36.148.17) in 315 ms
您的递归解析器查询 .com TLD 权威服务器以获得 google.com
google.com. 172800 IN NS ns2.google.com.
google.com. 172800 IN NS ns1.google.com.
google.com. 172800 IN NS ns3.google.com.
google.com. 172800 IN NS ns4.google.com.
;; Received 168 bytes from 192.55.83.30#53(192.55.83.30) in 27 ms
.com TLD 权威服务器将您的递归服务器引用到 google.com 的权威服务器。
您的递归解析器向权威服务器查询 google.com,并收到 216.239.31.10 作为答案。
google.com. 300 IN A 172.217.23.164
;; Received 48 bytes from 216.239.32.10#53(216.239.32.10) in 20 ms
您的递归解析器会在记录中指定的生存时间 (TTL) 内缓存答案,然后 return 将其发送给您。
如您所知,www.google.com
是一个已经在互联网上注册的域名。
我想知道为什么我可以创建一个域名为 google.com
的 public 托管区域而不会从 AWS route53 收到任何错误。
我已阅读文档 here。看起来 .com TLD 的名称服务器不受我的 route53 配置的影响。
阻止我影响 www.google.com
域的互联网机制是什么?
您只是在 AWS route 53 提供的服务器上创建了一个条目,但这并不意味着 google.com 现在将使用您刚刚创建的记录。
这是因为 google.com 正在使用自己定义的名称服务器,要检查这一点请尝试以下命令:
$ dig google.com ns +short
ns3.google.com.
ns4.google.com.
ns2.google.com.
ns1.google.com.
您确实可以查询您的服务并请求 www.google.com
记录,例如:
dig @ns-1656.awsdns-15.co.uk www.google.com.
根据您发布的图片,它应该return您定义的IP 123.123.123.123
注意 @ns-1656.awsdns-15.co.uk
@ 它指定 ns-1656.awsdns-15.co.uk
作为要查询的服务器。
但是通过使用你的系统 resolver 你应该得到 google 的 IP:
dig www.google.com
所有这一切都结束了 DNS 解析是如何工作的,你确实可以做一个完整的跟踪,例如,检查这个命令的输出:
$ dig www.google.com +trace
; <<>> DiG 9.8.3-P1 <<>> www.google.com +trace
;; global options: +cmd
. 557714 IN NS a.root-servers.net.
. 557714 IN NS b.root-servers.net.
. 557714 IN NS c.root-servers.net.
. 557714 IN NS g.root-servers.net.
. 557714 IN NS j.root-servers.net.
. 557714 IN NS h.root-servers.net.
. 557714 IN NS l.root-servers.net.
. 557714 IN NS f.root-servers.net.
. 557714 IN NS m.root-servers.net.
. 557714 IN NS e.root-servers.net.
. 557714 IN NS k.root-servers.net.
. 557714 IN NS d.root-servers.net.
. 557714 IN NS i.root-servers.net.
;; Received 449 bytes from 10.10.1.21#53(10.10.1.21) in 493 ms
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
;; Received 492 bytes from 192.36.148.17#53(192.36.148.17) in 315 ms
google.com. 172800 IN NS ns2.google.com.
google.com. 172800 IN NS ns1.google.com.
google.com. 172800 IN NS ns3.google.com.
google.com. 172800 IN NS ns4.google.com.
;; Received 168 bytes from 192.55.83.30#53(192.55.83.30) in 27 ms
www.google.com. 300 IN A 172.217.23.164
;; Received 48 bytes from 216.239.32.10#53(216.239.32.10) in 20 ms
这是典型 DNS 解析场景中查询递归接收响应的方式:(摘自:https://ns1.com/articles/using-dig-trace)
您作为 DNS 客户端(或存根解析器)向您的递归解析器查询 google.com。
dig google.com +trace
您的递归解析器在根名称服务器中查询 google.com。
; <<>> DiG 9.8.3-P1 <<>> www.google.com +trace ;; global options: +cmd . 557714 IN NS a.root-servers.net. . 557714 IN NS b.root-servers.net. . 557714 IN NS c.root-servers.net. . 557714 IN NS g.root-servers.net. . 557714 IN NS j.root-servers.net. . 557714 IN NS h.root-servers.net. . 557714 IN NS l.root-servers.net. . 557714 IN NS f.root-servers.net. . 557714 IN NS m.root-servers.net. . 557714 IN NS e.root-servers.net. . 557714 IN NS k.root-servers.net. . 557714 IN NS d.root-servers.net. . 557714 IN NS i.root-servers.net. ;; Received 449 bytes from 10.59.1.21#53(10.59.1.21) in 493 ms
根名称服务器将您的递归解析器引向 .com 顶级域 (TLD) 权威服务器。
com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. ;; Received 492 bytes from 192.36.148.17#53(192.36.148.17) in 315 ms
您的递归解析器查询 .com TLD 权威服务器以获得 google.com
google.com. 172800 IN NS ns2.google.com. google.com. 172800 IN NS ns1.google.com. google.com. 172800 IN NS ns3.google.com. google.com. 172800 IN NS ns4.google.com. ;; Received 168 bytes from 192.55.83.30#53(192.55.83.30) in 27 ms
.com TLD 权威服务器将您的递归服务器引用到 google.com 的权威服务器。
您的递归解析器向权威服务器查询 google.com,并收到 216.239.31.10 作为答案。
google.com. 300 IN A 172.217.23.164 ;; Received 48 bytes from 216.239.32.10#53(216.239.32.10) in 20 ms
您的递归解析器会在记录中指定的生存时间 (TTL) 内缓存答案,然后 return 将其发送给您。