ゾーンファイルの書き方について教えてください 佐藤 新太(JPRS) |
ゾーンファイルとは、あるゾーンに関する情報がすべて記載されたファイルで、そのドメインの管理者によって作成されます。このファイルの内容は、プライマリとなるコンテンツサーバによって読み込まれ、必要に応じて、セカンダリのネームサーバに転送されます。
ゾーンファイルの中身は、リソースレコードの集合です。ヘッダに当たる部分と、それ以外のリソースレコード群で構成されます。
まずヘッダには、そのゾーン自体の情報を記載します。ここには、SOAレコードから始まり、そのゾーンのオーソリティを持つネームサーバと、その他追加情報が入ります。
続いて、ゾーンに属するドメイン名のリソースレコードが必要なだけ記載されます。また、このゾーンからさらに委任しているサブドメインに関する情報も記載されます。
これらの情報はすべてゾーン内のリソースレコードとして、1行に1つずつ書きます。それぞれの行は以下の構成を取ります。
|
||||||||||
例1 リソースレコードの行に含まれる情報 |
この中で、「クラス」にはいくつかの種類が存在しますが、「IN」(Internet) 以外を利用することはまずありません。また、リソースデータはタイプの違いにより複数の値が必要な場合があります。例えば「SOA」なら7つの値が、「MX」ならば2つの値が必要になります。
以下にBINDによるゾーンファイルの書き方を具体的に説明します。BIND以外の実装のネームサーバの場合は、ゾーンに含まれるデータは同じでもゾーンファイルの書き方は異なるものとなりますので、注意してください。
example.jp のゾーンファイルを例2に示します。example.jp.で始まる行がヘッダに当たる部分で、それに続いてns1.example.jp.等のexample.jpドメインに属する情報が記載されています。
この例ではリソースレコードが省略なくすべて記載されています。実際に管理者が作成するゾーンファイルではもっと省略された書き方をします。
example.jp. 3600 IN SOA ns1.example.jp. ( |
例2 example.jpのゾーンファイル (1) |
ゾーンファイルの省略記法としてはまず、ラベルやTTLの省略があります。
A)前行と同じラベルで始まる行は、ラベルを省略できる。
B)デフォルトTTLと同じTTLは省略できる。デフォルトTTLは$TTLで始まる行で指定する。
これを使うと、上のゾーンファイルは次のように書き直せます。
$TTL 3600 ; Default TTL
example.jp. IN SOA ns1.example.jp. ( |
例3 example.jp のゾーンファイル (2) |
次に、ドメイン名の省略です。
C)ORIGINと同じドメイン名は省略できる。ORIGINの値は$ORIGINで始まる行で指定する。
明示的にORIGINを指定しない場合、そのゾーンファイルのドメイン名自体が暗に指定されます。
|
つまり、ドメイン名の最後に「.」を付けるとFQDNとして解釈され、「.」を付けずに書くとORIGINの内容が末尾に付くことになります。
「.」の付け忘れはゾーンファイルを書くときによく発生してしまうミスの1つです。例えば example.jpのネームサーバとしてns1.example.jpを指定しようと、次のように記載すると、
example.jp. 3600 IN NS ns1.example.jp |
ns1.example.jpは「.」がないので FQDNではないと解釈されるため、BINDは次のように解釈します(ORIGIN がexample.jpの場合) 。
example.jp. 3600 IN NS ns1.example.jp.example.jp |
このようなミスがあると、lame状態 (*1) を作り出してしまうこともあり、注意が必要です。(*1「『ゾーンがlame」ってどういう意味?』参照)
このドメイン名の省略を適用すると、次のように書き換えることができます。
$TTL 3600 ; Default TTL |
例4 example.jp のゾーンファイル (3) |
ゾーンファイルとして実際に管理者が作成するのは、上記のような内容になります。
ここで説明した省略記法以外にも、$GENERATE等のいくつかの省略記法がありますので、興味がある人はBINDのマニュアルを読んでみるとよいでしょう。
関連記事 | ゾーンがlame」ってどういう意味? |
DNS Tips Index |
「Master of IP Network総合インデックス」 |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
|
|