当社は、独自のパブリック DNS を展開して維持したいと考えています。展開アクティビティの概要は把握していますが、会社のドメイン名をどこに登録し、パブリック DNS をどのようにマップするかについて、少し混乱しています。どなたか、トラフィック フローを説明してください。
答え1
私はかつてドメイン レジストリで働いており、IETF DNS ワークグループに参加していたので、入門編として説明します。
ドメイン ネーム システムは階層構造になっています。ドメイン名のデータを検索するときは、通常は一番上から下に向かって検索していきます。
一番上にはルートがあります。ルート ネーム サーバーは世界中に分散している多数のサーバーで、あらゆる質問は常にここから始まり、データがキャッシュされている場合は、後で説明します。通常のユーザーの場合、ドメイン名にルート ネーム サーバーは表示されませんが、存在します。
次はトップレベルドメインです。これらは、汎用トップレベルドメイン (.com、.net、.movie など) と国別コードトップレベルドメイン (米国の .us、ノルウェーの .no、中国の .cn など) に分かれています。
その次は第 2 レベル ドメインです。これらは通常、エンド カスタマーとして購入するものです。たとえば、example.com を所有したい場合は、レジストラに行き、example.com が利用可能かどうかを確認し、利用可能であればカートに追加してチェックアウトします。その後、レジストラまたは別のホスティング会社に DNS を実行してもらうか、独自の DNS サーバーをセットアップして、レジストラにドメインを委任してもらいます。委任とは、DNS サーバーがこのドメインを担当していることを示すデータを登録することを意味します。
ドメインを所有したら、第 3 レベル ドメイン (サブドメイン) を設定することもできます。これにより、DNS サーバーに別の階層が追加されます。また、ホスト名を設定することもできます。これは、平均的なユーザーにはまったく同じもののように見えます。
それでは、平均的な DNS ルックアップを見てみましょう。
例えば、あなたが行きたいとしましょう参考文献DNS サーバーが最初に行うことは、ルート サーバーにアクセスして、.com の責任者を検索することです。DNS サーバーにはルート サーバーのアドレスが組み込まれているため、通常は検索する必要はありません。代わりに、.com の情報を検索します。
ここでは「dig」プログラムを使用しますが、読みやすさのために出力をお願いします。
まず、com のネーム サーバー (ns) を要求します。これは、DNS システムのルート サーバーの 1 つであるサーバー a.root-servers.net に直接要求します。
$ dig ns com. @a.root-servers.net.
出力は次のようになります(これも省略)
;; QUESTION SECTION:
;com. IN NS
;; AUTHORITY SECTION:
com. 172800 IN NS a.gtld-servers.net.
;; ADDITIONAL SECTION:
a.gtld-servers.net. 172800 IN A 192.5.6.30
a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e::2:30
質問セクションには、私たちが何を尋ねているかが表示されます。この場合は、com の NS レコードです。
AUTHORITY SECTION は、ルート サーバーが .com の責任を負っていないことを示していますが、誰が責任を負うのかを示しています。この場合、a.gtld-servers.net が責任を負うことを示しています。
また、a.gtld-servers.net のアドレス レコード (IPv4 の場合は A、IPv6 の場合は AAAA) を含む ADDITIONAL SECTION も提供されます。このアドレスはグルーと呼ばれ、信頼できる回答とは見なされませんが、これがシステムにリストされているアドレスであることを知らせるヒントになります。グルー レコードは、DNS ルックアップを実行してのみアクセスできるサーバーの IP アドレスが必要な場合に必要になります。DNS ルックアップにはネームサーバーの IP アドレスが必要です。すべてが少し再帰的です。
とにかく、続けて example.com のネームサーバーを検索してみましょう。これは、実際の DNS が示すものとは少し異なりますが、これは例なので、サンプル データを使用します。
$ dig ns example.com. @192.5.6.30
上記で取得した a.gtld-servers.net の IP アドレスを要求しています。これらは .com ドメインの権限を持っているため、example.com がどのようなネームサーバーを持っているかを教えてくれるはずです。
;; QUESTION SECTION:
;example.com. IN NS
;; AUTHORITY SECTION:
example.com. 172800 IN NS ns2.example.com.
example.com. 172800 IN NS ns1.example.com.
;; ADDITIONAL SECTION:
ns2.example.com. 172800 IN A 192.0.2.4
ns1.example.com. 172800 IN A 192.0.2.5
さて、このグルーが重要な理由は次のとおりです。example.com のネームサーバーは example.com の下にあるため、example.com のネームサーバーによって管理されます。基本的に、Bob の電話番号は Bob だけが知っているため、Bob に電話をかけて Bob の番号を尋ねるように指示されます。グルーとはヒントです。Bob は番号を変更したかもしれませんが、これは .com のネームサーバーが知っていることです。
example.com ネームサーバーのアドレスがわかったので、最後にホスト名を尋ねることができます。
$ dig a www.example.com. @192.0.2.4
;; QUESTION SECTION:
;www.example.com. IN A
;; ANSWER SECTION:
www.example.com. 300 IN A 192.0.2.10
ついに住所記録が手に入りました参考文献ホスト名。このクエリにはそのようなセクションは必要ないため、ここには追加セクションがないことに注意してください。私たちは単純な質問をし、ドメインの権限を持つサーバーから正確な回答を得ています。
さて、このすべての検索を常に行うのは時間とリソースの無駄なので、通常はローカル DNS サーバーをキャッシュとして機能させます。すべての DNS レコードの外観に気付きましたか? DNS レコードのフィールドは次のとおりです: ドメイン、存続時間 (TTL)、クラス (この場合はインターネットの IN)、タイプ (アドレスの A、ネームサーバーの NS など)、およびデータ (たとえば、A レコードの IP アドレス)。
DNSレコードのTTLは、キャッシュがデータを保存できる期間です。変更されないことが予想されるレコード、または非常にまれにしか変更されないレコードは、長いTTLを持ちます。たとえば、最初に見たいくつかのレコードのTTLは172800秒です。急に更新される可能性のあるレコードは、300秒のTTLのように、低いTTLを持ちます。参考文献。
DNS ルックアップを実行するときは、探しているデータがすでにキャッシュされている場合は、ルート サーバーまでわざわざ移動する必要はありません。通常、.com ドメインには常にアクセスするため、データはほぼ常にローカル DNS サーバーにキャッシュされています。ただし、これは DNS データを変更するたびに、変更が反映されるまでに時間がかかる可能性があることを意味します。実際的には、TTL を事前に変更するか、変更が完全に有効になるまでに時間がかかることを上司に伝える必要があることを意味します。
ドメインを登録するには、通常、登録したいトップレベルドメインのレジストラにアクセスします。ほとんどのホスティング会社とドメインレジストラは、さまざまなトップレベルドメインでドメインを登録できるため、そのいずれかを選択できます。
レジストラはレジストリの再販業者です。レジストリは、問題のトップレベルドメインを実際に運営する会社または組織ですが、エンドユーザーとして対応する必要があるのはレジストラ、またはホスティング会社だけです。
ほとんどのレジストラには、委任や DNS レコードの技術的な詳細の多くを処理する Web インターフェイスがありますが、レジストラの Web インターフェイスに頼る場合でも、DNS の基礎を理解しておけば作業がはるかに簡単になります。
DNS についてもっと知りたい場合、また IT 分野で働いている場合は、DNS が多くの潜在的な問題の原因となるため、DNS の仕組みを本当に知っておく必要があります。O'Reilly の『DNS and Bind』という本をお勧めします。非常に包括的で、DNS の専門家になれるでしょう。独自の DNS サーバーを運用したい場合は、この本を読むことを強くお勧めします。Bind DNS サーバー ソフトウェアについては説明していますが、同じ原則は他のどの DNS サーバー ソフトウェアにも当てはまります。