DNS(Domain Name System)サーバーは、ホスト情報を分散データベースによって提供するしくみです。DNS サーバーが提供する機能には、ホスト名を元にIP アドレスを検索したり、IP アドレスを元にホスト名を検索したりする機能があります。 MIRACLE LINUXではDNS 機能の代表的な実装である、BIND(Berkeley Internet Name Domain)を採用しています。
ループバックファイル、正引きファイル、逆引きファイルは、DNS ゾーンデータベースファイルです。ここでは各ファイルで共通的に使用する設定項目について説明します。
キャッシュファイル、ループバックファイル、正引きファイル、逆引きファイルの4つは任意の名前を付けることができます。これらのファイル名は、/etc/named.confで指定します。
● /etc/named.conf の記述例| options { <--- DNSデータベース用のファイルを格納するディレクトリを設定 directory "/var/named"; }; controls { <--- 後述するRNDC用の鍵を指定 inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone “.” IN { <--- キャッシュファイルのファイル名を指定 type hint; file "named.ca"; }; zone “your.domain.name” IN { <--- 指定したドメインで使用される正引きDNSデータベースファイルの名称を指定 type slave; file "your-domain.zone"; masters { 192.168.1.2; }; }; zone “1.168.192.in-addr.arpa” IN { <--- ゾーン名として、使用を許されたネットワークの逆引き名を指定。そのゾーンで使用される逆引きDNSデータベースファイルの名称を指定 type slave; file “your-domain.rev”; masters { 192.168.1.2; }; }; zone “0.0.127.in-addr.arpa” IN { <--- ループバックの定義およびループバックで使用される逆引きDNSデータベースファイルの名称を指定 type master; file “localhost.rev”; allow-update { none; }; }; include "/etc/rndc.key"; |
スレーブサーバは設定に応じて、定期的にマスターサーバのゾーン情報のコピーを取得し、バックアップファイルを作成する。 スレーブサーバはこのバックアップファイルを使用してマスターサーバと同様に問い合わせに答えることができる。 あくまでゾーン情報はマスターから取得するので、スレーブサーバ側でレコードを記載することはなく、設定は初期設定ファイルのみ行えばスレーブサーバとして動作する。
| options { listen-on port 53 { 127.0.0.1; // 問い合わせを受け付けるインターフェースのIPv4アドレス }; listen-on-v6 port 53 { ::1; // 問い合わせを受け付けるインターフェースのIPv6アドレス }; ... // インターネットのすべてのアドレスからのリクエストを許可するので"any"に設定 allow-query { any; }; ... // 再帰クエリを扱わないので"no"に設定 recursion no; ... // zoneの名前としてドメイン名を指定 zone "your.domain.name" IN { // スレーブとして動作させるのでslave type slave; // ゾーン情報を取得するマスターのIPを指定 masters { 192.168.1.2; }; // slaves配下に取得したデータを保存するように設定 file "slaves/sample.jp.db"; }; // IPv4の逆引き zone "1.168.192.in-addr.arpa" { type slave; masters { 192.168.1.2; }; file "slaves/1.168.192.in-addr.arpa.db"; }; // IPv6の逆引き zone "0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" { type slave; masters { 192.168.1.2 }; file "slaves/0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.db"; }; }; |
ゾーンサーバは外向きの仕事をするのに対し、キャッシュサーバは内向きに名前解決の手段を提供します。
| // アクセス制御リスト acl "locals" { 192.168.56.0/24; // 検証環境のローカスアドレス 127.0.0.1; }; // BIND全体の設定 options { listen-on port 53 { 127.0.0.1; 192.168.56.101; }; // リクエスト待受けポート/アドレス listen-on-v6 port 53 { none; }; // 検証環境なので、IPv6無効 directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { locals; }; // 問合せの受付けを許可するアドレス recursion yes; // 再帰問合せの受付けを許可する allow-recursion { locals; }; // 再帰問合せを許可するアドレス allow-query-cache { locals; }; // キャッシュの利用を許可するアドレス dnssec-enable yes; // DNSSECを有効にする dnssec-validation yes; // 問合せ結果をDNSSECで検証する version none; // バージョンを非表示にする bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; // ログ設定 logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; // ルートゾーン設定 zone "." IN { type hint; // ヒント情報 file "named.ca"; // ルートサーバ }; // ローカルゾーン設定(正引き用) zone "example.jp" IN { // example.jpゾーン type stub; // ローカル権威サーバ masters { 192.168.56.111; 192.168.56.112; }; // 権威サーバ(マスタ、スレーブ) }; // ローカルゾーン設定(逆引き用) zone "56.168.192.in-addr.arpa" IN { // example.jpゾーン type stub; // ローカル権威サーバ masters { 192.168.56.111; 192.168.56.112; }; // 権威サーバ(マスタ、スレーブ) }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; |
www.it-shikaku.jp
| [Top] | |
| [講義目次] | |
| [2.07:ネットワーククライアントの管理] | |
| [2.08:ドメインネームサーバ] | |
| [2.08.1 BINDの設定と管理] | |
| [2.08.2 ゾーン情報の管理] | |
| [2.08.3 セキュアなDNSサーバーの実現] | |
| [2.09:HTTPサーバーとプロキシサーバー] | |
| [講義検索] | |
| [リンク集] | |