NAMED(8)

名称
named - インターネットドメインネームサーバ (DNS)

書式
NAMED [-d debuglevel] [-p port#] [- ( b|c) config_file] [-f -q -r] [-u user_name] [-g group_name] [-t directory] [-w directory] [config_file]

解説
named はインターネットドメインネームサーバです。 インターネットドメインネームシステムの詳細な情報については RFC 1033, 1034, 1035 を参照してください。 パラメータがない場合は named はデフォルトの設定ファイルである /etc/namedb/named.conf の初期化データを読み込み、問い合わせに対し待機します。 コマンド行の最後に与えられた config_file 引き数は “-b” または “-c” フラグを使用して指定された config_file を無効にします。

注釈: named のいくつかのオプションと多くの動作は、設定ファイルの中で 制御できます。更なる情報はこの BIND 配布物に含まれる設定ファイルガイドを参照してください。

指定できるオプションは以下の通りです。

-d debuglevel
    デバッグ情報を出力します。 debuglevel は表示するメッセージのレベルを決定する数字です。もし負の値の場合、 debuglevel は “1” に設定されます。

    注釈: 新しいデバッグの枠組は古いバージョンの NAMED よりもかなり洗練されています。 設定ファイルの “logging” 宣言は(問い合わせや内/外への転送などの)多くの種類にわたるイベント それぞれに対して、複数の別々なデバッグレベルを設定することができます。 これらの広範囲にわたる新しい機能に関する更なる情報は、この BIND 配布物に含まれる設定ファイルガイドを参照してください。

-p port#
    指定されたリモートポート番号を使用します。このポート番号は NAMED が問い合わせを送る番号です。デフォルトの値は標準のポート番号、つまり getservbyname(3) が “domain” に対して返すポート番号です。

    注釈: 以前は、 “-p port#[/localport#]” という文法が使用でき、1 つ目のポートが remote サーバへの接続に使用され、2 つ目のポートが NAMED の local サーバに対するポート番号として使用されました。 現在の使用法は古い使用法から localport# の指定を除いたものと同等です。この機能は 設定ファイルの “options” 宣言にある “listen-on” 節で指定できます。

- ( b|c) config_file 代わりの config_file を使用します。 この引き数はコマンド行の最後に指定された config_file によって上書きされます。 デフォルトの値は /etc/namedb/named.conf です。

-f  このプロセスを表で動かし、 fork(2) やデーモン化をしません(デフォルトではデーモン化をします)。

-q  NAMED が QRYLOG を定義してコンパイルされている場合に、 すべての問い合わせのトレースを行ないます。

    注釈: 設定ファイルの “logging” 宣言で “queries” logging category する方が賛成され、このオプションは反対されています。 更なる情報は、この BIND 配布物に含まれる設定ファイルガイドを参照してください。

-r  再帰的なネームサーバの問い合わせを抑止します。 問い合わせに対してはローカルゾーン(プライマリもしくはセカンダリ)からのみ 回答されます。 この指定はルートサーバにて使用することができます。 デフォルトでは再帰的な問い合わせを行ないます。

    注釈: このオプションは設定ファイルの “options” 宣言の “recursion” 節によって上書きされ、またそちらのほうが推奨されています。

-u user_name
    ユーザを指定すると、初期化後のサーバがこのユーザで動作します。 値はユーザ名または数字のユーザ ID どちらでも構いません。 “-g” フラグが指定されていなかった場合、 指定されたユーザのプライマリグループがグループ ID として使用されます (initgroups() が呼ばれるため、ユーザの所属するすべてのグループがサーバに 渡されます)。

-g group_name
    グループを指定すると、初期化後のサーバがこのグループで動作します。 値はグループ名または数字のグループ ID どちらでも構いません。

-t directory
    サーバがコマンド行引き数を処理したらすぐに chroot() するべき ディレクトリを指定します。

-w directory
    サーバの作業ディレクトリを設定します。設定ファイルの “options” 宣言の “directory” 節はコマンド行で指定したあらゆる値を上書きします。 デフォルトの作業ディレクトリはカレンドディレクトリ (“”). です。

それ以外の引き数は上で述べたとおり、 古い実装との互換性のために、設定ファイルの名前として扱われます。この引き数は “-b” または “-c” フラグを使用して指定される config_file を無効にします。 特に引き数が与えられなければ、デフォルトの設定ファイルが使用されます (/etc/namedb/named.conf) 。

  マスタファイル形式
マスタファイルは制御情報とゾーン中のオブジェクトの 資源レコードのリストからなり、次の形式を取ります。

    $INCLUDE <filename> <opt_domain>
    $ORIGIN <domain>
    <domain> <opt_ttl> <opt_class> <type> <resource_record_data>

ここで、

domain
    ルートの場合は “”. を、現在の起点の場合は “@” を、それら以外では通常のドメイン名を指定します。 domain が “”. で終って いない 通常のドメイン名である場合は、 現在の起点がドメインに追加されます。 ドメイン名が “”. で終っている場合は変更されません。

opt_domain
    このフィールドにはインクルードファイル中のデータの起点を定義します。 これはインクルードファイルの最初の行の前に $ORIGIN 宣言を置くことと等価です。 このフィールドはオプショナルです。 opt_domain フィールドやインクルードファイル中の $ORIGIN 宣言はそのファイル自身の現在の起点を変更することはありません。

opt_ttl
    このフィールドはオプションであり、 time-to-live を整数値で指定します。 このデフォルト値は 0 であり、 そのゾーンの SOA レコードに指定された最小値を意味します。

opt_class
    オブジェクトのアドレスの型を指定します。 現在はDARPAインターネットに接続するオブジェクトである IN のみがサポートされています。

type
    このフィールドには以下のトークンのうちひとつが含まれます。 括弧中におのおの resource_record_data フィールドに指定すべきデータを示しています。

    A   ホストアドレス (4つ組ドット IP アドレス)

    NS  権威があるネームサーバ (ドメイン)

    MX  メールエクスチェンジャ (ドメイン) 優先順位 (0..32767) に引続き指定します。 優先順位は小さい値が優先順位の高いことを示します。

    CNAME
        別名に対応した正式名 (ドメイン)

    SOA オーソリティゾーンデータの開始を示します。 (ホストの属するドメイン、メンテナのドメインアドレス、 シリアル番号、その後にリフレッシュ、リトライ、有効期限、最小 TTL (RFC 883を参照) の各値を秒で指定したパラメータが続く)。

    NULL
        ヌルリソースレコード (形式やデータはありません)

    RP  いくつかのドメイン名の責任者 (メールアドレスか参照できるテキスト)

    PTR ドメイン名のポインタ (ドメイン)

    HINFO
        ホスト情報 (CPUタイプ、OSタイプ)

通常は行末でリソースレコードは終了しますが、 左括弧と右括弧で囲まれた場合は複数行にまたがることが可能となります。 セミコロンから行末まではコメントとして扱われます。

注釈: ここには示されていませんが、このほかのタイプのリソースレコードも存在します。 リソースレコードのすべてのタイプを知るには BIND Operations Guide (“BOG”) を参照する必要があるでしょう。 新しい RFC にていくつかのリソースタイプが標準化されていますが、 このバージョンの BIND ではまだ実装されていません。

  SOA レコード形式
各マスタゾーンファイルはそのゾーンの SOA レコードで始まらなければなりません。 以下に SOA レコードの例を示します。

    @	IN	SOA	ucbvax.Berkeley.EDU. rwh.ucbvax.Berkeley.EDU. (
    				1989020501	; serial
    				10800	; refresh
    				3600	; retry
    				3600000	; expire
    				86400 )	; minimum

SOA ではシリアル番号 (serial) を指定します。 シリアル番号はマスタファイルを更新するたびに変更する必要があります。 シリアル番号は小数点つきの数字を指定することもできますが、 整数への変換は乗算や加算ではなく文字列としてつなげて行っているため、 あまり 賢い方法とはいえません。 年月日と 0〜99 のシリアル番号を使用することで、 このフィールドのサイズである符号なしの 32 ビット以内に収まります。 (このやり方は 4294 年には考え直す必要があることは確かですが、 それについては心配する必要はないでしょう)。

セカンダリサーバは秒で指定されたリフレッシュ時間 (refresh) の間隔で シリアル番号をチェックします。 シリアル番号に変更があれば、新しいデータを読み込むために ゾーン情報が転送されます。 リフレッシュ時間が過ぎてもマスタサーバに接続できない場合は、 リトライ時間 (retry) の間隔でリフレッシュが試みられます。 期限切れ時間 (expire) が過ぎてマスタサーバに接続できない場合は、 セカンダリサーバはそのゾーンのすべてのデータを破棄します。 最小値 (minimum) はファイル中の生存時間 (“TTL”) が明示的に指定されていないレコードの生存時間となります。

注釈
ブートファイルでの “domain” と “suffixes” の指定は廃止され、 もっと便利なリゾルバベースの実装、すなわち部分的な形のドメイン名 (partially-qualified domain names) の接尾辞に置き変えられました。 以前のメカニズムでは多くの状況下で失敗することがあり、 特にローカルネームサーバが完全な情報を持っていない場合に失敗しました。

以下に各シグナルを kill(1) コマンドによってサーバに送った場合の効果を示します。

SIGHUP
    サーバは named.conf を読み、データベースをロードし直します。 サーバがコンパイルオプションの FOCED_RELOAD を定義されてコンパイルされている場合は、 SIGHUP を送るとサーバはすべてのセカンダリゾーンのシリアル番号もチェックします。 通常、シリアル番号は SOA 中に指定された間隔でのみチェックされます。

SIGINT
    現在のデータベースとキャッシュの内容を “/var/tmp/named_dump.db” または _PATH_DUMPFILE の値にダンプします。

SIGILL
    サーバが -DSTATS 付きでコンパイルされていれば、 統計データを named.stats にダンプします。 統計データはこのファイルの末尾に追加されます。

SIGSYS
    サーバがプロファイリング (サーバの fork, chdir と exit) を 有効にされてコンパイルされていれば、 プロファイリングデータを /var/tmp にダンプします。

SIGTERM
    プライマリおよびセカンダリのデータベースファイルをダンプします。 サーバが動的更新を有効にしてコンパイルされていれば、 シャットダウン時に更新されたデータをセーブするために使用されます。

SIGUSR1
    デバッグ機能を有効にします。 SIGUSR1 が送られるたびにデバッグレベルが上がります。 (SIGUSR1 がない古いシステムでは SIGEMT が使われます。)

SIGUSR2
    デバッグ機能を完全に無効にします。 (SIGUSR2 がない古いシステムでは SIGFPE が使われます。)

SIGWINCH
    すべてのサーバに入力される問い合わせの syslog(8) による ログ採取の有無を切り替えます。 (ログ採取はサーバが QRYLOG オプションを指定されて コンパイルされている必要があります。)

関連ファイル
/etc/namedb/named.conf
    デフォルトのネームサーバの設定ファイル
/var/run/named.pid (_PATH_PIDFILE)
    プロセス ID
/var/tmp/named_dump.db (_PATH_DUMPFILE)
    ネームサーバデータベースのダンプ
/var/tmp/named.run (file: _PATH_DEBUG)
    デバッグ出力
/var/tmp/named.stats (file: _PATH_STATS)
    ネームサーバの統計データ

関連項目
gethostbyname(3), hostname(7), kill(1), resolver(3), resolver(5), signal(2), RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC 1035, RFC 1123, “Name Server Operations Guide for BIND”