web-dev-qa-db-ja.com

ルートネームサーバーから開始するnslookupを使用したDNS解決のプロセス

DNSリゾルバーがネームサーバーを照会するドメイン階層を通過してルート名前空間からドメイン名を下方に解決する方法の理論を広く理解していますが、nslookupを使用してgoogle.comネームサーバー(または任意の例として他のドメイン名)。私はちょうどできることを理解しています:

nslookup -type=ns google.com

ns1.google.com、ns2.google.comなど、google.comのすべてのネームサーバーが返されます。

しかし、代わりに私がやりたいことは、ルートレベルドメインから、DNSリゾルバーが通常行うのと同じように(キャッシュヒットがないと仮定して)Googleのネームサーバーに再帰的にアクセスすることです。

私が試したプロセスは次のとおりです。

  1. 最初にルートレベルのネームサーバーを取得します。

    nslookup -type = ns.

    これにより、13のルートサーバーすべてが返され、そのうちの1つを選択しました:192.36.148.17

  2. 次のように、gTLD .comのルートネームサーバーにクエリを実行します。

    nslookup -type = ns com 192.36.148.17

    これは、ネームサーバーのリスト、つまりIP:199.212.0.73を返します。

  3. 現在、最初のネームサーバーのIPを使用して、SLDのネームサーバーを照会します。

    nslookup -type = ns google.com 199.212.0.73

ここでは、これによりgoogle.comのネームサーバーが返されると思っていましたが、代わりにv.arin.net、u.arin.netなどのネームサーバーを取得しています。

3
neodymium

これは、手順3でgtldサーバーではなくarpaからIPを使用することが、私がやったことであり、arpaからのIPを使用しても同じ結果が返されるためです。

1)nslookup -type = ns。

nslookup -type=ns .
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
(root)  nameserver = a.root-servers.net
(root)  nameserver = b.root-servers.net
(root)  nameserver = c.root-servers.net
(root)  nameserver = d.root-servers.net
(root)  nameserver = e.root-servers.net
(root)  nameserver = f.root-servers.net
(root)  nameserver = g.root-servers.net
(root)  nameserver = h.root-servers.net
(root)  nameserver = i.root-servers.net
(root)  nameserver = j.root-servers.net
(root)  nameserver = k.root-servers.net
(root)  nameserver = l.root-servers.net
(root)  nameserver = m.root-servers.net

2)IPの解決

Pinging i.root-servers.net [192.36.148.17] with 32 bytes of data:
Reply from 192.36.148.17: bytes=32 time=30ms TTL=53
Reply from 192.36.148.17: bytes=32 time=27ms TTL=53
Reply from 192.36.148.17: bytes=32 time=27ms TTL=53
Reply from 192.36.148.17: bytes=32 time=30ms TTL=53

Ping statistics for 192.36.148.17:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 27ms, Maximum = 30ms, Average = 28ms

)nslookup -type = ns com 192.36.148.17

nslookup -type=ns com 192.36.148.17
in-addr.arpa    nameserver = e.in-addr-servers.arpa
in-addr.arpa    nameserver = c.in-addr-servers.arpa
in-addr.arpa    nameserver = d.in-addr-servers.arpa
in-addr.arpa    nameserver = b.in-addr-servers.arpa
in-addr.arpa    nameserver = f.in-addr-servers.arpa
in-addr.arpa    nameserver = a.in-addr-servers.arpa
a.in-addr-servers.arpa  internet address = 199.212.0.73
a.in-addr-servers.arpa  AAAA IPv6 address = 2001:500:13::73
b.in-addr-servers.arpa  internet address = 199.253.183.183
b.in-addr-servers.arpa  AAAA IPv6 address = 2001:500:87::87
c.in-addr-servers.arpa  internet address = 196.216.169.10
c.in-addr-servers.arpa  AAAA IPv6 address = 2001:43f8:110::10
d.in-addr-servers.arpa  internet address = 200.10.60.53
d.in-addr-servers.arpa  AAAA IPv6 address = 2001:13c7:7010::53
e.in-addr-servers.arpa  internet address = 203.119.86.101
e.in-addr-servers.arpa  AAAA IPv6 address = 2001:dd8:6::101
f.in-addr-servers.arpa  internet address = 193.0.9.1
f.in-addr-servers.arpa  AAAA IPv6 address = 2001:67c:e0::1
Server:  UnKnown
Address:  192.36.148.17

com     nameserver = j.gtld-servers.net
com     nameserver = i.gtld-servers.net
com     nameserver = g.gtld-servers.net
com     nameserver = e.gtld-servers.net
com     nameserver = h.gtld-servers.net
com     nameserver = m.gtld-servers.net
com     nameserver = b.gtld-servers.net
com     nameserver = d.gtld-servers.net
com     nameserver = k.gtld-servers.net
com     nameserver = a.gtld-servers.net
com     nameserver = l.gtld-servers.net
com     nameserver = f.gtld-servers.net
com     nameserver = c.gtld-servers.net
a.gtld-servers.net      internet address = 192.5.6.30
a.gtld-servers.net      AAAA IPv6 address = 2001:503:a83e::2:30
b.gtld-servers.net      internet address = 192.33.14.30
b.gtld-servers.net      AAAA IPv6 address = 2001:503:231d::2:30
c.gtld-servers.net      internet address = 192.26.92.30
d.gtld-servers.net      internet address = 192.31.80.30
e.gtld-servers.net      internet address = 192.12.94.30
f.gtld-servers.net      internet address = 192.35.51.30
g.gtld-servers.net      internet address = 192.42.93.30
h.gtld-servers.net      internet address = 192.54.112.30
i.gtld-servers.net      internet address = 192.43.172.30
j.gtld-servers.net      internet address = 192.48.79.30
k.gtld-servers.net      internet address = 192.52.178.30
l.gtld-servers.net      internet address = 192.41.162.30
m.gtld-servers.net      internet address = 192.55.83.30

4)nslookup -type = ns google.com 192.5.6.

nslookup -type=ns google.com 192.5.6.30
(root)  nameserver = a.root-servers.net
(root)  nameserver = b.root-servers.net
(root)  nameserver = c.root-servers.net
(root)  nameserver = d.root-servers.net
(root)  nameserver = e.root-servers.net
(root)  nameserver = f.root-servers.net
(root)  nameserver = g.root-servers.net
(root)  nameserver = h.root-servers.net
(root)  nameserver = i.root-servers.net
(root)  nameserver = j.root-servers.net
(root)  nameserver = k.root-servers.net
(root)  nameserver = l.root-servers.net
(root)  nameserver = m.root-servers.net
Server:  UnKnown
Address:  192.5.6.30

google.com      nameserver = ns2.google.com
google.com      nameserver = ns1.google.com
google.com      nameserver = ns3.google.com
google.com      nameserver = ns4.google.com
ns2.google.com  internet address = 216.239.34.10
ns1.google.com  internet address = 216.239.32.10
ns3.google.com  internet address = 216.239.36.10
ns4.google.com  internet address = 216.239.38.10
1
Simon Hayter