1
tuibaba 2017-09-07 09:27:13 +08:00
这...
|
2
zsj950618 2017-09-07 09:27:26 +08:00 via Android 2
|
3
Sh888 2017-09-07 09:28:24 +08:00
DNS 服务器不都是直接使用它的 ip 地址的吗?正向解析也是查询一般主机,为什么要查询 dns 服务器的 ip 地址?
|
4
anoymoux 2017-09-07 09:30:38 +08:00
|
5
techeek 2017-09-07 09:31:09 +08:00
|
6
Sh888 2017-09-07 09:33:09 +08:00
@techeek taobao.com 难道不是 com 主机解析的吗?
|
7
Sh888 2017-09-07 09:35:08 +08:00
|
8
7DLNU56W OP 就是说 ns.taobao.com 这个域名怎么解析,查询根域,得到 com 域的地址,再查询 com 域得到 taobao.com 域的地址为 ns.taobao.com ,可现在的情况就是根本不知道 ns.taobao.com 的地址,解析的过程转一圈又回到起点了?
|
9
TestSmirk 2017-09-07 09:52:08 +08:00
同好奇..
|
10
zxp 2017-09-07 09:52:19 +08:00
这个 ns.taobao.com 的 IP 地址要先在注册局注册的,也就是说在注册局那里直接就知道该向哪个 IP 去解析 taobao.com 这个域名的主机地址了。
|
11
Sh888 2017-09-07 09:52:37 +08:00
taobao. com 就知道 ns.taobao. com 的 ip 地址呀。
|
12
song4 2017-09-07 10:00:26 +08:00
涉及的概念:DNS Delegation。DNS 的名称空间是分级的树状结构,每一级会有一组名称服务器负责解析该级的名称。
拿 www.taobao.com 来说,它的 FQDN 是 www.taobao.com. 。注意末尾有个点。 我们对其进行 DNS 查询时,首先查询根(.)的名称服务器,返回:*.root-servers.net. 。这是根名称服务器。 接着,向任意一个根名称服务器查询 com. 的名称服务器,返回:*.gtld-servers.net. 。这是 gTLD 名称服务器。 然后,选择一个 gTLD 名称服务器,查询 taobao.com. 的名称服务器,返回:ns[4-7].taobao.com. 。也就是说,taobao.com. 的名称服务器被注 册成了 ns[4-7].taobao.com 。这是人为控制的。 最后,向任意一个 ns[4-7].taobao.com. 发起查询,你会发现其实只是 CNAME RECORD 而已。 |
13
lengxx 2017-09-07 10:06:01 +08:00 via Android
http://www.internic.net/domain/root.zone
看下这个楼主应该就明白了 |
14
blueionic 2017-09-07 10:08:00 +08:00 via Android
glue record
|
15
BOYPT 2017-09-07 10:15:42 +08:00
顶级域名的 NS 记录是由域名托管机构同步到根服务器当中,而不是由域名的权威服务器提供查询。
|
16
also24 2017-09-07 10:31:23 +08:00
关于 DNS 的问题,在 风河博客 里有很详细的解答,具体到 NS 记录自身解析的问题可以参考以下几篇内容:
http://thinnote.com/archives/91 http://thinnote.com/archives/115 http://thinnote.com/doc/DNS.pdf 所以,应该是 @blueionic #14 所说的胶水记录的效果 |
19
my3157 2017-09-07 11:37:04 +08:00 1
看下面查询过程, .com 查 taobao 的时候返回的 ns 记录带 ip 的
$ dig ; <<>> DiG 9.8.3-P1 <<>> ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38539 ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 98233 IN NS e.root-servers.net. . 98233 IN NS j.root-servers.net. . 98233 IN NS k.root-servers.net. . 98233 IN NS h.root-servers.net. . 98233 IN NS g.root-servers.net. . 98233 IN NS d.root-servers.net. . 98233 IN NS a.root-servers.net. . 98233 IN NS c.root-servers.net. . 98233 IN NS b.root-servers.net. . 98233 IN NS f.root-servers.net. . 98233 IN NS i.root-servers.net. . 98233 IN NS l.root-servers.net. . 98233 IN NS m.root-servers.net. ;; Query time: 43 msec ;; SERVER: 192.168.2.1#53(192.168.2.1) ;; WHEN: Thu Sep 7 11:34:19 2017 ;; MSG SIZE rcvd: 228 $ dig @e.root-servers.net com. ; <<>> DiG 9.8.3-P1 <<>> @e.root-servers.net com. ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63619 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 15 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;com. IN A ;; AUTHORITY SECTION: com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. ;; ADDITIONAL SECTION: a.gtld-servers.net. 172800 IN A 192.5.6.30 b.gtld-servers.net. 172800 IN A 192.33.14.30 c.gtld-servers.net. 172800 IN A 192.26.92.30 d.gtld-servers.net. 172800 IN A 192.31.80.30 e.gtld-servers.net. 172800 IN A 192.12.94.30 f.gtld-servers.net. 172800 IN A 192.35.51.30 g.gtld-servers.net. 172800 IN A 192.42.93.30 h.gtld-servers.net. 172800 IN A 192.54.112.30 i.gtld-servers.net. 172800 IN A 192.43.172.30 j.gtld-servers.net. 172800 IN A 192.48.79.30 k.gtld-servers.net. 172800 IN A 192.52.178.30 l.gtld-servers.net. 172800 IN A 192.41.162.30 m.gtld-servers.net. 172800 IN A 192.55.83.30 a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e::2:30 b.gtld-servers.net. 172800 IN AAAA 2001:503:231d::2:30 ;; Query time: 179 msec ;; SERVER: 192.203.230.10#53(192.203.230.10) ;; WHEN: Thu Sep 7 11:34:38 2017 ;; MSG SIZE rcvd: 509 $ dig @a.gtld-servers.net. -t NS taobao.com ; <<>> DiG 9.8.3-P1 <<>> @a.gtld-servers.net. -t NS taobao.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30893 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 8 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;taobao.com. IN NS ;; AUTHORITY SECTION: taobao.com. 172800 IN NS ns4.taobao.com. taobao.com. 172800 IN NS ns5.taobao.com. taobao.com. 172800 IN NS ns6.taobao.com. taobao.com. 172800 IN NS ns7.taobao.com. ;; ADDITIONAL SECTION: ns4.taobao.com. 172800 IN A 198.11.138.245 ns4.taobao.com. 172800 IN A 198.11.138.249 ns5.taobao.com. 172800 IN A 140.205.2.180 ns5.taobao.com. 172800 IN A 140.205.2.188 ns6.taobao.com. 172800 IN A 140.205.71.245 ns6.taobao.com. 172800 IN A 140.205.71.249 ns7.taobao.com. 172800 IN A 106.11.35.25 ns7.taobao.com. 172800 IN A 106.11.35.26 ;; Query time: 106 msec ;; SERVER: 192.5.6.30#53(192.5.6.30) ;; WHEN: Thu Sep 7 11:35:01 2017 ;; MSG SIZE rcvd: 228 |
20
7DLNU56W OP 感谢大家的回复,学到了好多啊~~
|
21
hawhaw 2017-09-07 14:13:11 +08:00
看到前面已经回复的比较详细了,就不再赘述了。其实你这个域的 nameserver,你上级的域是知道的,这个跟你自己域里的 ns 纪录其实是没有关系的。所以你改自己域的 nameserver,不仅仅要改你自己域的 ns 纪录,还需要到上级(一般是你这个域的托管商)那里修改 nameserver。最容易犯错误的是:你只更改了你域名服务器的 ip,于是你想也许不用改上层的 nameserver,就是改也不知道怎么改(毕竟域名没变!)。但实际上还是只改域名数据中的 A 纪录是不行的!!!!!还需要你这个域名服务器的域名(比如 ns4.taobao.com 就是 taobao.com )的托管商的系统里修改 nameserver,将 ns4.taobao.com 的 ip 改成新的。
|
22
abmin521 2017-09-08 00:13:48 +08:00
自建一次权威 dns 估计就知道了
|
23
mytsing520 2017-09-10 13:54:58 +08:00
就是注册自己域名下的 DNS,具体原理,前面已经描述了很多
|
24
LanFomalhaut 2017-09-12 13:21:50 +08:00
|