Linux

為什麼不能直接從國家級DNS查詢?

  • April 6, 2018

我嘗試www.ox.ac.uk從 Google 的 DNS 開始發出 DNS 跟踪請求(以 Oxford 的網站為例)8.8.8.8。我可以成功獲得結果,並且路由是通過國家級 DNS nsa.nic.uk

但是,當我嘗試nsa.nic.uk直接詢問時,沒有顯示路線。這是正常的,為什麼它沒有顯示結果?

提前致謝!

命令 1(詢問 Googld DNS):-

$ dig +trace www.ox.ac.uk @8.8.8.8

命令 1 結果(成功獲取路由):-

8.8.8.8(Google DNS)

-> 192.203.230.10( e.root-servers.net)

-> 156.154.100.3( nsa.nic.uk)

-> 193.62.157.66( ns4.ja.net)

-> 193.63.105.17( ns2.ja.net)

-> 129.67.242.155( www.ox.ac.uk)

命令2(直接詢問nsa.nic.uk):-

$ dig +trace www.ox.ac.uk @156.154.100.3

命令 2 結果(沒有路線):-

Received 28 bytes from 156.154.100.3#53(156.154.100.3) in 79 ms

是的,這很正常。

Google DNS 8.8.8.8 是一個“遞歸”DNS,這意味著它將為您解析任何域(通過查詢域中每個組件的連續權威 DNS 伺服器,從根開始一直到“ www”組件。)

國家 DNSnsa.nic.uk是“英國”的權威 DNS。但它不接受遞歸查詢。

如果你在沒有 +trace 的情況下執行“探勘”命令,你會看到它會回復一些東西,但它只是樹的下一層:

$ dig www.ox.ac.uk @156.154.100.3
;; AUTHORITY SECTION:
ac.uk.          172800  IN  NS  ns3.ja.net.
ac.uk.          172800  IN  NS  ns4.ja.net.
ac.uk.          172800  IN  NS  ns2.ja.net.
ac.uk.          172800  IN  NS  ns1.surfnet.nl.
ac.uk.          172800  IN  NS  dns-3.dfn.de.
ac.uk.          172800  IN  NS  ns0.ja.net.
ac.uk.          172800  IN  NS  auth03.ns.uu.net.

如果然後您轉到下一步並詢問其中一個域,您將獲得下一步:

$ dig www.ox.ac.uk @ns0.ja.net
;; AUTHORITY SECTION:
ox.ac.uk.       86400   IN  NS  dns1.ox.ac.uk.
ox.ac.uk.       86400   IN  NS  dns2.ox.ac.uk.
ox.ac.uk.       86400   IN  NS  dns0.ox.ac.uk.
ox.ac.uk.       86400   IN  NS  ns2.ja.net.

當您查詢 8.8.8.8 時,它會為您完成解析的所有步驟…當您執行 +trace 時,它也會向您顯示各個步驟…

引用自:https://serverfault.com/questions/906321