DNS A vs NSレコード


42

DNSをもう少しよく理解しようとしていますが、まだAレコードとNSレコードを完全に取得できません。

私が理解している限り、AレコードはどのIPアドレスが(サブ)ドメインに属しているかを示しますが、これまでのところ、それはまだ明らかでした。しかし、私が理解したように、NSレコードはどのネームサーバーポイントが(サブ)ドメインに属するかを示し、そのネームサーバーはどのIPアドレスが(サブ)ドメインに属するかを示す必要があります。ただし、同じDNSファイルのAレコードで既に指定されています。だから誰かがNSレコードとネームサーバーが正確に何をしているのかを私に説明することができます。

編集:私が正しく理解しているように、NSレコードは特定のドメインのAレコードを持つDNSサーバーを見つけるべきであったことを示し、Aレコードはドメインに属するIPアドレスを示します。しかし、AとNSレコードを同じDNSファイルに入れることは何ですか?特定のドメインのAレコードが既に存在する場合、別のDNSサーバーをポイントする必要があるのはなぜですか?


古い質問のhub慢を許してください。しかし、私はDNS管理者であり、問​​題を適切に説明するために、賛成の回答を検討しません。私はこの質問に関連することができます。なぜなら、私は初期の頃に同じ混乱を抱えていたからです。私は自分の答えを投稿しました。
アンドリューB

回答:


44

架空のfoo.comゾーンファイルからのいくつかの例

 ....... SOA record & lots more stuff .......
 foo.com.      IN        NS        ns1.bar.com.

 foo.com.      IN        A         192.168.100.1
 ....... More A/CNAME/AAAA/etc. records .......

Aレコード =「foo.comアドレス192.168.100.1でホストが呼び出されました」
NSレコード =「foo.comゾーン内のホストについて知りたい場合は、ネームサーバーns1.bar.comに問い合わせてください」


3
foob​​ar参照が大好きです。:D
JohnThePro

2
@Tiddoの大きな理由は、スレーブサーバーがNSレコードとしてリストされているため、通常、スレーブサーバーにゾーンの変更が通知されることです。また、ns1.foo.com他の何かを検索する過程で権限のあるサーバーのアドレスを照会し、そこにレコードが存在しない場合、取得NXDOMAINして悪いことが起こります(ただし、com親サーバーを照会した人には機能しますおそらく)は、グルーAレコードが存在することになる
voretaq7

1
@JohnThePro-私の他のオプションはexample.comであり、example.comの参照は嫌いです:
voretaq7

3
@ voretaq7したがって、基本的にNSレコードはバックアップメカニズムとして使用され、ドメインのIPアドレスが変更されたときにこれらのネームサーバーに通知しますか?
ティド

2
@tiddoおよび上記の道しるべとして、および他の多くの回答で。私が忘れているNSレコードを見る他のものがあるかもしれませんが、それらは頭に浮かぶ2つの大きなものです。
voretaq7

18

これは古い質問ですが、他の答えは混乱の原因に実際には触れていないと思います。NS頂点のレコードは、頂点のNS下のレコードとは異なるルールのセットに従います。

これらのルールからA、同じ名前のレコードがDNSサーバー上に存在する場合の動作について、2つの異なる動作を導き出すことができます。

  • NSレコードがリフェラルを定義しない場合、他のデータが同じゾーン内に存在する可能性があります。サーバーはそれ自体がNSレコードとレコードの両方に対して権限があると見なしているため、A競合はありません。これが、他のデータが一般的にNSゾーンの頂点でレコードと並んで存在する理由です。
  • NSレコード参照を定義する場合、レコードゾーンカットAによって事実上「マスク」さます。このAレコードは信頼できるものではなく、信頼できる応答の回答セクションに表示してはなりません。照会の追加セクションに表示されるグルーデータとして潜在的に使用できますが、それだけです。

紛らわしい?そうですよ。これを追跡するのに問題がある場合はコメントにメモをドロップしてください。


APEXとはどういう意味ですか?
ライアンニールメス

@ Ryan-Neal NSゾーンファイルの先頭のレコード。
アンドリューB

9

NSレコードは、そのドメイン名にDNSサービスを提供しているサーバーを指定します。

Aレコードは、ホスト名(www、ftp、mailなど)が1つ以上のIPアドレスを指すようにします。


7

Aレコードは、名前をIPアドレスにマップします。例えば

binary.example.com。192.168.1.42で

binary.example.comと述べています。192.168.1.42に解決

NSレコードは、名前を別のネームサーバー、つまりそのドメインにサービスを提供する別のDNSサーバーにマップします。すなわち、「私はこの名前のIPアドレスがわからないが、あそこのネームサーバーに尋ねれば、それは知っているかもしれない」

binary.example.com。NS otherbox.example.com
otherbox.example.com。192.168.1.2で

binary.example.comの上記の2つのレコードを持つDNSサーバーに問い合わせた場合。(またはwww.binary.example.com。またはfoo.bar.binary.example.com)。192.168.1.2にこれらの名前を変換するように依頼する必要があることがわかります(まあ、またはDNSサーバーがあなたのためにそれを行うか、解決された名前をキャッシュして、それらを返すことができます)。


多くの場合、同じドメインのNSレコードとAレコードを指定するDNSレコードが表示されます。しかし、NSレコードがAレコードを見つけることを指示している場合、Aレコードが既に存在する場合、その同じファイル内のNSレコードの使用は何ですか?
ティド

これはすべての中で私のお気に入りの説明でした!
ベンジャミン

6

サブゾーンを別のDNSサーバーに委任する必要がある場合は、NSとAの両方のレコードをゾーンに保持することが重要です。

たとえば、ゾーンbar.comに対して権限を持つDNSサーバーns1.bar.comがあります。そして、foo.bar.comをns1.foo.bar.comに委任する必要があります。したがって、ゾーンfoo.bar.comを作成し、そこに次のレコードを配置する必要があります。

foo.bar.com.     IN NS ns1.foo.bar.com.
ns1.foo.bar.com. IN A  10.10.10.10

Aがなければ、レコードの委任は機能しません。このようなレコードペアは、グルーレコードと呼ばれます。

グルーレコードは、DNSシステムが非ルートゾーンの信頼できるDNSサーバーの正確なIPを見つけるための唯一の方法です。digWiresharkを使用してNSレコードのドメインをチェックするか、wiresharkでトラフィックダンプを表示すると、答えに「追加の」セクションがあることがわかります。

;; ANSWER SECTION:
foo.bar.com.             10800   IN      NS      ns1.foo.bar.com.

;; ADDITIONAL SECTION:
ns1.foo.bar.com.         7972    IN      A       10.10.10.10

www.foo.bar.comなどの再帰的リクエストを行う場合、DNSクライアントはfoo.bar.comゾーンの信頼できるDNSを要求し、ns1.foo.bar.comの回答を取得します。

さらに先に進むには、ns1.foo.bar.comに対するAリクエストを送信する必要があります。ループを解消するには、DNSサーバーを委任すると、この追加セクションがAレコードとともに追加されます。

サーバーns1.foo.bar.comは、そのゾーンに同じレコードを持つ必要があるため、foo.bar.comゾーンに対して権限を持つことができます。


あなたの接着剤の記録の説明を見るまで、鶏と卵の問題を回避するのに苦労していました!
ジョンスカルペテイグ

3

NSレコードは、特定のドメインを担当するNAMESERVERを定義するためにのみ存在します。

特定のマシンまたはサービスを「アドレス」するためのAレコードが存在します。

あなたのための例:

DNSコントロールパネルには、いくつかのNSレコードが表示されます。これらのレコードは、NAMESERVERS、またはドメインにあるものがどこにあるかをインターネットに伝える役割を持つプライマリマシンです。

NS1.CP.COM NS2.CP.COM

また、DNSパネルの内部には、ウェブサイトなどのサービスが必要な、所有するドメイン(つまり-mikesfunhouse.com)があります。

したがって、「mikesfunhouse.com」を「76.19.87.956」(明らかに偽のIP)に指定するプライマリAレコードを作成します。

次に、サブドメイン「www」をリダイレクトする別のレコード、wwwレコードを作成します。プライマリサイトに割り当てます。

つまり、Aレコードを使用して名前空間をIPアドレスに変換します。


1

ネームサーバーレコードは、どのDNSサーバーがAレコードを保持しているかをインターネットに伝えるため、サブドメインのAレコードを検索するには、おおよそ次のプロセスになります。

ドメインのネームサーバーを検索->サブドメインのAレコードのネームサーバーを照会


しかし、Aレコードが既に同じファイルにある場合、なぜNSレコードを指定する必要があるのですか?
ティド

1
探しているものがすべてです。NSレコードは出発点のようなものです。サーバーがドメインに一度もアクセスしたことがない場合、最初にNSサーバーがドメインに応答することがわかります。そのサーバーを特定した後、問題のドメインのAレコードを照会します。
JohnThePro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.