web-dev-qa-db-ja.com

DNS $ Originドット

こんにちは、みなさん!

私はいくつかのBINDゾーンファイルを調べていて、良い答えが見つからないという奇妙なことに遭遇しました。これらのゾーンファイルのいくつかには、ドット(。)だけのOriginディレクティブがあります。変に見える、私は知っている。消毒されたディレクティブは次のとおりです。

$Origin .
$TTL 600    ; 10 minutes
example.com     IN SOA  ns1.example.com. support.example.com. (
                2016010101 ; serial
                28800      ; refresh (8 hours)
                120        ; retry (2 minutes)
                1209600    ; expire (2 weeks)
                86400      ; minimum (1 day)
                )

ファイルは問題なく動作しているようで、DNSStuffのオンラインテストに合格しています。私は計画しています

グルからの考えは?

見てくれてありがとう!

G

3
Gregg Hughes

http://www.zytrax.com/books/dns/ch8/Origin.html

$Originは、ゾーンファイルの処理時に「修飾されていない」名前(終了ドットがないもの)の置換が行われるベース名を定義します。

ドットのみに設定した場合.これは、ドットのみが追加/置換されることを意味します。それで全部です。

通常、次のようになります。

$Origin example.com.
@  IN NS    ns1.example.com
@  IN NS    ns2.example.com.
@  IN MX  5 mail

なぜなら、 @ シンボルは、ゾーンファイル内の$ Originの短縮形です。

example.com.  IN  NS   ns1.example.com.example.com.
example.com.  IN  NS   ns2.example.com.
example.com.  IN  MX 5 mail.example.com. 

最初の行は、$ Originが末尾のないFQDNであることが意図されていたものに追加されたときに、このような置換の結果として生じる典型的な誤ったレコードを示しています。 .

$ Originをドットに設定すると、@省略形の使用は実用的ではありませんが、先頭のような事故を防ぐことができます。

$Origin .
example.com   IN  NS  ns1.example.com.
example.com.  IN  NS  ns2.example.com

それをオートコンプリート/修正します

example.com.  IN  NS  ns1.example.com.
example.com.  IN  NS  ns2.example.com.

そしてではなく

example.com.example.com.  IN  NS  ns1.example.com.
example.com.              IN  NS  ns2.example.com.example.com. 

これは、$ Originがexample.com.ドメイン。

5
HBruijn