web-dev-qa-db-ja.com

インターネット内のすべてのDNSサーバーに対してDNSレコードを更新する方法

誰かがGoDaddy、OpenDNSなどでホスト名/ウェブサイト名をホストしている場合、GoDaddy、OpenDNSなどは、新しく追加されたホスト名について世界中のDNSサーバーのレコードをどのように更新しますか?インターネットには多くのDNSサーバーがあり、すべてのISPはクライアントに異なるDNSサーバーを提供しています。

21
joe prick

彼らはしません。 (ほんの少し簡略化して)、DNSは階層的です。 DNSサーバーは、親DNSサーバーを見つける方法、または「ルート」サーバーのリストを見つける方法を知っています。

彼らが親DNSサーバーを見つけた場合、彼らは単にそれを尋ね、それが正式な答えを得るまで親に尋ねます。

ただし、ほとんどの場合、ネームサーバーはルートネームサーバーを認識しており、ルートネームサーバーはドメインの適切なサーバーをポイントします。 (または場合によっては、ドメインの最初の部分に適切なサーバー。このプロセスは、ドメイン名が解決されるまで繰り返されます)。

以下は、システムがwww.google.comのIPアドレスを正式に解決する方法を示す「トレース」の例です(署名は無視されます)。

Linuxコマンド「Dig + trace www.google.com」からの出力を削減

; <<>> Dig 9.11.3-1ubuntu1.11-Ubuntu <<>> +trace www.google.com
;; global options: +cmd
.           514683  IN  NS  a.root-servers.net.
.           514683  IN  NS  b.root-servers.net.
.           514683  IN  NS  c.root-servers.net.
.           514683  IN  NS  d.root-servers.net.
.           514683  IN  NS  e.root-servers.net.
.           514683  IN  NS  f.root-servers.net.
.           514683  IN  NS  g.root-servers.net.
.           514683  IN  NS  h.root-servers.net.
.           514683  IN  NS  i.root-servers.net.
.           514683  IN  NS  j.root-servers.net.
.           514683  IN  NS  k.root-servers.net.
.           514683  IN  NS  l.root-servers.net.
.           514683  IN  NS  m.root-servers.net.
;; Received 525 bytes from 10.0.3.254#53(10.0.3.254) in 13 ms

com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.


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 840 bytes from 192.33.14.30#53(b.gtld-servers.net) in 35 ms

www.google.com.     300 IN  A   172.217.25.36
;; Received 59 bytes from 216.239.36.10#53(ns3.google.com) in 178 ms
  1. 最初のクエリはルートサーバー(* .root-servers.net)を検索します
  2. 次に、ルートサーバーは、ドメインの最も適切な部分を見つける場所をアドバイスします-".com"
  3. 3番目のクエリは、google.comのネームサーバーを返します
  4. 最後にグーグルネームサーバーはwww.google.comの答えを賞賛します

上記の例では、クエリ結果を必要最低限​​のものまで手動で取り除いていることに注意してください。実際には、ネームサーバーはその一部を記憶するため、通常、これらのクエリのすべてを実行するわけではありません。 IE誰かが.comドメイン名を初めて検索するとき、それを使用しているDNSサーバーはネームサーバーを記憶するため(この場合は172800秒間)、そのため、実行する必要はありません別のルックアップ。同様に、ルックアップのより具体的な部分すべてについて。

したがって、誰かがGodaddy(または任意のレジストラ)を介してexample.comを登録している場合、godaddyは(プログラムで)example.comのネームサーバーを「.com」ネームサーバーに入力する必要があります。同様に、AUにいる場合、「example.com.au」を登録するには、「。com.au」スペースに情報を入力する必要があります。これには、「」のネームサーバーを制御する人々との合意が必要です。 .com.au "スペース-すべてのレジストラがすべてのドメインを登録できるわけではなく、新しいトップレベルドメインを取得するのがこのようなプロセスである理由です。ルートネームサーバーにTLDを登録するには、多額の費用を支払う必要があります。

34
davidgo