ネットワークで静的DNS-SDサービスをセットアップする方法を検討しているときに、http://www.dns-sd.org/ServerStaticSetup.htmlに遭遇しました。これは、Active DirectoryのDNSサーバーがスペースを含むDNS名をサポートしていないことを示していますそれらの中で。
これがまだ真実であるかどうかは誰かが知っていますか?
更新:A / CNAMEレコードではなく、主にPTRおよびSRVレコードを参照しています。
ネットワークで静的DNS-SDサービスをセットアップする方法を検討しているときに、http://www.dns-sd.org/ServerStaticSetup.htmlに遭遇しました。これは、Active DirectoryのDNSサーバーがスペースを含むDNS名をサポートしていないことを示していますそれらの中で。
これがまだ真実であるかどうかは誰かが知っていますか?
更新:A / CNAMEレコードではなく、主にPTRおよびSRVレコードを参照しています。
回答:
ドメイン名は、 255までの範囲0内の任意のバイナリオクテットを含めることができます。
ただし、ADエントリがホスト名を表す場合、スペースは有効な文字ではありません。ホスト名(A
またはまたはAAAA
レコードを指すドメイン名)は、RFC 1123の規則に従う必要があります。これは、基本的に有効な文字をLDH(「文字ハイフン」)に制限します。
したがって、他のエントリについては、MSがRFCを誤って解釈した可能性があります。彼らは最初ではなく、確かに最後ではありません。
参考文献
RFC 1035の §5.1 :
引用規則により、任意の文字をドメイン名に格納できます。
および§6.1.3.5。RFC 1123:
DNSは非常に一般的にドメイン名構文を定義します-ドットで区切られた、それぞれ最大63個の8ビットオクテットを含むラベルの文字列
およびRFC 2181の §11 :
リソースレコードのラベルとして使用できるバイナリ文字列
ああ-スニッピーで申し訳ありませんが、あなたはここに犬を振っています。ADがスペースを含むDNS名をサポートしていないことではありませんが、定義およびRFCごとのDNS名にスペースを開始することは許可されていません。RFC 952と1123はどちらも、DNS名の一部としてスペースを許可していません。
したがって、ADはショートネームとしてDNS名のスペースのサポートを欠いていませんが、他の人と同じルールに従うためです。
SRV
レコードで使用されるアンダースコアの接頭辞付きの名前。RFC 1123の§6.1.3.5と私のプロフィールも参照してください。
特定の質問に対する答えは「いいえ」です。ActiveDirectoryでは、DNS ホスト名にスペースを使用できません。禁止されている文字は、KB 909264-Active Directoryのコンピューター、ドメイン、サイト、およびOUの命名規則で、「許可されていない文字」というセクションに明確に記載されています。
DNSホスト名に空白またはスペース文字を含めることはできません。
答えをActive Directoryを超えてDNSドメインネームシステムに拡張することは、一般的に状況に少し注意が必要です。なぜなら、特定の状況では技術的にスペースが許可されていますが、実際にはおそらくこのようなケースに遭遇することはないからです。
短い答え:DNSホスト名にスペースを使用しないでください!
RFC 3696の§2、ドメイン(DNS)名の制限に関する長い回答は次のとおりです。
DNS名では、任意の文字、またはビットの組み合わせ(オクテットとして)を使用できます。
それは述べています(私の強調):
ただし、ほとんどのアプリケーションで必要な推奨フォームがあります。この優先形式は、トップレベルドメインまたはTLDの名前で許可されている唯一の形式です。一般に、これはTLDに登録されているほとんどの第2レベルの名前で許可されている唯一の形式で もありますが、ユーザーが通常表示しない名前は他の規則に従います。これは、ホストの命名に関する元のARPANETルール(つまり、「ホスト名」ルール)から派生したものであり、許可する文字の後には「LDHルール」としてより適切に説明されています。更新されたLDHルールは、ドメイン名を構成するラベル(ピリオドで区切られた単語または文字列)は、ASCII [ASCII]の英字と数字、およびハイフンのみで構成する必要があります。他の記号や句読文字、および空白スペースは許可されていません。 ハイフンが使用されている場合、ラベルの先頭または末尾に表示することはできません。トップレベルのドメイン名がすべて数値ではないことを本質的に要求する追加のルールがあります。
実際には、これはスペースを使用してはならないことを意味します。ただし、RFC 1035の§5.1からのこれらの抜粋で定義されているドメイン名の最も一般的な仕様では、ドメイン名にスペースを使用できます。
<domain-name>は、マスターファイルのデータの大部分を占めます。ドメイン名のラベルは、文字列として表され、ドットで区切られます。引用規則により、任意の文字をドメイン名に格納できます。
そして
<文字列>は、1つまたは2つの方法で表現されます。内部にスペースがない連続した文字のセットとして、または "で始まり"で終わる文字列として。"で区切られた文字列内では、\(バックスラッシュ)を使用して引用する必要がある"自体を除いて、任意の文字を使用できます。
RFC 1035の他の場所、特に§2.3では、次のように警告していることに注意してください。
2.3。規約
ドメインシステムには、低レベルではあるが基本的な問題を扱ういくつかの規則があります。 実装者は自分のシステム内でこれらの規則に自由に違反できますが、他のホストから観察されるすべての動作でこれらの規則を遵守する必要があります。
2.3.1。優先名の構文
DNS仕様は、ドメイン名を構築するためのルールでできるだけ一般的になるように試みています。アイデアは、既存のオブジェクトの名前は最小限の変更でドメイン名として表現できるということです。
ただし、オブジェクトにドメイン名を割り当てる場合、慎重なユーザーは、ドメインシステムのルールとオブジェクトの既存のルールの両方を満たす名前を選択します。これらのルールは、既存のプログラムによって公開されているか、暗黙的に含まれているかにかかわらずです。
たとえば、メールドメインに名前を付ける場合、ユーザーはこのメモのルールとRFC-822のルールの両方を満たす必要があります。新しいホスト名を作成するときは、HOSTS.TXTの古い規則に従う必要があります。これにより、古いソフトウェアがドメイン名を使用するように変換されるときの問題が回避されます。
私の解釈のさらなる明確化または訂正を歓迎しますが、この解釈を肯定または否定するためにRFCの特定のセクションを引用できる場合を除き、そうしないでください。