!!!Fedora Core 6 BINDの設定(初期設定ファイル) Fedora Core 6 DNSの設定 [DNS][BIND] {{amazon 483992242X}} この本を見ながら、設定 !初期設定ファイル named.conf の書式 <ステートメント1> ["<ステートメント1の名前>"] [<ステートメント1のクラス>] { <オプション1>; <オプション2>; <オプションn>; }; *[]は省略可能 *オプションに、{}を利用してサブステートメントを指定可能 '''zoneの設定例''' zone "typea.info" { typea master; file "typea.info.zone"; allow-update { nene; }; }; '''コメント''' // コメント # コメント /* * コメント */ !一般的なステートメントの概要と設定例 ::acl *名前つきアドレスマッチリストを作成する。aclに続けて名前を指定する。 *主にほかのステートメントでサーバーへのアクセスコントロールを行うのに使用 *ほかのステートメントの前に設定しておく ,あらかじめ用意されているマッチリスト,内容 ,any,すべてのIPアドレスとマッチ ,localhost,ローカルホストのIPアドレスとマッチ ,localnets,ローカルホストが接続しているネットワークのIPアドレスとマッチ ,none,どのIPアドレスともマッチしない acl "internal" { 192.168.24/24; }; options { directory "/var/named"; allow-query { "internal"; }; } ::include *別ファイルの設定内容をインクルードする *主に、ゾーンデータや、一般ユーザが読むことができないように設定されている鍵ファイル include "/etc/rndc.key" ::options *ほかのステートメントで使用するグローバルな設定オプションを定義。 *一度だけ設定できる ,オプション,内容 ,directory,ワーキングディレクトリを絶対パスで指定。設定ファイルでパスを指定する場合は、このディレクトリからの相対パスとなる。 ,pid-file,プロセスIDを出力するファイルのパス名 ,statistics-file,統計情報を保存するファイルのパス名 ,dump-file,キャッシュをダンプするファイルのパス名 ,allow-query,サーバーに対する問い合わせに答えるアドレスのリストを指定。このリストにマッチしないアドレスの問い合わせはすべて拒否される。ゾーンごとに設定も可能(zoneステートメントにて) ,allow-transfer,サーバーゾーンごとに設定も可能(zoneステートメントにて)からのゾーン転送を許可するアドレスのリストを指定。 ,recursion,DNSの再帰的な問い合わせを行うかを指定。yes or no ,allow-recursion,再帰的な問い合わせを許可するアドレスのリストを指定 ,blackhole,サーバーへの問い合わせを許可しないアドレスを指定 ,forwarders,問い合わせを転送するアドレスのリストを指定。ゾーンごとに設定も可能(zoneステートメントにて)。「forward only;」を指定すると、サーバー自身で名前解決を行わない。PPPoEなどでインターネットに接続している場合などは、ISPのDNSサーバアドレスを指定。ルータ経由の場合は、ルータのアドレスを指定 ,memstatistics-file,deallocate-on-exitがyesの場合、サーバー終了時にメモリ使用統計を出力するファイル名 ,notify,ゾーンが更新された際に、NOTIFYメッセージをスレーブサーバに通知するか設定。「notify yes」「notify no」を設定「notify explicit」を設定すると、alsonotify」で指定しているスレーブサーバーに更新を通知できる。 ,heck-names,ドメイン名の文字列が正しいか(RFC準拠)をチェック。 ,version,BINDバージョンの問い合わせがあった場合、返す文字列を指定 ,listen-on,問い合わせに答えるインターフェースとポートを指定。省略すると53番ポート ,query-source,問い合わせの答えを知らない場合に、ほかのDNSサーバに問い合わせを行う際のIPアドレスとポートを指定。ワイルドカード「*」を指定した場合、任意の非特権ポートを利用 ,transter-format,ゾーン転送形式を指定「transfer-format many-answers」に設定すると、1つのDNSメッセージに複数のリソースレコードを含めることができる。 options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_statis.txt"; pid-file "/var/run/dns.pid"; version "unknown"; query-source address * port 53; allow-query { 127.0.0.1; 192.168.24.0/24; }; check-names response fail; }; ::zone ゾーンの設定を行う。zoneに続けて、ゾーンのドメイン名を指定する。 '''type''' : ゾーンの形式を現すタイプを指定 ,指定可能なtype,内容 ,master,ゾーンデータのマスタコピーを持っているDNSサーバ ,slave,ゾーンデータのコピーを持っているDNSサーバ ,stub,ゾーンデータのNSレコードのみのコピーを持つDNSサーバ ,forward,ほかのDNSサーバに問い合わせを転送 ,hint,ルートサーバをあらわす ,delegation-only,存在しないドメインに対して、トップレベルドメイン(.comなど)が特定のアドレスを返してくるのを避けるために使用 *optionsで指定したオプションをzoneステートメンで指定することも可能。その場合、optionsでの指定を上書きする *typeにforwardを指定した場合、optionsで指定したグローバルのforwardersは適用されないので、forwardersおよび、forwardオプションを指定する必要がある。 '''file''' : ゾーンデータファイルを指定。optionsステートメントのdirectoryからの相対パス '''masters''' : typeにslaveを指定した場合、マスタDNSサーバのIPアドレスを1つ以上指定 '''notify''' : スレーブサーバにNOTIFYメッセージを通知するかを設定「notify yes」「notify no」で設定「notify explicit」を設定すると、also-notify で指定しているスレーブサーバ以外への更新通知を禁止 マスタサーバ例 zone "typea.info" { type master; file "typea.info.zone"; notify explicit; also-notify { 192.168.24.10; }; }; スレーブサーバ例 zone "typea.info" { type slave; file "typea.info.zone"; masters { 192.168.24.14; }; }; ::controls namedの制御用プログラム「rndc」の設定を行う [[BINDの制御|Fedora Core 6 BINDの制御]] ::key rndcプログラムを使用してサーバを制御するのに必要な鍵の設定を行う。 [[BINDの制御|Fedora Core 6 BINDの制御]] ::logging 標準では、namedはsyslogデーモン経由で「/var/log/messages」ファイルへログメッセージを出力するが、別ファイルへログメッセージを出力することが可能 ::server リモートのDNSサーバーに関連した設定を行う。間違ったデータを送るサーバに対して、「bogus yes」(bogusとは偽り等の意)印をつけることで、そのサーバへの問い合わせを行わないようにする。 server 192.168.24.1 { bougs no; transfer-format one-answer; }; ::view 指定のIPアドレスやネットワークにマッチする場合に、個別のオプションとゾーンデータを提供することができる。match-clientには、適用されるソースアドレスを指定。また、match-destinationsには、適用されるデスティネーションアドレスを指定。 以下の例のように、1台のDNSサーバで、内向きと外向きのDNSサーバを構築する場合に、viewを使用して異なる設定を行うことができる。 //キャッシュサーバ用設定 veiw "localhost_resolver" { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.root.hints"; include "/etc/named.rfc1912.zones"; }; // 内部ネットワーク用 view "internal" { match-client { localnets; }; match-destinations { localnets; }; recursion yes; include "/etc/named.root.hints"; zone "priv.dom" { type master; file "priv.dom.zone"; }; }; // 外部ネットワーク用 view "external" { match-client { !localnets; !localhost; }; match-destinations { !localnets; !localhost; } // 外部ネットワークからの再起的な問い合わせには応じない recursion no; include "/etc/named.root.honts"; zone "typea.info" { type master; file "typea.info.zone"; allow-transfer { 192.168.24.1; }; }; }; 上記例では、ルートキャッシュ用の設定ファイル /etc/named.root.hintsをインクルードしているので、以下のような内容のファイルを作成しておく必要がある zone "." { type hint; // ルートキャッシュファイル(/var/named からの相対パス)を指定 file "named.ca" }; !サンプルの場所 以下のサンプルを編集して使用できる /usr/share/doc/bind-9.3.4/sample/etc/named.conf