このページではLinuxサーバーで運用するDNSサーバーBIND(〜9.3.x)/namedブートファイルであるnamed.confについて初心者向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
自宅内DNSサーバーの構築

DNSサーバーの構築

hostsファイルの設定

BINDについて(〜9.3.x)

BINDについて(9.7.x〜)

named.confの設定(〜9.3.x)

named.confの設定(9.7.x〜)

ゾーンファイルの書式

ゾーンファイルの省略方法

既存のゾーンファイル(〜9.3.x)

既存のゾーンファイル(9.7.x〜)

正引きゾーンファイルの作成

逆引きゾーンファイルの作成

設定ファイルの書式チェック

namedの起動とコントロール

namedの動作確認

ルーターとホストの設定

DNSSECについて


"/etc/named.conf"BIND(〜9.3.x)の編集

まず、 サブネット 内の適当な クライアント機 から SSHクライアント 構築中のLinuxサーバー ログイン します SSHクライアントでサーバーに接続する(WBEL3) SSHクライアントでサーバーに接続する(CentOS3) SSHクライアントでサーバーに接続する(WBEL4) SSHクライアントでサーバーに接続する(CentOS4) SSHクライアントでサーバーに接続する(CentOS5)

それから su コマンド ユーザーアカウント "root" に変更し、 cp コマンドでバックアップを作成した後、 nano エディタで "/etc/named.conf" を開きます nanoエディタでファイルを開く

ただしファイルの位置がOSの種類で異なりますので、それぞれで少し作業方法が異なります。

WBEL3及びCentOS3の場合は、

[tanaka@web1 tanaka]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 root]# cp /etc/named.conf /etc/named.conf.orgEnter
[root@web1 root]# nano /etc/named.confEnter

となります。

一方のWBEL4及びCentOS4、CentOS5の場合は以下のように操作します。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# cp /var/named/chroot/etc/named.conf /var/named/chroot/
etc/named.conf.org
Enter
[root@web1 ~]# nano /etc/named.confEnter


nanoで/etc/named.confを開く
nanoで"/etc/named.conf"を開く
WBEL4及びCentOS4、CentOS5のブートファイルの場所は "/var/named/chroot/
etc/named.conf"
ですが、その シンボリックリンク "/etc/named.conf" からも普通に開いて保存することが出来ます。
以降、煩雑にならないように、WBEL4及びCentOS4、CentOS5のブートファイルを指す場合も支障がない限りは "/etc/named.conf" で説明します。

さて、 "/etc/named.conf/" は、次のセクションで説明するゾーンファイルを含めて、 named が動作中でも自由に書き換えることができます。

ただし、 WBEL CentOS サーバー アプリケーション は通常、設定ファイルを保存しただけでは設定は反映されません。もちろんnamedもその例外ではありません。

サーバーアプリケーションの設定ファイルは、通常サーバーアプリケーションの起動時に参照されて読み込まれますから、設定ファイルの保存後にサーバーアプリケーションの再起動を行うか、設定ファイルの再読み込みのコマンドを実行しなければ、設定ファイルの修正は有効になりませんので注意してください。

namedの再起動、設定ファイルの再読み込みについては nemedのコントロールについて で説明します。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このページの先頭へ↑

LAN専用としての"/etc/named.conf"

まずは、 WBEL CentOS デフォルト で準備されている BIND のブートファイルである "/etc/named.conf" をご覧ください。

以下の設定ファイル例には、ホームページ上で見やすくするために "/etc/named.conf" では使用できない文字コードが含まれていますので、実際の設定ファイルにコピー&ペーストはできません。コピペ用のテキストファイルは named.confのテンプレートファイル です。
//
// named.conf for Red Hat caching-nameserver
//

options {
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    /*
     * If there is a firewall between you and nameservers you want
     * to talk to, you might need to uncomment the query-source
     * directive below. Previous versions of BIND always asked
     * questions using port 53, but BIND 8.1 uses an unprivileged
     * port by default.
     */
     // query-source address * port 53;
};        1.ゾーンファイルのディレクトリなどの指定

//
// a caching only nameserver config
//
controls {
    inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};        2.rndcによるコントロールの設定

zone "." IN {
    type hint;
    file "named.ca";
};        3.ルートサーバーのためのゾーンファイル設定

zone "localdomain" IN {
    type master;
    file "localdomain.zone";
    allow-update { none; };
};        4'.ローカルホスト(DNS名)の正引きゾーンファイル設定

zone "localhost" IN {
    type master;
    file "localhost.zone";
    allow-update { none; };
};        4.ローカルホスト(一般名)の正引きゾーンファイル設定

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "named.local";
    allow-update { none; };
};        5.ループバックアドレスの逆引きゾーンファイル設定

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
    type master;
    file "named.ip6.local";
    allow-update { none; };
};        6.IPv6用ループバックアドレスの逆引きゾーンファイル設定

zone "255.in-addr.arpa" IN {
    type master;
    file "named.broadcast";
    allow-update { none; };
};        7.誤った逆引きに対処するゾーンファイル設定

zone "0.in-addr.arpa" IN {
    type master;
    file "named.zero";
    allow-update { none; };
};        7'.誤った逆引きに対処するゾーンファイル設定

include "/etc/rndc.key";        8.rndc用暗号化キーの所在の指定

この記述の中には、あってもなくても構わないものもありますが、邪魔な設定や修正が必要な部分というのはありません。

そしてこの記述に次の記述を追加すれば "/etc/named.conf" の設定は基本的に終了です。

この二種類の"zone"命令は、順序としてはオリジナルの "/etc/named.conf" 5. 6. の間に入るべき設定です。
従って以後はその順序で説明します。
zone "obenri.com" IN {
    type master;
    file "obenri.com.zone";
    allow-update { none; };
};        A."obenri.com"に対する正引きゾーンファイル設定

zone "100.168.192.in-addr.arpa" IN {
    type master;
    file "100.168.192.in-addr.arpa.zone";
    allow-update { none; };
};        B.サブネットのIPアドレスに対する逆引きゾーンファイル設定

もしも複数の ドメイン名 を取得していてそれも併用したい場合には、正引きの記述だけを追加します。

zone "obenri.com" IN {
    type master;
    file "obenri.com.zone";
    allow-update { none; };
};        A."obenri.com"に対する正引きゾーンファイル設定

zone "ugegege.com" IN {
    type master;
    file "ugegege.com.zone";
    allow-update { none; };
};        A’."ugegege.com"に対する正引きゾーンファイル設定

zone "100.168.192.in-addr.arpa" IN {
    type master;
    file "100.168.192.in-addr.arpa.zone";
    allow-update { none; };
};        B.サブネットのIPアドレスに対する逆引きゾーンファイル設定

BINDは本来、 WAN 空間で多くの クライアント から利用されることが第一の目的である サーバー アプリケーション です。

従って、ありとあらゆるケースに柔軟に対処できるように、namedの設定ファイルは、

「設定が変更される可能性がほとんどゼロに近いところまで、設定の変更が可能になっている。」

という作りになっているために、一見すると大量の設定項目があるように思えてしまうわけです。

いきなりわけの解らない呪文のような設定ファイルを見せられて面食らっているかもしれませんが、そういう訳ですからあまり「ビビる」必要はありません。

更に今回は、その「高度な機能を持つアプリケーション」を、個人用途の LAN で利用するだけですから、

1.スレーブサーバー スレーブDNSサーバーの説明 を設置せず、マスターサーバーのみで運用するため、マスターサーバーとスレーブサーバーのやりとりに関する設定が不要。

2.自分の管理下にある クライアント機 のみでの利用であるため、 DNSキャッシュ の保持時間を考える必要がない。

3.LAN内でのみの使用なので、 セキュリティ に注意を払う必要がない。

という具合に、本当に難しい部分には全くといっていいほど手を加える必要はありません。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このページの先頭へ↑

"/etc/named.conf"の文法と書式

基本的な文法は次のとおりです。

[主命令文] [キーワード] {
    [補助命令文1];
    [補助命令文2];
    ....;
};

命令文の終わりには必ず ";" を付ける必要があります。

また、 "//" から行末までと、 "/*" から "*/" はコメント行とみなされ、設定には反映されませんのでメモなどで利用することができます。

更にスペースとタブは、連続している場合は一つのスペースとみなされますので、設定内容を見やすくするためのインデントとして利用できます。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このページの先頭へ↑

"/etc/named.conf"のパートごとの説明

1.基本的な動作設定を行う"options"命令

主命令文のキーワード "options" には、 named の全体的な仕組みの基本となる諸々の定義と設定を行います。

"options"には、namedの様々な運用形態や運用規模に対応できるように、非常に多くの補助命令が用意されています。

しかし今回のような極めて小規模なケースで必ず記述しなければならないのは、 ゾーンファイルを格納するディレクトリ名の定義 だけです。

従ってこの"options"パートは最低限の記述として、

options {
    directory "/var/named";
};

だけでもOKです。

もしもこの補助命令 "directory" の定義を行わないとすると、以下に記述する主命令文のキーワード "zone" の記述で、参照するゾーンファイル名を 絶対パス 名で記述しなければならなくなります。

zone "." IN {
    type hint;
    file "named.ca"; directory "/var/named"; の定義がある場合
};

zone "." IN {
    type hint;
    file "/var/named/named.ca"; directory "/var/named"; の定義がない場合
};

ゾーンファイルが一つだけならばここを絶対パス名で記述してしても大して手間は変わりませんが、今回は少なくとも9種類のゾーンファイルが必要ですので"options"にディレクトリ名を定義し、以後の記述を 相対パス 名で簡略化できるようにしておきましょう。

さて、オリジナルの"options"からコメントの部分を除くと次のようになります。

options {
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
};
rndc コマンドについては、2.と8.及び namedの実行を制御する にも説明があります。

補助命令である "dump-file" "statistics-file" は、namedをコントロールする アプリケーション である rndc コマンド での出力結果を保存するパスとファイル名の指定です。

具体的には、 "dump-file" DNSキャッシュ の内容、 "statistics-file" はnamedが 名前解決 を行った回数の統計データです。

そういう特殊なコマンドを使用することはないかもしれませんが、削除してしまうこともありませんから記述はそのまま残しておきましょう。

その他に、"options"に記述する補助命令としては、 DNSサーバー の応答を早くするための フォワーダー の利用をお勧めします。

namedは特に設定を行わなければ、 クライアント からの 名前解決 要求に対して、自分自身が名前解決情報を持っていない場合にはまず ルートサーバー に問い合わせを行います ルートサーバーへの問い合わせの流れ

名前解決の流れとしては、これが最もシンプルで間違いのない方法なのですが、普段から世界中の問い合わせを受け付けているルートサーバーは、接続がスムーズに行かないことあり、名前解決に時間を要してしまうことが珍しくありません。

デフォルトでのnamedの問い合わせの流れ
デフォルトでのnamedの問い合わせの流れ

そこで、新たな名前解決をいちいちルートサーバーに問い合わせるのではなく、

「普段から多くの名前解決をこなしていて、大量のDNSキャッシュを持っている信頼性の高いDNSサーバー」

に対して優先的に名前解決情報をもらいに行けば、実用上は何の問題もなく、スムーズな名前解決が行われることになります。

これが フォワーダー と呼ばれるものです。

フォワーダーを利用したnamedの問い合わせの流れ
フォワーダーを利用したnamedの問い合わせの流れ

フォワーダーを設定するには"/etc/named.conf"の"options"命令の中に、次のように記述します。

options {
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    forwarders {
        210.19x.160.138;  ISPのDNSサーバーのIPアドレス1
        210.19x.160.139;  ISPのDNSサーバーのIPアドレス2
        };
};

この設定により、

1. まず自分自身で権威をもって名前解決を担う ドメイン名 "obenri.com" 由来の FQDN の名前解決を行う。

2.それ以外の名前解決情報を外部のDNSサーバー "210.19x.160.138" に問い合わせる。

3. "210.19x.160.138" が応答できないときは、 "210.19x.160.139" に問い合わせる。

4. "210.19x.160.138" "210.19x.160.139" も応答できないときは、ルートサーバーに問い合わせを行う。

という優先順位で、効率よく名前解決を行うことができるようになります。

フォワーダーに指定するDNSサーバーとしては、 WAN 空間に設置されている応答可能なDNSサーバーであれば何でもかまいません。もちろん、いくつ書き並べてもかまいませんが、余程具合の悪いDNSサーバーを指定しない限り、三つもあれば充分でしょう。

自宅から接続するときのISP側のルーターと、そのISPが所有するDNSサーバーが収容されているサブネットは、高速に接続できる環境になっているはず、というのがその根拠です。

ただし、一般的には、回線を契約している ISP の所有しているDNSサーバーが最も応答が良いので、 WBEL3のインストールでのDNSサーバーの指定 CentOS3のインストールでのDNSサーバーの指定 WBEL4のインストールでのDNSサーバーの指定 CentOS4のインストールでのDNSサーバーの指定 CentOS5のインストールでのDNSサーバーの指定 で指定しているものを利用するのが最も効率の良い選択だと思われますし、普通ISPは二つのDNSサーバーしか案内していないはずですから、それだけ記述しておけば充分でしょう。

2.rndcによるコントロールの設定

rndc は、 named の動作を制御するとても強力な アプリケーション です。

主命令"controls"は、そのrndcの実行を制御するためのものです。

controls {
    inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

記述内容の意味としては、

IPアドレス "127.0.0.1(つまり 構築中のLinuxサーバー )で動作するnamedに対しては、"localhost(つまり 構築中のLinuxサーバー 自身)"からの制御を有効にし、制御するためには"rndckey"という暗号化キーを必要とする。」

ということになります。

この記述を適当に変更すれば、外部の ホスト機 から極めて安全にBINDを制御することができるようになります。

ただ現在構築しているのは、 セキュリティ 的に何ら配慮の必要のない LAN 内部の DNSサーバー ですから、頻繁に状況をチェックしたり、設定を変えたりすることはないでしょう。

また、 SSHクライアント からリモートで ログイン してしまえば、この設定のままでrndcを使用できますし、極端にいえばrndcを直接使わなくとも シェル スクリプト "/etc/init.d/named" で間接的にBINDをコントロールすることができます。

つまり SSH 構築中のLinuxサーバー に直接ログインできる環境であれば、この"controls"命令の内容を変更することはあまり意味を持ちません。

この記述はそのままにしておいていいでしょう。

3.ルートサーバーのためのゾーンファイル設定

対応するゾーンファイルの記述は 3.named.ca〜ルートサーバーの設定へ です。

named が参照する ルートサーバー の所在地情報を記述したゾーンファイルを指定します。

ゾーンファイルの指定は主命令 "zone" です。

zone "." IN {
    type hint;
    file "named.ca";
};

この記述で、"zone"の次の""の中は、通常 ドメイン名 が記述され、そのドメイン名に関する 名前解決 のゾーンファイルを指し示すためのキーワードになりますが、ここでは「ルートサーバーに関する記述です」という意味を表す ".(ドット)" が入ります。

次の "IN" は、以後に続く「 "{}" 内の記述を補助命令として扱う」、という意味の「決まり文句」です。

次の "type" は動作タイプの指定のための補助命令です。スペースの後のパラメータで動作タイプを指定しますが、一般的には、

なぜルートサーバーへの問い合わせパラメータが "hint" なのでしょうか。
勝手な想像ですが、ルートサーバーから返ってくる答えは、実際には名前解決の情報そのものではなく、 「その名前解決は何処其処の何某が知ってるよ」 という 「名前解決のヒント」 だけ、だからじゃないかな?と思っています。

"hint" ...ルートサーバーへの問い合わせとして動作。

"master" ...マスターDNSサーバーとして動作。

"slave" ...スレーブDNSサーバーとして動作。

のいずれかになります。ここでは当然 "hint" となります。

次の "file" は、ルートサーバーの所在地などが記述してあるゾーンファイルの名前を指定する補助命令です。

スペースに続いてファイル名を "" の中に記述します。

そのファイルの場所が、前の"options"命令で指定されたディレクトリ内であれば、このように パス 名は省略できます。

つまりこの場合、 "/var/named/named.ca" というファイルを指し示していることになります。

4.ローカルホスト(一般名)の正引きゾーンファイル設定

対応するゾーンファイルの記述は 4.localhost.zone〜ローカルホストの設定へ です。

問い合わせを行ってきた ホスト機 に、

「あなた自身を示す普遍的な ホスト名 である"localhost"に対する IPアドレス は、 ループバックアドレス である"127.0.0.1"ですよ。」

と教えてあげる、とてもおせっかいなゾーンファイルの指定です。

普通こういった「あたりまえすぎる」 名前解決 は、 クライアント機 hostsファイル クライアント機のhostsファイルについて に記述されているはずですので、ここで指定するゾーンファイルが実際に外部から参照されることはまずないでしょう。

このゾーンファイルは現実には、 構築中のLinuxサーバー が、何らかの事情で自分自身のhostsファイルを参照できなくなったときのための予備として存在すると思っていいでしょう。

hostsファイルの内容を勝手に書き換える アプリケーション が存在する以上 hostsを書き換えるアプリケーションについて 、この設定をはずす訳にはいかないでしょうね。精神的に。

とはいえ、クライアント機のhostsファイルの"localhost"に関する記述が 「何故か参照されなくなってしまった。」 ときのためにも、保険としてとりあえず有効にしておきましょう。

zone "localhost" IN {
    type master;
    file "localhost.zone";
    allow-update { none; };
};

"zone"に対する ドメイン名 の記述については、ドメイン名ではありませんが普遍的な「自分自身」を示すローカルなホスト名である "localhost" となります。

また、今回はスレーブサーバーを設置しませんので、 ルートサーバー に対する問い合わせの"zone"を除いて、"zone"の動作タイプはすべて "master" となります。

対象となるゾーンファイルは "/var/named/localhost.zone" です。

"allow-update" という補助命令は、この named 自身を ダイナミックDNS サーバー として利用するような場合、 nsupdate コマンドなどで外部からゾーンファイルの内容を書き換える必要があるときに、その書き換えを許可する IPアドレス などを記述するものです。

今回はもちろんそういう用途には使いませんから、この補助命令は明示的に

"allow-update { none; }"

と記述します。以後の"zone"命令も同様の指定を行います。

4'.ローカルホスト(DNS名)の正引きゾーンファイル設定

対応するゾーンファイルの記述は 4'.localdomain.zone〜ローカルホスト(DNS名)の設定へ です。

問い合わせを行ってきた ホスト機 に、

「あなた自身を示す DNS 名としての ホスト名 である"localhost.localdomain"に対する IPアドレス は、 ループバックアドレス である"127.0.0.1"ですよ。」

と教えてあげる、更におせっかいなゾーンファイルの指定です。

前に説明した "localhost" は、例えば WindowsOS NetBIOS over TCP/IP MacintoshOS のAppleTalk over TCP/IP 違うアーキテクチャのプロトコルの例 、そして UNIX OS NFS など、異なる アーキテクチャ プロトコル で普遍的に使用される 「自分の名前」 です hostsファイルのローカルホストに関する設定(WBEL3) hostsファイルのローカルホストに関する設定(CentOS3) hostsファイルのローカルホストに関する設定(WBEL4) hostsファイルのローカルホストに関する設定(CentOS4) hostsファイルのローカルホストに関する設定(CentOS5)

ただ、インターネット空間で使用される ホスト名 FQDN は、構造的に"名前"の部分と"TLD"の部分を ".(ドット)" で区切った形になっています ドメインの構造の説明

つまり、この ".(ドット)"で区切る形 である DNS名 でしか所在地情報を扱わない サーバー アプリケーション では、どうしても ".(ドット)" で区切られた形での 「自分の名前」 が必要になることがあります。

この "localhost.localdomain" も、ちゃんと "/etc/hosts" に記述されています WBEL3のhostsファイルの設定 CentOS3のhostsファイルの設定 WBEL4のhostsファイルの設定 CentOS4のhostsファイルの設定 CentOS5のhostsファイルの設定

そこで約束事として、 "localhost.localdomain" という「自分自身を示す仮のDNS名」を設定する必要があるわけです。

この4'はそのための正引きゾーンファイルの指定です。

zone "localdomain" IN {
    type master;
    file "localdomain.zone";
    allow-update { none; };
};

"zone"に対する ドメイン名 の記述については、登録されたドメイン名ではありませんが "localhost.localdomain" ".(ドット)" 以降をドメイン名とみなすことができますから、 "localdomain" となります。

補助命令についてはそれぞれ、

動作タイプ..."master"

ゾーンファイルのファイル名..."/var/named/localdomain.zone"

アップデートの可否..."none"

となります。

5.ループバックアドレスの逆引きゾーンファイル設定

対応するゾーンファイルの記述は 5.named.local〜ループバックアドレスの逆引きゾーンファイルの設定へ です。

問い合わせを行ってきた ホスト機 に、

「あなた自身を示す普遍的な ループバックアドレス "127.0.0.1"に対する ホスト名 は"localhost"ですよ。」

と教えてあげる、とても親切なゾーンファイルの指定です。

WindowsOS などで用いる クライアント 用途のホスト機にとっては、こういった「自分自身の ループバックアドレスに対する逆引きの 名前解決 」は、動作に必須ではありません。基本的には4.の「正引き」だけで充分です。

ただ、現在構築中の named サブネット 内の他の クライアント機 だけではなく、多数の サーバー アプリケーション を稼動させる 構築中のLinuxサーバー 自身も利用しますから、この設定をはずす訳にはいきません。

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "named.local";
    allow-update { none; };
};
CIDR CIDRについての説明 の場合の逆引きの記述はどうなるの?、という疑問がわくかもしれませんが、普通は自宅の LAN でCIDRはしませんから、考える必要はありません。
ちなみに、 ISP からCIDRで固定の IPアドレス を割り当ててもらっていて、 WAN 空間で使用するDNSサーバーを設置する場合、逆引きに関するnamedの設定はISPによって書式が異なるのが普通です。

"zone"に対する ドメイン名 の記述が、 "0.0.127.in-addr.arpa" という呪文のようなものになっていますが、これにはきちんとした「逆引き用の」記述ルールがあります。解りにくいかもしれませんので、下に図解してみました。

逆引きの場合のzoneのキーワードの付け方1
逆引きの場合の"zone"のキーワードの付け方1

つまり、

「逆引きの対象となるサブネットの、 ネットワーク部 を、右側の オクテット から順番に"."で区切って並べ、末尾に ".in-addr.arpa"を付ける。」

という形になります。

しかし、「あれっ、ループバックアドレスは "127.0.0.0/8" でしょ?。だったら "127.in-addr.arpa" が正しいのでは?。」

と思われるかもしれません。

ここで思い出して欲しいのは、 「"127.0.0.0/8"はループバックアドレスの予約範囲であって、通常は"127.0.0.1"しか使われない。」 ということです。

つまり、ループバックアドレスに対する逆引きの名前解決については、 "127.0.0.1" に対してのみ行うことができればよい訳ですから、この"zone"では "0.0.127.in-addr.arpa" と指定しておいて、最後のオクテットが "1" の場合の名前解決をゾーンファイルに記述すれば実用上は何の問題もないという訳です。

補助命令についてはそれぞれ、

動作タイプ..."master"

ゾーンファイルのファイル名..."/var/named/named.local"

アップデートの可否..."none"

となります。

A."obenri.com"に対する正引きゾーンファイル設定

A.とB.は、追加記述する必要のあるパートです。必要に応じてA’.も追加記述します。

この named を構築する第一の目的である "obenri.com" に対するの正引き用ゾーンファイルの指定です。

これは次のように記述して設定を追加します。

対応するゾーンファイルの記述は ゾーンファイルobenri.com.zoneの記述へ です。
zone "obenri.com" IN {
    type master;
    file "obenri.com.zone";
    allow-update { none; };
};

細かい説明はもう不要かもしれませんが、"zone"に対するキーワードは、対象となる ドメイン名 "obenri.com" をそのまま記述します。

また、補助命令についてはそれぞれ、

動作タイプ..."master"

ゾーンファイルのファイル名..."/var/named/obenri.com.zone"

アップデートの可否..."none"

となります。

ファイル名には特に決まりがあるわけではなく、実際に使用するゾーンファイルの名前になっていればOKですので、 "ドメイン名.zone" にこだわる必要は特にありません。

A’."ugegege.com"に対する正引きゾーンファイル設定

複数の ドメイン名 について設定を行う場合に記述します。

zone "ugegege.com" IN {
    type master;
    file "ugegege.com.zone";
    allow-update { none; };
};

記述方法はA.と同じですので説明は割愛します。

B.サブネットのIPアドレスに対する逆引きゾーンファイル設定

LAN で使用する プライベートIPアドレス に対する逆引き用ゾーンファイルの指定です。

これは次のように記述して設定を追加します。

対応するゾーンファイルの記述は ゾーンファイル100.168.192.in-addr.arpa.zoneの記述へ です。
zone "100.168.192.in-addr.arpa" IN {
    type master;
    file "100.168.192.in-addr.arpa.zone";
    allow-update { none; };
};

説明が重複しますが、"zone"命令に対するキーワード "100.168.192.in-addr.arpa.zone" は、次のようにして決められたものです。

逆引きの場合のzoneのキーワードの付け方2
逆引きの場合の"zone"のキーワードの付け方2

補助命令は、

動作タイプ..."master"

ゾーンファイルのファイル名..."/var/named/100.168.192.in-addr.arpa.zone"

アップデートの可否..."none"

となります。

6.IPv6用ループバックアドレスの逆引きゾーンファイル設定

対応するゾーンファイルの記述は 6.named.ip6.local〜IPv6用ループバックアドレスの逆引きゾーンファイルの設定へ です。

IPv6 IPv6の説明 は、現在のところまだ一般的ではありませんし、この コンテンツ ではまだ取り扱う予定はありません。

しかし、"localhost"に対する正引きと、 ループバックアドレス に対する逆引きの設定だけはあっても邪魔にはならないでしょう。そのまま残しておきましょう。

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
    type master;
    file "named.ip6.local";
    allow-update { none; };
};

補助命令については説明の必要はないと思いますので割愛します。

7.7'.誤った逆引きに対処するゾーンファイル設定

対応するゾーンファイルの記述は 7.7'.named.local〜誤った逆引きに対処するゾーンファイルの設定へ です。

IPアドレス "0.0.0.0" は、すべてのIPアドレスの先頭ですから、 ネットワークアドレス 以外ではあり得ません。

同様に、IPアドレス "255.255.255.255" は、すべてのIPアドレスの末尾ですから、 ブロードキャストアドレス 以外ではあり得ません。

また、ネットワークアドレスとブロードキャストアドレスには特定の ノード を割り当てることはできませんから、 ホスト名に逆引きすることはできません

ところが、もしもある クライアント が、これらのIPアドレスに対する逆引きの 名前解決 を要求してきたとしたら、 named 「自分では名前解決できない」 と判断し、上位の DNSサーバー ルートサーバー に問い合わせてしまうことになります。

もちろん、これらのIPアドレスはどんなに優秀なDNSサーバーでも名前解決はできませんから、いずれは「名前解決不可能」となって処理されます。

しかし、名前解決が不可能であることが最初から解っているIPアドレスについて、馬鹿正直にせっせと外部に問い合わせを行わせるのは、通信資源の浪費といわざるを得ません。

以下の二つのパートは、そういった 「無駄な問い合わせ」 に対してnamedが自分自身でエラー処理し、外部への問い合わせを発生させないようにする"zone"の設定となります。

zone "255.in-addr.arpa" IN {
    type master;
    file "named.broadcast";
    allow-update { none; };
};

zone "0.in-addr.arpa" IN {
    type master;
    file "named.zero";
    allow-update { none; };
};

補助命令については説明の必要はないと思いますので割愛します。

8.rndc用暗号化キーの所在の指定

上記の1.2.で説明した、 rndc コマンド を、 セキュリティ をもって実行するための暗号化キーの場所を示します。主命令は "include" です。

/etc/rndc.key は、暗号化された文字列が書かれた テキスト ファイルです。内容は cat コマンド で見ることができます。
include "/etc/rndc.key";

ここで指定されている "/etc/rndc.key" は、 WBEL CentOS では最初から準備されていますので、直ぐに利用することができます。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このページの先頭へ↑

"/etc/named.conf"の例

以上の内容で作成した "/etc/named.conf" は、こちらをクリックすると表示できます。

この テキスト ファイルには余分な文字は入っていませんから、開いてコピー&ペーストで使用するか、 ダウンロード して使用してください。

DNSサーバーの構築に、
とても役に立った一冊です

もちろん、書き換えが必要な部分は適宜書き換えてください。

記述が終わったら "/etc/named.conf" を保存し、nanoエディタを終了してください nanoエディタでファイルを閉じる

"/etc/named.conf" の編集が終わっても、ゾーンファイルの準備ができるまでは、 named の起動や再起動はできませんので注意してください。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。