<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ルートサーバー | 徒然なるままに</title>
	<atom:link href="https://www.seichan.org/tag/%e3%83%ab%e3%83%bc%e3%83%88%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc/feed" rel="self" type="application/rss+xml" />
	<link>https://www.seichan.org</link>
	<description>徒然と日々の出来事(ネタ)を書いていこうかと．主に FreeBSD，Unix系の話題が中心ですが，その他の話題もあつかってみたり．</description>
	<lastBuildDate>Sat, 26 Sep 2026 11:12:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>
	<item>
		<title>【DNS入門 第2回】ドメイン名の階層と委任 ― ルート・TLD・ゾーン・グルーを理解する</title>
		<link>https://www.seichan.org/2026/09/dns-02-hierarchy-delegation.html</link>
					<comments>https://www.seichan.org/2026/09/dns-02-hierarchy-delegation.html#respond</comments>
		
		<dc:creator><![CDATA[seichan]]></dc:creator>
		<pubDate>Sat, 26 Sep 2026 21:00:00 +0000</pubDate>
				<category><![CDATA[DNS サーバー]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[ゾーン]]></category>
		<category><![CDATA[ドメイン名]]></category>
		<category><![CDATA[ルートサーバー]]></category>
		<category><![CDATA[委任]]></category>
		<guid isPermaLink="false">https://www.seichan.org/blog/?p=6580</guid>

					<description><![CDATA[DNSの名前の住所録は誰が管理しているのでしょうか。ドメイン名の木構造、ルートとTLD、13系統のルートサーバー、FQDNと末尾のドット、ドメインとゾーンの違い、委任（NS）とグルー、レジストリとレジストラ、社内用ドメイン名の選び方までを図で解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ドメインとゾーンって、何が違うんですか？」<br>「社内のADのドメイン名、<code>.local</code>でいいですよね？」</p>



<p class="wp-block-paragraph">どちらも、DNSを触り始めた人がほぼ必ず通る疑問です。そして後者は、<strong>後から変えるのが非常に難しい</strong>のに、最初に何となく決められてしまいがちな問題でもあります。</p>



<p class="wp-block-paragraph">前回（第1回）は、DNSの3つの登場人物と、キャッシュDNSがルートから順に「紹介」をたどって答えを見つける流れを見ました。第2回では、その紹介の仕組みである<strong>委任</strong>を中心に、<strong>名前の住所録は誰が管理しているのか</strong>を掘り下げます。</p>


<div class=".for-sp">
<div id="im-5078de7a65f140ac9d12a50b8ac9ee9c">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946055,type:"banner",display:"inline",elementid:"im-5078de7a65f140ac9d12a50b8ac9ee9c"})</script>
</div>
</div>

<div class=".for-pc">
<div id="im-f26ecc02e52b4d179cbcb96a73504ce9">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946054,type:"banner",display:"inline",elementid:"im-f26ecc02e52b4d179cbcb96a73504ce9"})</script>
</div>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ドメイン名の木構造</a></li><li><a href="#toc2" tabindex="0">ルートとTLD</a></li><li><a href="#toc3" tabindex="0">ルートサーバーは13台ではない</a></li><li><a href="#toc4" tabindex="0">FQDNと末尾のドット</a></li><li><a href="#toc5" tabindex="0">ドメインとゾーンの違い</a></li><li><a href="#toc6" tabindex="0">委任（NS）とグルー</a><ol><li><a href="#toc7" tabindex="0">グルーが必要な理由</a></li><li><a href="#toc8" tabindex="0">親と子のNSは一致させる</a></li></ol></li><li><a href="#toc9" tabindex="0">レジストリ・レジストラ・Whois／RDAP</a><ol><li><a href="#toc10" tabindex="0">WhoisからRDAPへ</a></li></ol></li><li><a href="#toc11" tabindex="0">内部用ドメイン名の選び方</a><ol><li><a href="#toc12" tabindex="0">.local はmDNS用に予約されている</a></li><li><a href="#toc13" tabindex="0">勝手な名前の問題はほかにもある</a></li><li><a href="#toc14" tabindex="0">候補の比較</a></li></ol></li><li><a href="#toc15" tabindex="0">国際化ドメイン名（Punycode）</a><ol><li><a href="#toc16" tabindex="0">ホモグラフ攻撃に注意</a></li></ol></li><li><a href="#toc17" tabindex="0">考えてみよう</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li><li><a href="#toc19" tabindex="0">連載「DNS入門」全12回</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ドメイン名の木構造</span></h2>



<p class="wp-block-paragraph">DNSの名前は、<strong>ルート（根）を頂点とする木構造（ツリー）</strong>になっています。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s014.png" alt="ルートの下にnet・org・com・jpがあり、jpの下にco.jpやexample.jp、その下にsales・mail・wwwが続く木構造と、www.example.jp.のラベルの対応を示す図"/></figure>



<p class="wp-block-paragraph"><code>www.example.jp</code>は、ドットで区切られた<code>www</code>、<code>example</code>、<code>jp</code>という3つの<strong>ラベル</strong>でできています。<strong>右から左へ読むと、木を根から枝先へたどれます</strong>。</p>



<ul class="wp-block-list">
<li>ルートの下に、<code>jp</code>や<code>com</code>などの<strong>トップレベルドメイン（TLD）</strong>がある</li>


<li>その下に、組織が登録した<code>example.jp</code>がある</li>


<li>さらにその下に、組織が自由に作る<code>sales.example.jp</code>や<code>www.example.jp</code>が続く</li>
</ul>



<p class="wp-block-paragraph">英語の住所と同じく、<strong>左が細かい単位、右が大きい単位</strong>です。同じ親の下で重複しなければよいので、<code>www</code>という名前は世界中の組織がそれぞれ使えます。</p>



<p class="wp-block-paragraph">名前の長さには制限があります。</p>



<ul class="wp-block-list">
<li>ラベル：<strong>63オクテット以内</strong></li>


<li>名前全体：<strong>255オクテット以内</strong>（テキストで書くと最大253文字）</li>
</ul>



<p class="wp-block-paragraph">使える文字は、ホスト名としては英数字とハイフンが基本です（日本語などの扱いは、この記事の後半で説明します）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">ルートとTLD</span></h2>



<p class="wp-block-paragraph">木の頂点にあるルートと、その直下のTLDを整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>種類</th><th>例</th><th>管理する組織</th><th>補足</th></tr></thead><tbody><tr><td>ルート</td><td>.（名前は空）</td><td>IANA（ICANNの関連組織PTIが運営）</td><td>すべての名前解決の出発点</td></tr><tr><td>gTLD（分野別）</td><td>.com、.net、.org</td><td>各レジストリ（.comはVerisign）</td><td>ICANNと契約。登録者の国は問わない</td></tr><tr><td>新gTLD</td><td>.app、.shop、.tokyo</td><td>各レジストリ</td><td>2012年の募集で1,200以上追加。2026年に2回目の募集</td></tr><tr><td>ccTLD（国・地域別）</td><td>.jp、.us、.uk</td><td>各国のレジストリ（.jpはJPRS）</td><td>2文字の国・地域コード。方針は各国ごと</td></tr><tr><td>IDN TLD</td><td>.中国、.рф</td><td>各レジストリ</td><td>母国語の文字のTLD</td></tr><tr><td>インフラ用</td><td>.arpa</td><td>IANA</td><td>逆引き（in-addr.arpa、ip6.arpa）やhome.arpa</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">2026年9月時点で、ルートゾーンには<strong>約1,440のTLD</strong>があります（IANAのTLD一覧）。新gTLDの2回目の募集は、2026年4月30日から8月12日まで受け付けられました。</p>



<p class="wp-block-paragraph">見慣れないTLDも実在しうる、というのがポイントです。社内で勝手なTLDを使うと、<strong>後から同名のTLDが登録されて衝突する</strong>恐れがあります（後半の「内部用ドメイン名の選び方」で詳しく扱います）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">ルートサーバーは13台ではない</span></h2>



<p class="wp-block-paragraph">ルートゾーンの情報を配るのが<strong>ルートサーバー</strong>です。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s016.png" alt="a〜mの13の名前それぞれが、エニーキャストにより世界中の約2,000拠点で同じアドレスを広告し、東京のキャッシュDNSは最寄りの拠点に届くことを示す図"/></figure>



<p class="wp-block-paragraph">ルートサーバーは<code>a.root-servers.net</code>から<code>m.root-servers.net</code>までの<strong>13の名前（13系統）</strong>で表され、<strong>12の組織</strong>が運用しています。13という数は、初期のDNSでルートサーバーの一覧が<strong>512バイトのUDPの応答1つに収まるように</strong>決められた名残です。</p>



<p class="wp-block-paragraph">ただし、<strong>実際のサーバーが13台しかないわけではありません</strong>。各系統は<strong>エニーキャスト</strong>という仕組みで同じIPアドレスを世界中の拠点から経路広告しており、問い合わせは経路上もっとも近い拠点に届きます。2026年9月時点で稼働中の拠点は<strong>約2,000</strong>あり、日本国内にもあります。1か所が攻撃や障害で止まっても、全体は止まりません。</p>



<p class="wp-block-paragraph">もう1つ大事なのは、<strong>ルートサーバーが返すのは、ほとんどが「そのTLDは誰々に聞いて」という紹介</strong>だということです。ルートサーバーがすべての名前を知っているわけではありません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>ポイント</strong><br>・ルートサーバーは13系統（a〜m）で、12の組織が運用する<br>・エニーキャストで約2,000拠点に分散し、近い拠点が応答する<br>・ルートが返すのは答えではなく、TLDのサーバーの紹介</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc4">FQDNと末尾のドット</span></h2>



<p class="wp-block-paragraph"><strong>FQDN（完全修飾ドメイン名）</strong>とは、ルートまでのラベルを省略せずに書いた名前です。正式には、ルートを表す<strong>末尾のドット</strong>を付けて<code>www.example.jp.</code>と書きます。</p>



<p class="wp-block-paragraph">普段は末尾のドットを省略しますが、DNSでは<strong>ドットの有無で意味が変わる</strong>場面があります。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s017.png" alt="ゾーンファイルでドットを付け忘れるとwww.example.jp.example.jp.になる例と、searchドメインが付加されて無駄な問い合わせが発生する例を示す図"/></figure>



<p class="wp-block-paragraph"><strong>1つ目はゾーンファイル</strong>です。BINDのゾーンファイルで<code>www.example.jp</code>とドットを付け忘れると、ゾーン名が補われて<code>www.example.jp.example.jp.</code>になってしまいます（第5回で詳しく扱います）。</p>



<p class="wp-block-paragraph"><strong>2つ目は問い合わせ</strong>です。OSやツールは、ドットで終わらない名前に<strong>searchドメイン（DNSサフィックス）</strong>を付けて試すことがあります。たとえばsearchドメインが<code>corp.example.jp</code>だと、<code>www.example.com</code>を引いたときに<code>www.example.com.corp.example.jp</code>のような<strong>余計な問い合わせ</strong>が発生します（第3回）。同名のレコードがあると、違う答えが返ることもあります。</p>



<p class="wp-block-paragraph"><strong>調査では末尾にドットを付ける</strong>習慣をつけましょう。末尾の「.」は「ここで終わり」の印で、何も補わせません。</p>


<div class=".for-sp">
<div id="im-c929b2770f964f7f88505b9ee7500db9">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946057,type:"banner",display:"inline",elementid:"im-c929b2770f964f7f88505b9ee7500db9"})</script>
</div>
</div>

<div class=".for-pc">
<div id="im-3b5a2348efcc4b7a9435e1334f6172f2">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946056,type:"banner",display:"inline",elementid:"im-3b5a2348efcc4b7a9435e1334f6172f2"})</script>
</div>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">ドメインとゾーンの違い</span></h2>



<p class="wp-block-paragraph">冒頭の疑問に答えます。</p>



<ul class="wp-block-list">
<li><strong>ドメイン</strong>：名前の木の一部分。ある名前と、その下のすべての名前を指す</li>


<li><strong>ゾーン</strong>：1組の権威DNSサーバーがまとめて管理する単位</li>
</ul>



<p class="wp-block-paragraph"><code>example.jp</code>ドメインには、<code>www.example.jp</code>も<code>pc01.sales.example.jp</code>も含まれます。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s018.png" alt="example.jpドメインの中で、salesより下を営業部のDNSサーバーに委任するとsales.example.jpが別ゾーンになることを示す図"/></figure>



<p class="wp-block-paragraph">ここで、<code>example.jp</code>の管理者が<code>sales.example.jp</code>を営業部のDNSサーバーに任せた（<strong>委任した</strong>）とします。すると、<code>example.jp</code>ゾーンには<code>sales</code>より下の名前は含まれず、<code>sales.example.jp</code>は<strong>別のゾーン</strong>になります。この境目を<strong>ゾーンカット</strong>と呼びます。</p>



<p class="wp-block-paragraph">会社にたとえると、ドメインは「全部署を含めた組織全体」、ゾーンは「台帳を管理する担当の範囲」です。<code>pc01</code>や<code>pc02</code>は<code>example.jp</code>ドメインの一員ですが、<code>example.jp</code>の台帳には載っていません。<code>example.jp</code>の台帳にあるのは、<strong>salesへの委任（NS）だけ</strong>です。</p>



<p class="wp-block-paragraph">委任をしなければ両者の範囲は一致するので、違いを意識しにくいのですが、<strong>委任や条件付きフォワーディングの設計には、この区別が欠かせません</strong>。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>ポイント</strong><br>・ドメインは名前の木の範囲、ゾーンは管理（台帳）の単位<br>・委任した部分は親のゾーンから外れ、別のゾーンになる<br>・委任しなければ、ドメインとゾーンの範囲は一致する</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc6">委任（NS）とグルー</span></h2>



<p class="wp-block-paragraph"><strong>委任</strong>とは、親のゾーンが「この名前より下は、このサーバーに聞いて」と、子のゾーンの権威DNSサーバーを示すことです。具体的には、<strong>親のゾーンに、子のゾーン名のNSレコードを置きます</strong>。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s019.png" alt="親ゾーンjpにexample.jpのNSとグルー（ns1のAレコード）があり、キャッシュDNSが紹介とグルーを受け取って192.0.2.53に直接聞く流れを示す図"/></figure>



<p class="wp-block-paragraph">jpゾーンには<code>example.jp</code>のNSとして<code>ns1.example.jp</code>などが登録されており、jpのサーバーはこれを「<strong>紹介（リファーラル）</strong>」として返します。</p>



<h3 class="wp-block-heading"><span id="toc7">グルーが必要な理由</span></h3>



<p class="wp-block-paragraph">ここで、<code>ns1.example.jp</code>が<code>example.jp</code>の<strong>中</strong>にあると困ったことが起きます。<code>ns1.example.jp</code>のアドレスを知るには<code>example.jp</code>に聞く必要があり、<code>example.jp</code>に聞くには<code>ns1.example.jp</code>のアドレスが必要…という<strong>堂々巡り</strong>です。</p>



<p class="wp-block-paragraph">そこで、親のゾーンにNSの名前のアドレス（A・AAAA）も置いて、紹介と一緒に返します。これを<strong>グルー（接着剤）</strong>と呼びます。RFC 9471（2023年）は、こうしたグルーを<strong>必ず応答に含め、入りきらなければTCビットを立てる</strong>よう求めています（TCビットは第4回）。</p>



<h3 class="wp-block-heading"><span id="toc8">親と子のNSは一致させる</span></h3>



<p class="wp-block-paragraph">図のとおり、NSレコードは親（jp）と子（example.jp）の<strong>両方</strong>にあります。<strong>親のNSは紹介のための写しで、正本は子のゾーンにあります</strong>。</p>



<p class="wp-block-paragraph">この2つが食い違うと、<strong>一部の問い合わせだけが失敗する</strong>という、非常に分かりにくい障害の原因になります（第7回）。権威DNSサーバーを入れ替えたときなどに、片方だけ直して起きがちです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>ポイント</strong><br>・委任は、親のゾーンに子のゾーンのNSレコードを置くこと<br>・NSの名前が子のゾーンの中にあるときは、親にアドレス（グルー）も置く<br>・親と子のNSの食い違いは、断続的な障害の原因になる</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc9">レジストリ・レジストラ・Whois／RDAP</span></h2>



<p class="wp-block-paragraph">では、親のゾーン（たとえばjp）にある自社のNSは、誰がどうやって登録しているのでしょうか。ドメイン名を取得するときの関係者を整理します。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s020.png" alt="ICANN、レジストリ（JPRS・Verisign）、レジストラ（指定事業者）、登録者の関係と、登録情報の照会手段がWhoisからRDAPへ移行したことを示す図"/></figure>



<ul class="wp-block-list">
<li><strong>レジストリ</strong>：TLDのゾーンと登録データベースを管理する組織。.jpはJPRS、.comはVerisign</li>


<li><strong>レジストラ</strong>：利用者から登録の申し込みを受けて、レジストリに取り次ぐ事業者。.jpでは「指定事業者」と呼ぶ</li>


<li><strong>登録者</strong>：レジストラと契約する（自社）</li>
</ul>



<p class="wp-block-paragraph">登録者は、権威DNSサーバーの情報（NS）も<strong>レジストラ経由</strong>で親のゾーンに登録します。つまり、<strong>親ゾーンのNSは自社のDNSではなく、レジストリの台帳にある</strong>のです。</p>



<p class="wp-block-paragraph">そのため、権威DNSサーバーを変えるときは、<strong>自分のゾーンだけでなく、レジストラの画面で親のNSも変える</strong>必要があります。ここを忘れると、せっかく新しいDNSサービスにゾーンを作っても、世界中のキャッシュDNSは古いサーバーに聞きに行き続けます。</p>


<div class=".for-sp">
<div id="im-e200ff972f7b43fe9c8c2a7b60698c08">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946060,type:"banner",display:"inline",elementid:"im-e200ff972f7b43fe9c8c2a7b60698c08"})</script>
</div>
</div>

<div class=".for-pc">
<div id="im-4f0e910e1dca4503a73e8d9a2678879f">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946059,type:"banner",display:"inline",elementid:"im-4f0e910e1dca4503a73e8d9a2678879f"})</script>
</div>
</div>



<h3 class="wp-block-heading"><span id="toc10">WhoisからRDAPへ</span></h3>



<p class="wp-block-paragraph">登録者や有効期限などの登録情報は、長く<strong>Whois</strong>（TCP/43）で公開されてきました。しかしgTLDでは、<strong>2025年1月28日にWhoisの提供義務がなくなり</strong>、HTTPSでJSONを返す<strong>RDAP</strong>が正式な手段になりました。ccTLDの扱いは各レジストリによります。</p>



<p class="wp-block-paragraph">なお、期限切れのドメインは第三者に取得される恐れがあり、<strong>更新の管理</strong>も重要です（第9回）。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>ポイント</strong><br>・レジストリはTLDを管理し、レジストラは登録を取り次ぐ<br>・権威DNSを変えるときは、レジストラ経由で親のNSも変える<br>・gTLDの登録情報の照会は、2025年1月にWhoisからRDAPへ移行</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc11">内部用ドメイン名の選び方</span></h2>



<p class="wp-block-paragraph">社内のActive Directoryなどに使うドメイン名は、<strong>後から変えるのが非常に難しく</strong>、最初の選び方が重要です。</p>



<p class="wp-block-paragraph">避けるべきなのは、<strong>登録していない勝手な名前</strong>です。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s021.png" alt="pc01.corp.localを引くとき、Windows PCは社内DNSにユニキャストで聞くが、MacやプリンターはLANへマルチキャスト（mDNS）で聞いて応答がないことを示す図"/></figure>



<h3 class="wp-block-heading"><span id="toc12">.local はmDNS用に予約されている</span></h3>



<p class="wp-block-paragraph">たとえば<code>.local</code>は、RFC 6762で<strong>マルチキャストDNS（mDNS）用に予約</strong>されています。macOSやLinux（Avahi）、プリンターなどは、<code>.local</code>で終わる名前を<strong>DNSサーバーに聞かず、LAN内のマルチキャスト（224.0.0.251:5353）で解決しようとします</strong>。</p>



<p class="wp-block-paragraph">その結果、図のように<strong>同じ名前でも、機器によって聞き方が違う</strong>状態になり、再現しにくい障害の原因になります。「Windowsからは引けるのに、Macからは引けない」という相談の裏に、<code>.local</code>が隠れていることは珍しくありません。</p>



<h3 class="wp-block-heading"><span id="toc13">勝手な名前の問題はほかにもある</span></h3>



<ul class="wp-block-list">
<li><strong>本物のTLDと衝突する</strong>：社内で使っていた名前が、後から本物のTLDとして登録されて衝突した例があります（2014年に委任された<code>.dev</code>など）</li>


<li><strong>公的な証明書が取れない</strong>：公的な認証局は、登録されていない内部の名前に対してサーバー証明書を発行しません</li>


<li><strong>Microsoftも推奨していない</strong>：MicrosoftはADのドメイン名に、登録済みのドメイン名またはそのサブドメインを使うよう勧めています</li>
</ul>



<p class="wp-block-paragraph">新しく決めるなら、<strong>自社ドメインのサブドメイン（corp.example.jp など）</strong>にしましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">候補の比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>候補</th><th>例</th><th>長所</th><th>短所・注意点</th></tr></thead><tbody><tr><td>自社ドメインのサブドメイン（推奨）</td><td>corp.example.jp</td><td>世界で一意。公的な証明書も取れる。Microsoftの推奨</td><td>親のexample.jpを保有し続ける必要がある</td></tr><tr><td>.internal（2024年にICANNが予約）</td><td>corp.internal</td><td>ルートに委任されず、公開のTLDと衝突しない</td><td>公的な証明書は取れない（社内CAが必要）。他社と統合すると重なりうる</td></tr><tr><td>home.arpa（RFC 8375）</td><td>printer.home.arpa</td><td>家庭内ネットワーク用に予約</td><td>家庭用ルーター向け。企業での利用は想定外</td></tr><tr><td>.local</td><td>corp.local</td><td>（既存の環境に多い）</td><td>mDNS用。新規では使わない</td></tr><tr><td>未登録の独自の名前</td><td>corp.lan、intra（1ラベル）</td><td>—</td><td>衝突の恐れ。1ラベルのADドメイン名は多くの問題がある</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">推奨は<strong>自社ドメインのサブドメイン</strong>です。外部に公開しない名前でも、親ドメインを保有していれば衝突せず、証明書も取れます。</p>



<p class="wp-block-paragraph">なお、AWSのEC2の内部名（<code>ec2.internal</code>など）のように、<code>.internal</code>は既にクラウドでも使われています。社内外で同じ名前に別の答えを返す構成（スプリットホライズン）は第7回、ADドメイン名の決め方は第12回の演習で扱います。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc15">国際化ドメイン名（Punycode）</span></h2>



<p class="wp-block-paragraph">最後に、日本語のドメイン名です。DNSのホスト名に使える文字は、もともと英数字とハイフンに限られます。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/dns02-s023.png" alt="ブラウザーが日本語.jpをxn--wgv71a119e.jpに変換して問い合わせることと、キリル文字を使ったホモグラフ攻撃の例を示す図"/></figure>



<p class="wp-block-paragraph">そこで「日本語.jp」のような<strong>国際化ドメイン名（IDN）</strong>は、DNSの中では<strong>Punycode（RFC 3492）</strong>という方式でASCII文字に変換し、先頭に<code>xn--</code>を付けた形で扱います。たとえば<code>日本語.jp</code>は<code>xn--wgv71a119e.jp</code>になります。</p>



<ul class="wp-block-list">
<li>変換は<strong>ブラウザーなどのアプリケーション</strong>が行う（IDNA2008、RFC 5890〜5893）</li>


<li>ゾーンには<strong>変換後の形</strong>で登録する</li>


<li>そのため、ゾーンファイルやdigの結果では<code>xn--</code>で始まる文字列として現れる</li>
</ul>



<p class="wp-block-paragraph"><strong>DNSの中はASCII（xn--）だけで、日本語は表示のための姿</strong>、と覚えておくとすっきりします。</p>



<h3 class="wp-block-heading"><span id="toc16">ホモグラフ攻撃に注意</span></h3>



<p class="wp-block-paragraph">注意したいのは、見た目のよく似た文字を使った<strong>偽のドメイン名（ホモグラフ攻撃）</strong>です。たとえばラテン文字の「a」とキリル文字の「а」は見分けがつきません。先頭だけキリル文字にした<code>аpple.com</code>は、DNSの中では<code>xn--pple-43d.com</code>という別の名前です。</p>



<p class="wp-block-paragraph">主要なブラウザーは、危険な文字の混在を見つけると<strong>Punycodeのまま表示する</strong>などの対策をしています。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc17">考えてみよう</span></h2>



<ol class="wp-block-list">
<li>自社ドメインのNSが、親（TLD）側と自社の権威DNS側で一致しているかを確かめるには、どこに何を問い合わせればよいでしょうか。</li>


<li>社内で使っているドメイン名は、どのパターン（自社のサブドメイン、.local、独自の名前など）ですか。社内のサーバー証明書はどう発行していますか。</li>


<li>自社ドメインの有効期限、更新の担当者、支払い方法を知っていますか。担当者が異動したらどうなりますか。</li>
</ol>



<p class="wp-block-paragraph"><strong>ヒント</strong>：この記事の「委任とグルー」「レジストラ」「内部用ドメイン名の比較」が手がかりです。親と子のNSは、dig（WindowsではResolve-DnsName -Type NS -Server）で両方に聞くと比べられます（第8回）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>



<ul class="wp-block-list">
<li>DNSの名前は<strong>ルートを頂点とする木構造</strong>。右から左へ読むと根から枝先へたどれる</li>


<li>ルートサーバーは<strong>13系統・約2,000拠点</strong>。ルートが返すのは答えではなく<strong>紹介</strong></li>


<li>調査では<strong>末尾にドット</strong>を付けて、searchドメインの付加を避ける</li>


<li><strong>ドメインは名前の範囲、ゾーンは管理の単位</strong>。委任した部分は別ゾーンになる</li>


<li>委任は<strong>親にNSを置くこと</strong>。必要ならグルーも置き、<strong>親と子のNSは一致</strong>させる</li>


<li>社内のドメイン名は<code>.local</code>ではなく<strong>自社ドメインのサブドメイン</strong>に</li>
</ul>



<p class="wp-block-paragraph">次回は、キャッシュDNSサーバーが実際にどう答えを探し、<strong>どれだけの間覚えておくのか</strong>（キャッシュとTTL）を扱います。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc19">連載「DNS入門」全12回</span></h2>



<ol class="wp-block-list">
<li><a href="https://www.seichan.org/2026/09/dns-01-overview.html" target="_blank">DNSとは？名前解決の全体像と3つの登場人物</a></li>


<li><strong>ドメイン名の階層と委任（この記事）</strong></li>


<li>名前解決の流れ</li>


<li>DNSメッセージとトランスポート</li>


<li>リソースレコード 前編</li>


<li>リソースレコード 後編</li>


<li>権威DNSサーバーの運用</li>


<li>コマンドで調べる</li>


<li>DNSのセキュリティ</li>


<li>クラウド・社内環境のDNS</li>


<li>DNSトラブルシュート</li>


<li>DNS設計演習</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://www.seichan.org/2026/09/dns-02-hierarchy-delegation.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
