web-dev-qa-db-ja.com

サブドメインのサブドメイン?どうして可能ですか?

サブドメインのサブドメインを見ました:meta.unix.stackexchange.com
どのように可能ですか?

ホスティング/ dnsプロバイダーでは、サブドメインのみを構成でき、サブドメインのサブドメインは構成できません。つまり、subdomain.example.comなどです。

ドメイン名または無料のno-ip.orgサブドメインを購入した場合:example.no-ip.orgは、このスキームの例に従ってUbuntuでbind9で設定できます:subsubdomain.example.no-ip.org

4
DiogoSaraiva

unix.stackexchange.com自体が可能になるのとまったく同じ方法で可能です。 DNSは特定の階層を課しません「サブドメイン-ドメイン-トップレベル」のように、必要な数のラベルを追加し、任意のレベルで委任を追加できます。

(たとえば、「www.theregister.co.uk」を使用します。「theregister.co.uk」はドメインですか、それともサブドメインですか?両方です。

つまり、管理者はDNS管理ソフトウェアに「meta.unix.stackexchange.com」を追加しただけです。

  • たとえば、BINDゾーンファイルでは、次のようになります。

    ...
    unix.stackexchange.com.      A 198.252.206.140
    meta.unix.stackexchange.com. A 198.252.206.140
    ...
    

    (これにより、すべてのレベルが機能的に同等であることがわかります。)

  • またはこのように:

    $Origin stackexchange.com.
    ...
    unix      A 198.252.206.140
    meta.unix A 198.252.206.140
    ...
    

したがって、DNSコントロールパネルでサブドメイン名として「meta.unix」を入力できる可能性もあります。そうでない場合、それは完全に人工的な制限です。DNS自体は合計127の「レベル」を許可します(各ラベルは最大63バイト) 、253バイトまでの完全な名前)。

たとえば、共有IPからサブドメインを自由に作成する代わりに、No-IPにはマーケティング/ビジネス上の理由で実際のdomainを購入するための制限がありますもの。)


同様の理由で、No-IPサブドメインではなく、購入したドメインでのみbind9(またはnsd、djbdns ...)を使用できます。

  • 技術的には、No-IPcouldはサブドメインを独自のbind9サーバーに委任します。これは、A/AAAA /を追加するようにNSタイプのレコードを追加するのと同じくらい簡単です。 CNAMEのもの:

    foobar.no-ip.org.  NS ns1.fakeisp.com.
    foobar.no-ip.org.  NS ns2.fakeisp.com.
    

    (注意:はい、NSレコードは名前のみを受け入れ、IPアドレスは受け入れません。このため、独自のDNSサーバーでドメインをセルフホストする場合、「グルーレコード」が必要になります。

    quux.no-ip.org.    NS ns.quux.no-ip.org.
    ns.quux.no-ip.org. A  172.16.42.42
    

    しかし、それは別の投稿のトピックです。)

  • しかし、実際には、ビジネス上の理由で、彼らはしません-結局、彼らはdoドメイン名を販売します。

6
grawity

サブドメインのサブドメインを見ました:meta.unix.stackexchange.com

通常、完全修飾ドメイン名(FQDN)には多数の要素を含めることができます。 DNSプロトコルとほとんどの(おそらくすべての)DNSサーバー実装により、サブドメインを任意の深さに委任できます。 FQDNの長さが255文字のハード制限に達するまで、私は思う。各要素は63文字以下でなければなりません。

たとえば、DNSを使用すると、風変わりな管理者が作成できます

www.tablet-layout.windows.95.us.deleted.meta.unix.stackexchange.com

そして、まだ中間レベルの「A」レコードがあります。

それはどのように可能ですか?

企業DNSサービスのトップレベルを実行したときにサブドメインを作成する方法は、サブドメインを他のサーバーに委任することでした。これはBINDを使用していました。

ノード名にドットを使用するなんて夢にも思わなかったでしょう。

The following syntax will result in fewer problems with many applications 
that use domain names (e.g., mail, TELNET).

<domain> ::= <subdomain> | " "

<subdomain> ::= <label> | <subdomain> "." <label>

<label> ::= <letter> [ [ <ldh-str> ] <let-Dig> ]

<ldh-str> ::= <let-Dig-hyp> | <let-Dig-hyp> <ldh-str>

<let-Dig-hyp> ::= <let-Dig> | "-"

<let-Dig> ::= <letter> | <digit>

<letter> ::= any one of the 52 alphabetic characters A through Z 
             in upper case and a through z in lower case

<digit> ::= any one of the ten digits 0 through 9

これは、ラベルにドットを提供しないことに注意してください。これをサポートするソフトウェアは、おそらく内部でサブドメインを効果的に作成しています。


  1. ドメイン名スペースとリソースレコード

3.1。名前空間の仕様と用語

ドメインネームスペースはツリー構造です。ツリー上の各ノードとリーフは、リソースセット(空の場合もあります)に対応しています。 ドメインシステムは、内部ノードとリーフの使用を区別せず、このメモでは「ノード」という用語を使用して両方を指します。

各ノードには、長さが0〜63オクテットのラベルがあります。兄弟ノードは同じラベルを持たない場合がありますが、兄弟ではないノードには同じラベルを使用できます。 1つのラベルが予約されており、これはルートに使用されるヌル(つまり、長さゼロ)ラベルです。

見る

3
RedGrittyBrick