Scroll to navigation

RESOLV.CONF(5) Linux Programmer's Manual RESOLV.CONF(5)

名前

resolv.conf - レゾルバ設定ファイル

書式

/etc/resolv.conf

説明

resolver は、インターネットのドメインネームシステム (DNS) へのアクセスを提供する C ライブラリのルーチン群である。 レゾルバ設定ファイルには、レゾルバルーチンがプロセスによって最初に 起動されたときに読み込まれる情報が格納されている。 このファイルは人間に可読なように設計されている。 キーワードと値のリストが含まれ、いろいろなタイプのレゾルバ情報を提供する。
このファイルが存在しない場合、問い合わせはローカルマシン上の ネームサーバに対してのみ行われる。ドメイン名はホスト名から決定され、 ドメインの検索パスはドメイン名から作成される。
この状態を変更するための設定オプションには、以下のようなものがある。
nameserver ネームサーバの IP アドレス
レゾルバが問い合わせをするネームサーバの (ドット表記の) インターネットアドレス。 このキーワード 1 つごとに 1 台づつ、 MAXNS 台 (現状では 3 台、 <resolv.h> を参照) までのネームサーバをリストできる。 複数のサーバが指定された場合、レゾルバライブラリは リストされた順に問い合わせを行う。 nameserver エントリがない場合、 デフォルトではローカルマシン上のネームサーバが使われる。 (ここで使われるアルゴリズムは以下のようなものである。 はじめにネームサーバに問い合わせを試みる。 この問い合わせがタイムアウトになった場合、 次のネームサーバに問い合わせを試みる。 これをネームサーバがなくなるまで続ける。 それでも応答がない場合は、リトライ最大回数に達するまで 全てのネームサーバに問い合わせを繰り返す。)
domain ローカルドメイン名
このドメインにある名前の問い合わせのほとんどに、 このローカルドメインにおける短い名前を使用することができる。 domain エントリがない場合、ドメイン名は gethostname(2) で返されるローカルホスト名から決定され、 最初の '.' 以降の全ての部分がドメイン名とされる。 このホスト名にもドメイン部を含んでいない場合、ルートドメインが仮定される。
search ホスト名ルックアップのための検索リスト
検索リストは通常ローカルドメイン名から決定される。 デフォルトでは、検索リストはローカルドメイン名のみである。 これを変更するには、 search キーワードの後に 希望するドメイン検索パスをスペースまたはタブで区切ってリストすればよい。 ドットの数が ndots (デフォルトでは 1) より少ないレゾルバの問い合わせは、 一致するものが見つかるまで検索パスの各要素を順に使って試す。 複数のサブドメインを持つ環境では、 第三者による攻撃 (man-in-the-middle attack) と ルート DNS サーバへの不必要なトラフィックを避けるために、 以下の options ndots:n を読んでほしい。 このプロセスは遅く、リストされたドメインがローカルのものでない場合、 多大なネットワークトラフィックを発生させることに注意すること。 さらに、これらのドメインのいずれかひとつにでも適切なサーバがない場合、 問い合わせがタイムアウトになる点にも注意すること。
現状では、検索リストは 6 ドメイン・計 256 文字に制限されている。
sortlist
このオプションを使うと、 gethostbyname(3) で返されるアドレスをソートさせることができる。 sortlist は IP アドレスとネットマスクのペアで指定される。 ネットマスクは省略可能であり、 デフォルトではネットに対するデフォルトのネットマスクである。 IP アドレスとオプションのネットマスクのペアはスラッシュで区切る。 最大 10 組のペアを指定できる。 以下に例を示す。
 

sortlist 130.155.160.0/255.255.240.0 130.155.0.0
 
options
options により、レゾルバの内部変数を変更することができる。 書式は以下の通りである。
options option ...
ここで option は次のうちのいずれかである。
debug
_res.optionsRES_DEBUG を設定する。
ndots:n
最初の完全な名前での問い合わせが実行される前に、 res_query(3) (resolver(3) を参照) に与えられる名前に含まれているべきドットの数の閾値」を設定する。 n のデフォルトは 1 である。 これは、名前にドットがある場合、 search list の要素が付加される前に、 その名前が完全な名前として最初に試されるということを意味している。 このオプションの値の上限は 15 であり、黙ってこの値まで切り詰められる。
timeout:n
「レゾルバが他のネームサーバで問い合わせをリトライする前に、 リモートネームサーバからの応答を待つ時間」を設定する。 単位は秒で、デフォルトは RES_TIMEOUT である (現状では 5 秒、 <resolv.h> を参照)。 このオプションの値の上限は 30 であり、黙ってこの値まで切り詰められる。
attempts:n
「レゾルバが諦めて呼び出し元のアプリケーションにエラーを返すまでに、 ネームサーバに問い合わせを行う回数」を設定する。 デフォルトは RES_DFLRETRY 回である (現状では 2 回、 <resolv.h> を参照)。 このオプションの値の上限は 5 であり、黙ってこの値まで切り詰められる。
rotate
_res.options に RES_ROTATE を設定する。 リストされているネームサーバから選ぶときに、 ラウンドロビン (round robin) 選択を行わせる。 リストされている全てのサーバで問い合わせの負荷を分散する効果があり、 最初にリストされたサーバに全てのクライアントが 毎回最初に問い合わせを行うわけではなくなる。
no-check-names
_res.optionsRES_NOCHECKNAME を設定する。 入ってくるホスト名とメールアドレスに、 アンダースコア (_)・ASCII 以外の文字・制御文字といった 不正な文字が含まれていないかを調べる 最近の BIND のチェックを無効にする。
inet6
_res.optionsRES_USE_INET6 を設定する。このオプションが設定されると、 gethostbyname(3) 関数の内部で A レコードの問い合わせを行う前に AAAA レコードの問い合わせを行うようになる。 また、AAAA レコードは見つからないが A レコードセットが存在する場合に、 IPv4 の応答を IPv6「トンネル形式」にマップするようになる。
ip6-bytestring (glibc 2.3.4 以降)
_res.optionsRES_USE_BSTRING を設定する。このオプションが設定されると、IPv6 アドレスの逆引きで RFC 2673 で規定された bit-label 形式が使用されるようになる。 このオプションが設定されない場合、nibble 形式が使用される。
ip6-dotint/no-ip6-dotint (glibc 2.3.4 以降)
_res.options への RES_NOIP6DOTINT のセット/クリアを行う。 このオプションがクリアされると ( ip6-dotint)、 IPv6 アドレスの逆引きが (非推奨の) ip6.int ゾーンで行われるようになり、 このオプションがセットされると ( no-ip6-dotint)、 IPv6 アドレスの逆引きがデフォルトの ip6.arpa ゾーンで行われるようになる。 このオプションはデフォルトでセットされる。
edns0 (glibc 2.6 以降)
_res.optionsRES_USE_EDNSO をセットする。これにより、RFC 2671 で規定されている DNS 拡張のサポートが有効になる。
single-request (glibc 2.10 以降)
_res.optionsRES_SNGLKUP をセットする。 glibc バージョン 2.9 以降では、 glibc はデフォルトでは IPv4 と IPv6 の検索を並行して実行する。 アプライアンス DNS サーバの中には、このような問い合わせを 適切に処理できず、検索要求がタイムアウトになってしまう。 このオプションをセットすると、このデフォルトの動作が無効になり、 glibc は IPv6 と IPv4 の検索を順番に実行するようになる (名前解決処理が若干遅くなるというデメリットがある)。
domainsearch キーワードは、互いに排他的である。 これらのキーワードが 2 つ以上記述されている場合、 最後に記述されているものが有効になる。
システムの resolv.conf ファイルにある search キーワードは、 スペースで区切った検索ドメインのリストを 環境変数 LOCALDOMAIN に設定することにより、各プロセス毎に上書きすることができる。
システムの resolv.conf ファイルにある options キーワードは、 上の options セクションで説明したように、 スペースで区切ったレゾルバオプションのリストを 環境変数 RES_OPTIONS に設定することにより、各プロセス毎に修正することができる。
キーワードと値は同じ行に書かなければならない。 また、( nameserver のような) キーワードが行の先頭になければならない。 値はキーワードの後にスペースで区切って続ける。
 
セミコロン (;) かハッシュ文字 (#) で始まる行はコメントとして扱われる。

ファイル

/etc/resolv.conf, <resolv.h>

関連項目

gethostbyname(3), resolver(3), hostname(7), named(8)
 
BIND のネームサーバオペレーションガイド

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2012-05-04 4th Berkeley Distribution