6.2 6.2. 1 named. boot ファイル named の運用・ 1 13 named. boot ファイルは、一般に非常に小さく、ゾーン情報を含むマスターファイ ルへのポインタやほかのネームサーバへのポインタなどのわずかな情報が書いてある だけです。コメントはセミコロンで始まり、行末まで続きます。 named. boot のフォ ーマットについて詳しく説明する前に、例 6 ー 2 で vlager のサンプルファイルをみて 見ましよう注 4 。 例 6 ー 2 vlager の named. boot ファイル /etc/named. bOOt file for vlager.vbrew.com cache pnmary primary primary directory /var/named domain vbrew. COIII O. O. 127. in-addr. arpa 72.191. in-addr. arpa file named. ca named. hosts named. 10Ca1 named. rev この例に登場している cache コマンドと primary コマンドは、情報を named に 読み込みます。この情報は、 2 番目の引数で指定されるマスターファイルから取られ ます。それらは DNS リソースレコードを表しています。これについてはあとで説明 します。 この例では、ファイルの終わりの方にある primary 文によって示されるように、 named を 3 つのドメインのプライマリネームサーバとして設定しています。たとえ ば、最初の行は named が vbrew.com のプライマリサーバとなり、ゾーンデータは named. hosts ファイルから取るよう指定しています。キーワード directory は、す 注 3 注 4 Linux FTP サイトには、さまざまな named バイナリがあり、それぞれ設定が少し異なって います。あるものは pid ファイルを /etc に作り、あるものは /tmp か /var/tmp に作ります。 この例のドメイン名が末尾のドットなしで指定されていることに注意してください。 named の初期のバージョンでは、 named. boot 中の末尾にドットがあるものはエラーとして扱われ、 その行は無視されます。 BIND ー 4.9.3 ではこれが改められるはずです。
Ⅱ 2 ・ 6 章ネームサービスとリゾルバの設定 hosts ファイルを見るようにします。 6.2 named の運用 ほとんどの UNIX マシンでドメインネームサービスを提供するプログラムは、通 常 named ( ネーム・ディーと発音する ) と呼ばれます。もとは BSD 用に開発され、 クライアントやほかのネームサーバにネームサービスを提供するサーバブログラムで す。ほとんどの Linux で使用されているバージョンは、 BIND ー 4.8.3 のようです。新 バージョンの BIND ー 4.9.3 は、現在ベータテスト段階で、まもなく Linux でも利用で きるはずです注 1 、注 2 。新バージョンには、特定のホストやネットワークへのゾーン間 転送を制限する安全 (secure) ゾーンなど多くの新機能があります。詳しくは、ソー スパッケージに含まれるドキュメントを参照してください。 こでは、 DNS の振る舞いについて多くの知識が必要です。以下の説明が分から なければ、 2 章を再読してください。 DNS の基礎についてのさまざまな情報があり ます。 通常、 named はシステムプート時に起動され、マシンがダウンするまで動作し続 けます。 named は、 /etc/named. boot と呼ばれる設定ファイルや、ドメイン名とア ドレスを対応させるファイル群から情報を得ます。後者のファイル群はゾーンファイ ルと呼ばれます。これらのファイルのフォーマットと解釈の仕方については、以下の 節で説明します。 named を起動するには、プロンプトで単に次のように入力します。 # /usr/sbin/named named が起動し、 named. boot ファイルとその中に指定されているゾーンファイ ルが読み込まれます。プロセス ID を ASCII 形式で /var/run/named. pid に書き込 み、必要ならばプライマリサーバからゾーンファイルをダウンロードします。そして、 DNS の問い合わせに備えてポート 53 で受信待ちします注 3 。 注 1 注 2 BIND-4.9 は Paul Vixie 、 paul@vix.com が開発しています。 現在の最新べータバージョンは、 bind-4.9.3-BETA9. tar. gz です ( 訳注 ) 。
6.2 例 6-3 で示される named. ca キャッシュファイルは、ルートネームサー loopback address brewery Ethernet 以下の行頭のセミコロンをとってください。 ルートサーバが不要です。このファイルの例を使う場合は、 プルーワリーはインターネットに接続されていないので、 Cache file for the brewery. /var/named/named. ca 例 6 ー 3 named. ca ファイル とができます注 5 。 ns100kup ツールを使えば、ルートドメインのネームサーバの現在のリストを得るこ 数個程度ネームサーバが記述されているのが普通です。次の節で述べる 文献目録 [ 3 ] バのヒントとなるレコードを示します。通常、キャッシュファイルには十 named の運用・ 121 NS. NIC. DDN. MIL NS. NASA. GOV 99999999 99999999 99999999 99999999 IN IN IN IN NS A NS A NS. NIC. DDN. M 工 L 26.5. O. 105 NS. NASA. GOV 128 ユ 02.16 ユ O 例 6 ー 4 named. hosts ファイル /var/named/named. hosts IN SOA IN NS 10Ca1 mail is distributed Local hosts at the brewery Origin iS vbrew. COIII vlager.vbrew.com/ janet. vbrew. COIII. ( 16 86400 5600 3600000 604800 serial refresh : retry : explre : minimum : once per day one hour 42 days 1 week localhost. IN MX IN A vlager.vbrew.com/ on vlager IO vlager 127. O. O. 1
114 ・ 6 章ネームサービスとリゾルバの設定 べてのゾーンファイルが / var / named にあることを宣言しています。 cache 工ントリーは非常に特殊で、ネームサーバを動かすほばすべてのマシンに 存在しているはずです。その機能は 2 つあります。 named のキャッシュを有効にす るよう指定するのが 1 つ、指定されたキャッシュファイル ( この例では named. ca) からルートネームサーバのヒントを読み込むよう named に命令するのがもう 1 つで す。ネームサーバのヒントについてはあとで触れます。 named. boot で使う重要なオプションのリストを以下に挙げます。 ・ directory ゾーンファイルが存在するディレクトリを指定します。ファイルの名前はこのディ レクトリ内の相対位置で与えます。 directory を繰り返し使用すれば、複数のディ レクトリを指定できます。 Linux ファイルシステムのスタンダードの規約に従えば、 これは /var/named となっているはずです。 ・ primary 引数としてドメイン名とファイル名をとり、指定ドメインにおいてはローカルサー バが最も権威があることを宣言します。プライマリサーバとして、 named は与えら れたマスターファイルからゾーン情報を読み込みます。 一般に、・プートファイルには、ローカルループバックネットワークであるネットワ ーク 127.0.0.0 の逆引きのために、少なくとも 1 つの pri 爪 ary 工ントリーがあります。 ・ secondary この文は引数としてドメイン名、アドレスリスト、およびファイル名をとります。 これは、ローカルサーバが指定ドメインのセカンダリマスターサーバであることを宣 言します。 セカンダリサーバもドメインに関するデータを保持しますが、ファイルから集める ことはしません。むしろ、プライマリサーバからダウンロードしようとします。この ため、アドレスリストの中に少なくとも 1 つのプライマリサーバの IP アドレスを指 定しなければいけません。ローカルサーバは、順番にプライマリサーバにコンタクト し、ゾーンデータベースの転送がうまくいくまで続けます。ゾーンデータベースは 3 番目の引数として与えられているバックアップファイルの中に格納されています。ど のプライマリサーバも応答しないならば、ゾーンデータはバックアップファイルから 検索されます。
122 ・ 6 章 vlager ネームサービスとリゾルバの設定 IN A 172.16.1.1 vlager-ifl IN CNAME vlager vlager iS alSO news server news vstout vale IN CNAME vlager IN A IN A winery Ethernet vlager-if2 vbardolino vchianti vbeaujolais IN A IN A 工Ⅳ A IN A 例 6 ー 5 named.local ファイル /var/named/named. 10Ca1 172 ユ 6 ュ .2 172.16.1.5 172.16.2.1 172.16.2.2 172.16.2.5 172.16.2.4 Reverse mapping Of 127. O. O Origin is O. O. 127. in-addr. arpa. vlager. vbrew. COIII. joe. vbrew. COIII. ( 1 IN NS IN PTR IN SOA 1 360000 3600 3600000 360000 serial refresh : retry : explre : IIIIIIIIIIIIIII : IOO hrs one hour 42 days IOO hrs 例 6 ー 6 named. rev ファイル /var/named/named. rev IN NS 工 N SOA brewery vlager.vbrew.com/ localhost. vlager. vbrew. COIII. joe. vbrew. COIII. ( Origin is 72.191. in-addr. arpa. Reverse mapping Of our IP addresses 16 86400 3600 3600000 604800 serial refresh : retry : explre : llllmmum : once per day one hour 42 days 1 week vlager. vbrew. COIII.
6.2 named の運用・Ⅱ5 これは引数としてドメイン名とファイル名をとります。このファイルはルートサー ・ cache SOA リソースレコードタイプに関連させてあとで説明します。 そのあと、 named は一定の間隔で、ゾーンデータを更新しようとします。 これは、 せん。 $INCLUDE と $ORIGIN です。めったに必要ないものなので、 こでは説明しま さらに、これらのデータベースファイルで使用される 2 つの命令があります。それは こでは説明しなかった 2 つのオプションがあります。 sortlist と domain です。 い合わせをせず、問い合わせを forwarders 文で指定されるサーバに依頼するだけ この文はネームサーバをスレープサーバにします。すなわち、自分では再帰的な問 ・ slave ストの頭から順番に試みられます。 を行うネームサーバのリストを指定します。どれかが問い合わせに応答するまで、リ 自分のローカルキャッシュで問い合わせが解決しないときに、 named が問い合わせ この文は、引数としてアドレスリストをとります。このリスト中の IP アドレスは、 ・ forwarders 見てください ) 。 なくなります。例外は、フォーワードサーバです ( 次の forwarders オプションを いので、自分が権威をもつドメイン以外については、どのようなアドレス解決もでき ーク負荷を増やします。その上、 name d はどのルートネームサーバにも到達できな にないサーバに問い合せをしたときに、パーフォーマンスが著しく下がり、ネットワ named はローカルキャッシュをまったく作りません。それでは、ローカルネット上 この情報は named にとって必要不可欠です。 cache 文がプートファイルにないと、 わち単なるピリオド (. ) になっていなければいけません。 NS レコードと A レコードのみが認識されます。 domain はルートドメイン名、すな バのヒントを含んでいます。これはルートネームサーバを示すレコードのリストです。
目 6 章 6.1 6.2 7 章 7.1 7.2 7.3 7.4 7.5 「 esolv. conf の設定 named の運用 6. 1.4 頑強なリゾルノヾ 6. 1.3 ネームサーノヾ参照 6. 1.2 リゾルノヾの環境変数 . 1 ⅱ ost. conf ファイ丿レ リゾルバライプラリ ネームサービスとリゾルバの設定 一般的な要求事項 シリアルライン P 6.2.5 ほかの有益なツー丿レ 6.2.4 ネームサーノヾの動作の検証 6.2.3 マスタファイ丿レを書く 6.2.2 DNS テータベースファイ丿レ 6.2. 1 named お 00t ファイル dip の使用 私用旧ネットワークの扱い S 凵 P の操作 サーバモードでの動作 目 i ロの詳解 サンプルスクリプト 7.4.2 7.4. 1 次・ xiii 1 05 106 1 ロ 8 1 ロ 9 1 2 ロ 1 23 1 26 139 1 35 1 33 132 128 127 1 27
128 ・ 7 章シリアルライン P が動くとすぐにこのサーバに問い合わせが行きます。ダイアルインした所から ( ネッ トワーク的に ) 近いネームサーバを指定すれば、応答は早くなります。 しかし、これは決して最適な方法とはいえません。すべての名前の参照が SLIP / PPP リンクを通ることになるからです。これが帯域幅を浪費するのが心配ならば、 キャッシュのみ (caching-only) のネームサーバをセットアップするといいでしょ う。これは、ドメインにとって本当のネームサーバの機能を果たすわけではありませ ん。自分のホストからの DNS への問い合わせをすべて中継するし、結果を覚えてお くだけです。この方法の利点は、キャッシュができるので、ほとんどの問い合わせは 一度だけシリアルラインを通ればすむということです。キャッシュのみのサーバに対 する named. boot ファイルは、次のようになります。 named. bOOt file for caching-only server directory pnmary cache /var/named 0.0.127. in-addr. arpa db. 127. O. O ; loopback net db. cache root servers また、この name. boot ファイルに加えて、ルートネームサーバの有効なリストを もとに db. cache ファイルをセットアップしなければいけません。これは、「 6 章 ネームサービスとリゾルバの設定」の後ろの方で説明してあります。 7.2 S 凵 P の操作 ダイアルアップ IP サーバは、しばしば特別なユーザアカウントで SLIP サービス を提供します。そのアカウントでログインしても、通常のシェルには入りません。シ リアルラインに対してサーバの SLIP ドライバを立ち上げるプログラムかシェルスク リプトが実行され、適切なネットワークインタフェースが設定されます。そして、自 分の側でも同じような設定をしなければいけません。 OS によっては、 SLIP ドライバは一般ューザの権限で動くプログラムですが Linux ではカーネルの一部になっており、かなり動作が速くなります。しかし、このために はシリアルラインを明示的に SLIP モードに変える必要があります。これは、特別な tty ライン状態、 SLIPDISC によって行われます。 ttY が通常のライン状態 (DISC()) になっている間は、通常の read ②と write ②コールを使用して、データをほかのユ
1 16 ・ 6 章ネームサービスとリゾルバの設定 6.2.2 DNS データベースファイル named が読み込む named. hosts のようなマスターファイルには、 origin と呼ばれ る関連ドメインが必ずあります。これは、 cache コマンドと primary コマンドで指 定されるドメイン名です。マスターファイル中では、ドメインとホスト名を指定する とき、このドメインとの相対指定ができます。設定ファイル中でドットで終わる名前 が指定されれば、それは絶対指定であり、それ以外は。 rigin に対する相対指定であ るとみなされます。 origin そのものは、 "@" によって参照されます。 マスターファイル中のデータは複数のリソースレコード (resouce record) 、略し て RR に分けられます。 RR は、 DNS を通じて利用可能な情報の最小単位になりま す。各リソースレコードにはタイプがあります。たとえば、 A レコードはホスト名 を IP アドレスに対応させます。 CNAME レコードは公式ホスト名に対してェイリア スを関係づけます。例としては、例 6 ー 4 を見てください。これは、バーチャル・プル ーワリーの named. hosts マスターファイルを示した例です。 マスターファイル中のリソースレコードは、共通の形式になっています。 Cdomain] Cttl] Cclass] type rdata 各フィールドは空白かタブによって区切られます。ェントリーは複数行にわたって 続けることができ、その場合は、開き括弧が先頭行の改行の前にあり、最後のフィー ルドの後には閉じ括弧がきます。セミコロンから行末まではすべて無視されます。 ・ domain これはエントリーが適用されるドメイン名です。ドメイン名が指定されないならば、 その RR は、直前の RR のドメインに適用されるものとみなされます。 ・ ttl リゾルバに一定時間後に情報を捨てさせるようにするため、各 RR は、寿命 (time to 1 ⅳ e ) 、略して ttl を持っています。 ttl フィールドには、情報がサーバから獲得さ れてからの有効時間を秒で指定します。それは最大 8 桁の 10 進数です。 もし ttl 値が指定されないならば、前の SOA レコードの minimum フィールドの 値がデフォルトになります。 ・ class これは、 IP アドレスに対する lN (intelligent networks) 、 または Hesiod クラス
localgroups ・・ lock キーワード・ 10g ・・ LOGIN オプション login コマンド ls コマンド m4 ・・ mail ・ fManaging NFS and NIS 』 makedbm mailx mailstats ・ mailpaths mailertable ・・ mailers. linux ・ MAILER-DAEMON 438 ・索 local-send ・・・ 50 , 422 引 ・・・ 236 ・・・ 354 ・・・ 146 ・・・ 355 ・・・ 240 ・・・ 192 ・・・ 192 ・・・ 298 ・・・ 258 ・・・ 290 ・・・ 302 ・・・ 354 ・・・ 324 ・・・ 258 ・・ 184 ・・・ 419 ・・・ 207 ・・・ 327 ・・・ 198 ・・・ 327 ・・・ 299 , 307 , 321 , 322 mil ・ MIME ・ mmlcom Mitch D'Souza ・ mkhistory スクリプト MTU ・・ mthreads ・・ MTA MS-DOS MRU mountd デーモン Mosaic mode NagIe アルゴリズム MX レコード muncher フィーノレド・ MUA mtu オプション ・・・ 119 , 262 , 266 , 282 , 287 , 383 fManaging UUCP and UsenetJ ・ map daemon ・ map identity ・ Mark Horton Mark Shand ・ Matt Glickman ・・ Matt Welsh ・・ Matthias Urlichs ・ max hop_count mesg コマンド Message- I D : Met ・・ META-FAQ METAFONT ・・ metamail ・・ method ファイル Metric ME 工ントリー mgetty ・ MichaeI Callahan ・・ Mike Lesk ・ ・・・ 211 , 419 ・・・ 204 , 207 ・・ XXIX ・・・ 98 ・・・ 257 ・・・ 161 ・・・ 284 ・・・ 17 , 75 ・・・ 209 ・・・ 238 ・・・ 341 ・・・ 93 ・・・ 293 ・・・ 271 ・・・ 197 ・・・ 127 , 143 NakWell モデム named ・ named ネームサー NCP ・・ NCSA telnet net ノヾ・ CNET-2-HOWTOJ ・ Net-2d N et -2 Debugged N et -- 2e Net-2e パッチキット・ NET -2 パッケー Net-2 リリース Net-3 Net-BSD ・ ジ ・・・ 38 ・・・ 255 , 270 ・・・ 66 ・・・ 208 ・・・ 353 ・・・ 139 ・・・ 75 ・・・ 203 , 204 ・・・ 142 , 154 ・・ XXVIII ・・・ 112 , 128 ・・・ 258 , 264 ・・・ 74 ・・・ 325 ・・・ 75 ・・ 17 ・・・ 16 ・・・ 16 ・・・ 422 ・・・ 38 ・・・ 62 ・・・ 142 ・・・ 106 ・・・ 217 ・・・ 54 ・・・ 258 ・・・ 349 ・・・ 258 ・・・ 54 ・・・ 374 ・・・ 24 , 86 , 93 , 95 , 98 , 103 , 137 net ー std バイナリバッケ NetBIOS netstat networks ファイノレ・ ージ ・・ 17 , 75 ・・・ 75 ・・・ 365 ・・ 17 ・・・ 97 , 98 , 99 ・・・ 80