.\" ++Copyright++ 1985 .\" - .\" Copyright (c) 1985 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" - .\" Portions Copyright (c) 1993 by Digital Equipment Corporation. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies, and that .\" the name of Digital Equipment Corporation not be used in advertising or .\" publicity pertaining to distribution of the document or software without .\" specific, written prior permission. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" - .\" --Copyright-- .\" .\" @(#)named.8 6.6 (Berkeley) 2/14/89 .\" jpman %Id: named.8,v 1.4 1997/11/11 13:59:51 horikawa Stab % .\" .TH NAMED 8 "June 20, 1995" .UC 4 .SH 名称 named \- インターネットドメインネームサーバ .SH 書式 .B named [ .B \-d .I debuglevel ] [ .B \-p .IR port# [\fB/\fP\fIlocalport#\fP] ] [{\-b} .I bootfile ] [ .B \-q ] [ .B \-r ] .SH 解説 .I Named はインターネットドメインネームサーバです。 インターネットドメインネームシステムの詳細な情報については RFC 1033, 1034, 1035 を参照してください。 パラメータがない場合は .I named はデフォルトのブートファイルである .IR /etc/named.boot の初期化データを読み込み、問い合わせに対し待機します。 .PP 指定できるオプションは以下の通りです。 .TP .B \-d デバッグ情報を出力します。 ``d''に続く数字には出力するメッセージのレベルを指定します。 .TP .B \-p 標準でないポート番号を指定します。 デフォルトは getservbyname(3) によって、 サービス ``domain'' に対して返される標準のポート番号となります。 このオプションでは2つのポートをスラッシュ(``\fB/\fP'')で続けて 指定することができます。 この場合は最初のポートがリモートサーバに接続する際に使用され、 後のポートはローカルで実行されている .IR named のサービスポートとなります。 これはおもにデバッグのために使用されます。 .TP .B \-b ブートファイルを指定します。 この指定はオプションであり、 ダッシュで始まるファイルを指定することが可能となります。 .TP .B \-q \fInamed\fP が \fIQRYLOG\fP を定義してコンパイルされている場合に、 全ての問い合わせのトレースを行ないます。 \fI注釈:\fP このオプションはブートファイル中の ``options query-log'' の指定と同等です。 .TP .B \-r 再帰的なネームサーバの問い合わせを抑止します。 問い合わせに対してはローカルゾーン(プライマリもしくはセカンダリ)からのみ 回答されます。 この指定はルートサーバにて使用することができます。 \fI注釈:\fP このオプションはブートファイル中の ``options no-recursion'' の指定と同等です。 .PP その他の引数はブートファイル名として扱われます。 複数のブートファイルが指定された場合は、最後の指定が有効となります。 .PP ブートファイルにはネームサーバが得るべき初期データの所在の情報が含まれます。 ブートファイル中の各行を次の行に引き続いて書くことはできません。 以下に簡単な例を示します。 .in +2m .nf ; ; boot file for name server ; directory /usr/local/adm/named .ta \w'check-names\ 'u +\w'6.32.128.IN-ADDR.ARPA\ 'u +\w'128.32.137.8 128.32.137.3\ 'u ; type domain source host/file backup file cache . root.cache primary Berkeley.EDU berkeley.edu.zone primary 32.128.IN-ADDR.ARPA ucbhosts.rev secondary CC.Berkeley.EDU 128.32.137.8 128.32.137.3 cc.zone.bak secondary 6.32.128.IN-ADDR.ARPA 128.32.137.8 128.32.137.3 cc.rev.bak primary 0.0.127.IN-ADDR.ARPA localhost.rev forwarders 10.0.0.78 10.2.0.78 limit transfers-in 10 limit datasize 64M limit files 256 options forward-only query-log fake-iquery check-names primary fail check-names secondary warn check-names response ignore .DT .fi .in ``directory'' 行はサーバのワーキングディレクトリを指定します。 この指定はプライマリゾーンファイル中にて \s-1$INCLUDE\s+1 が、 正しく機能する為に重要となります。 .LP ``cache'' 行は ``root.cache'' におけるデータがバックアップキャッシュに 置かれることを指定します。 これはおもにルートドメインサーバの位置のようなデータを指定するために 使われます。 このキャッシュは通常は使われませんが、現在のルートサーバをみつけるための 「ヒント」として使われます。 ``root.cache'' ファイルは ``berkeley.edu.zone'' と同じフォーマットです。 複数の ``cache'' ファイルを指定することもできます。 ``root.cache'' ファイルは \s-1FTP.RS.INTERNIC.NET\s+1 から 定期的に取得するべきです。 なぜならば、それにはルートサーバのリストが含まれており、 リストは定期的に変更されているためです。 .LP 例における最初の ``primary'' 行ではファイル ``berkeley.edu.zone'' が ``Berkeley.EDU'' ゾーンにおける信頼すべきデータを含んでいることを 宣言しています。 ``berkeley.edu.zone'' ファイルは RFC 883 に記述されている マスタファイルフォーマットのデータが含まれています。 全てのドメイン名は起点 (ここの例では ``Berkeley.EDU'') に対し 相対的に指定されます (詳細は後述)。 2番目の ``primary'' 行ではファイル ``ucbhosts.rev'' が ドメイン ``32.128.IN-ADDR.ARPA'' の信頼すべきデータを含んでいることを 宣言しています。 これはネットワーク 128.32 におけるアドレスをホスト名に変換するために 使われます。 それぞれのマスタファイルは そのゾーンの SOA レコードで始めなければなりません。(下記参照) .LP 例における最初の ``secondary'' 行では ``CC.Berkeley.EDU'' 以下の全ての信頼すべきデータは 128.32.137.8 にあるネームサーバから転送されることを指定しています。 データの転送に失敗したら 128.32.137.3 と、 この行で指定された他のアドレス (10 個まで) を順に試みます。 セカンダリコピーもここで指定されているドメインについての 信頼すべきデータとなります。 この行における最初の 4 つ組ドットアドレス表記でないものは、 転送されたゾーンのバックアップをとるファイル名として扱われます。 ネームサーバはこのバックアップファイルがブート時に存在すれば、 ゾーン情報を読み込み、マスタサーバに接続できない場合でも 完全なコピーとしてゾーン情報を供給します。 ドメインの新しいコピーがマスタサーバのいずれかから自動ゾーン転送されれば、 このファイルは更新されます。 ファイル名が指定されなければ、 一時ファイルが使用されゾーン転送が成功した後に削除されます。 これは不要なトラフィックを発生するため、おすすめできません。 2番目の ``secondary'' 行では、サブネット 128.32.136 におけるアドレスから ホスト名へのマッピングは、その前のゾーンと同じマスタサーバから得ることを 宣言しています。 .LP ``forwarders'' 行では、他のサーバからの再帰的な問い合わせを サイト単位で受け持つサーバのアドレスを指定しています。 ブートファイルに 1 つか複数のフォーワーダが指定してあると、 サーバはキャッシュに含まれていない全てのデータの問い合わせを 先ずフォーワーダに送ります。 応答が返ってくるか、 指定されている全てのフォーワーダに問い合わせが終るまで、 各々のフォーワーダに順に問い合わせます。 フォーワーダから応答が返って来ない場合、 サーバは、``forward-only'' モードでなければ、 forwarder 行が指定されていない場合と同様に処理を続けます。 この問い合わせの転送機能はマスタサーバにサイト単位の大きなキャッシュを 生成し、 外部のサーバとのリンクのためのトラフィックを軽減するのに役立ちます。 また、インターネットへの直接アクセスはできないが、 外部のアドレスを検索できるようなサーバを運用することが可能となります。 .LP ``slave'' 行は古いソフトウェアとの互換性のために設けられています。 これは ``options forward-only'' と同一です。 .LP ``sortlist'' 行は、他のネットワークより優先するネットワークを指定するのに 使われます。 サーバと同じネットワーク上のホストからのアドレスの問い合わせには、 先ずローカルネットワークアドレスにリストされているもの、 次にソートされたリストから、そして最後にその他のアドレスから応答が返されます。 .LP ``xfrnets'' の指定 (例では使われていない) は単純なアクセス制御を行なうために 使われます。 この指定があれば、ネームサーバは ``xfrnets'' にて指定されたネットワーク上の ホストからのゾーン情報の転送の要求にのみ応答を返します。 これは古い中間的なサーバとの互換性を取るために ``tcplist'' として 指定することもできます。 .LP ``include'' の指定 (例では使われていない) は、他のファイルの内容があたかも ``include'' の指定がある場所におかれているように扱うために使われます。 この指定はゾーンが多数あるか、ゾーンを論理的にグループ化し多数の人によって メンテナンスしている場合に有用です。 ``include'' の指定は引数をひとつ取り、そこでインクルードするファイル名を 指定します。 ファイル名の前後に引用符は必要ありません。 .LP ``bogusns'' の指定 (例では使われていない) は、 指定されているネームサーバアドレス (これはドメイン名ではなく 4 つ組ドット表記にて指定される) には問い合わせをしないことを \s-1BIND\s+1 に指示します。 この指定は、ある特定のサーバのゾーンやキャッシュのデータが不正であることが あらかじめ分かっていて、 問題が修正されるまでデータの汚染を防止したい場合に有用です。 .LP ``limit'' の指定は \s-1BIND\s+1 の内部の制限を変更する場合に使用します。 制限にはシステムによるもの (例えば \fBdatasize\fP) と \s-1BIND\s+1 自身によるもの (例えば \fBtransfers-in\fP) があります。 limit の名称に続く数字はその後に続く ``k'', ``m'', ``g'' のいずれかによって 各々キロバイト、メガバイト、ギガバイトの単位となります。 \fBdatasize\fP の引数はカーネルによって設定されるプロセスのデータサイズです。 \fI注釈:\fP これを実現する関数が提供されていないシステムもあります。 そのようなシステムで ``limit'' に \fBdatasize\fP のパラメータを使用すると 警告メッセージが出力されます。 \fBtransfers-in\fP の引数は \s-1BIND\s+1 が一度に生成する \fInamed-xfer\fP サブプロセスの数を指定します。 \fBtransfers-per-ns\fP の引数はいくつかのリモートネームサーバに対し、 同時にゾーン転送を開始する最大の数となります。 \fBfiles\fP の引数はプロセスが使えるファイル記述子の数を設定します。 \fI注釈:\fP これを実現する関数が提供されていないシステムもあります。 そのようなシステムで ``limit'' に \fBfiles\fP のパラメータを使用すると 警告メッセージが出力されます。 .LP ``options'' の指定は \s-1BIND\s+1 の動作を変更するブール値の設定を行ないます。 ひとつの指定中に複数のオプションを指定することが可能です。 現在定義されているオプションには次のものがあります。 \fBno-recursion\fP これは \s-1BIND\s+1 に対し、 信頼できない名前に対する問い合わせを受け取った場合に実際のデータではなく、 照会先を返すよう指示します。 そのサーバが他のホストの \fIresolv.conf\fP ファイル中に記述されている場合は、 このオプションは指定しないでください。 \fBno-fetch-glue\fP これは応答中の「付属データ(additional data)」セクションを 生成する時に、 \s-1BIND\s+1 が存在しないつなぎ (missing glue) をフェッチしないようにします。 これは、\fBno-recursion\fP と共に用いられ、 \s-1BIND\s+1 のキャッシュサイズが大きくなったり、壊れたりするのを防ぐのに 使われます。 \fBquery-log\fP 全ての問い合わせのログを syslog(8) 経由で採取します。 これを指定すると大量のデータを生成しますので、無闇には指定しないで下さい。 \fBforward-only\fP フォーワーダにのみ問い合わせます。 通常、この指定はサーバを運用したいが、 サーバが物理的もしくは管理上の理由によりインターネットに アクセスできない場合に使われます。 \fBfake-iquery\fP 「逆引き (inverse queries)」に対してエラーではなく、 にせの応答を返すことを \s-1BIND\s+1 に指示します。 これはクライアントにマイクロコンピュータやSunOSのホストが沢山ある場合に 役に立ちます。 .LP ``check-names'' では、 その引数として ``primary'', ``secondary'', ``response'' を指定することにより、 \s-1BIND\s+1 に対してそれぞれ、 プライマリゾーンファイル、 セカンダリゾーンファイル、 再帰問い合わせに対する応答 (例えば、ファイアウォール中から問い合わせ転送に対する応答) の中の名称をチェックすることを指示します。 また、それぞれ名称の各タイプについて、 ゾーン情報が読み込まれていなかったり、 応答がキャッシュや転送されない場合の \s-1BIND\s+1 の振舞を、 引数に ``fail'', ``warn'', ``ignore''を指定することによってそれぞれ、 失敗する、 システムのログにメッセージを残す、 不正な名称を無視し従来の方法で処理する、というように指定することができます。 名称は、それがホスト名の場合は RFC 952 に準拠していれば正しいものと判断され、 ホスト名以外の場合は表示可能な \s-1ASCII\s+1 文字でのみ構成されていれば 正しいものと判断されます。 .LP ``max-fetch'' の指定 (例では使われていない) は 古いソフトウェアとの互換性を取るためのもので、 ``limit transfers-in'' と同一です。 .PP マスタファイルは制御情報とゾーン中のオブジェクトの 資源レコードのリストからなり、次の形式を取ります。 .RS .nf $INCLUDE $ORIGIN .fi .RE ここで、 .I domain にはルートの場合は "." を、現在の起点の場合は "@" を、 それら以外では通常のドメイン名を指定します。 .I domain が ``.'' で終っていない通常のドメイン名である場合は、 現在の起点がドメインに追加されます。 ``.'' で終るドメイン名は変更されません。 .I opt_domain フィールドにはインクルードファイル中のデータの起点を定義します。 これはインクルードファイルの最初の行の前に $ORIGIN 宣言を置くことと等価です。 このフィールドはオプショナルです。 .I opt_domain や、インクルードファイル中の $ORIGIN 宣言は そのファイル自身の現在の起点を変更することはありません。 .I opt_ttl フィールドはオプションであり、 time-to-live フィールドを指定する整数値となります。 このデフォルト値はゼロであり、 そのゾーンの SOA レコードに指定された最小値を意味します。 .I opt_class フィールドはオブジェクトのアドレスの型を指定します。 現在はDARPAインターネットに接続するオブジェクトである .BR IN のみがサポートされています。 .I type フィールドには以下のトークンのうちひとつが含まれます。 括弧中におのおの .I resource_record_data フィールドに指定すべきデータを示しています。 .TP "\w'MINFO 'u" A ホストアドレス (4つ組ドット) .IP NS 信頼できるネームサーバ (ドメイン) .IP MX メールエクスチェンジャ (ドメイン) 優先順位 (0..32767) に引続き指定します。 優先順位は小さい値が優先順位の高いことを示します。 .IP CNAME 別名に対応した正式名 (ドメイン) .IP SOA オーソリティゾーンデータの開始を示します。 (ホストの属するドメイン、メンテナのドメインアドレス、 シリアル番号、その後にリフレッシュ、リトライ、有効期限、最小 TTL (RFC 883を参照) の各値を秒で指定したパラメータが続く)。 .IP NULL ヌルリソースレコード (形式やデータはありません) .IP RP いくつかのドメイン名の責任者 (メールアドレスか参照できるテキスト) .IP PTR ドメイン名のポインタ (ドメイン) .IP HINFO ホスト情報 (CPUタイプ、OSタイプ) .PP 通常は行末でリソースレコードは終了しますが、 左括弧と右括弧で囲まれた場合は複数行にまたがることが可能となります。 セミコロンから行末まではコメントとして扱われます。 .PP ここには示されていませんが、このほかのタイプのリソースレコードも存在します。 リソースレコードのすべてのタイプを知るには \s-1BIND\s+1 Operations Guide (``\s-1BOG\s+1'') を参照する必要があるでしょう。 新しい RFC にていくつかのリソースタイプが標準化されていますが、 このバージョンの \s-1BIND\s+1 ではまだ実装されていません。 .PP 各マスタゾーンファイルはそのゾーンの SOA レコードで始まらなければなりません。 以下に SOA レコードの例を示します。 .LP .nf @ IN SOA ucbvax.Berkeley.EDU. rwh.ucbvax.Berkeley.EDU. ( .ta \w'x\ IN\ SOA\ 'u +\w'1989020501\ 'u 1989020501 ; serial 10800 ; refresh 3600 ; retry 3600000 ; expire 86400 ) ; minimum .fi .LP SOA ではシリアル番号を指定します。 シリアル番号はマスタファイルを更新するたびに変更する必要があります。 シリアル番号 (serial) は少数点つきの数字を指定することもできますが、 整数への変換は乗算や加算ではなく文字列としてつなげて行っているため、 あまり賢い方法とはいえません。 年月日と 0〜99 のシリアル番号を使用することで、 このフィールドのサイズである符号なしの 32 ビット以内に収まります。 このやり方はグレゴリ暦の 4294 年には考え直す必要があることは確かですが、 それについては心配する必要はないでしょう。 セカンダリサーバは秒で指定されたリフレッシュ時間 (refresh) の間隔で シリアル番号をチェックします。 シリアル番号に変更があれば、新しいデータを読み込むために ゾーン情報が転送されます。 リフレッシュ時間が過ぎてもマスタサーバに接続できない場合は、 リトライ時間 (retry) の間隔でリフレッシュが試みられます。 期限切れ時間 (expire) が過ぎてマスタサーバに接続できない場合は、 セカンダリサーバはそのゾーンの全てのデータを破棄します。 最小値 (minimum) はファイル中の生存時間 (``\s-1TTL\s+1'') が 明示的に指定されていないレコードの生存時間となります。 .SH 注釈 ブートファイルでの ``domain'' と ``suffixes'' の指定は廃止され、 もっと便利なリゾルバベースの実装、すなわち部分的な形のドメイン名 (partially qualified domain names) の接尾辞に置き変えられました。 以前のメカニズムでは多くの状況下で失敗することがあり、 特にローカルネームサーバが完全な情報を持っていない場合に失敗しました。 .sp 以下に各シグナルを .IR kill (1) コマンドによってサーバに送った場合の効果を示します。 .IP SIGHUP サーバは named.boot を読み、データベースをロードし直します。 サーバがコンパイルオプションの FOCED_RELOAD を定義されて コンパイルされている場合は、 SIGHUPを送るとサーバは全てのセカンダリゾーンのシリアル番号もチェックします。 通常、シリアル番号は SOA 中に指定された間隔でのみチェックされます。 .IP SIGINT 現在のデータベースとキャッシュの内容を /var/tmp/named_dump.db にダンプします。 .IP SIGIOT サーバが -DSTATS 付きでコンパイルされていれば、 統計データを /var/tmp/named.stats にダンプします。 統計データはこのファイルの末尾に追加されます。 いくつかのシステムでは SIGIOT ではなく SIGABRT で統計データのダンプを行います。 .IP SIGSYS サーバがプロファイリング (サーバの fork, chdir と exit) を 有効にされてコンパイルされていれば、 プロファイリングデータを /var/tmp にダンプします。 .IP SIGTERM プライマリおよびセカンダリのデータベースファイルをダンプします。 サーバが動的更新を有効にしてコンパイルされていれば、 シャットダウン時に更新されたデータをセーブするために使用されます。 .IP SIGUSR1 デバッグ機能を有効にします。 SIGUSR1が送られるたびにデバッグレベルが上がります。 (SIGUSR1がない古いシステムではSIGEMTが使われます。) .IP SIGUSR2 デバッグ機能を完全に無効にします。 (SIGUSR2がない古いシステムではSIGFPEが使われます。) .IP SIGWINCH 全てのサーバに入力される問い合わせの syslog(8) による ログ採取の有無を切り替えます。 (ログ採取はサーバが QRYLOG オプションを指定されて コンパイルされている必要があります。) .SH 関連ファイル .nf .ta \w'/var/tmp/named_dump.db 'u /etc/named.boot ネームサーバの設定ブートファイル /etc/named.pid プロセス ID (旧システム) /var/run/named.pid プロセス ID (新システム) /var/tmp/named_dump.db ネームサーバデータベースのダンプ /var/tmp/named.run デバッグ出力 /var/tmp/named.stats ネームサーバの統計データ .fi .SH 関連項目 kill(1), gethostbyname(3), signal(2), resolver(3), resolver(5), hostname(7), RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC 1035, RFC 1123, \fIName Server Operations Guide for \s-1BIND\s+1\fR