LinuC-2 - 202試験 - 2.08:ドメインネームサーバー - 2.08.1 BINDの設定と管理

Last Update : August 21 2022 17:47:13

     

a. DNSサーバーの概要

1.DNSサーバーの概要

DNS(Domain Name System)サーバーは、ホスト情報を分散データベースによって提供するしくみです。DNS サーバーが提供する機能には、ホスト名を元にIP アドレスを検索したり、IP アドレスを元にホスト名を検索したりする機能があります。 MIRACLE LINUXではDNS 機能の代表的な実装である、BIND(Berkeley Internet Name Domain)を採用しています。


2.DNSサーバーの種類

  • マスターサーバー(プライマリネームサーバー)
    ドメイン内にあるすべてのホスト名情報の管理、メールサーバーへの転送経路の確保、スレーブサーバーへのドメインネーム情報の提供、他のドメインのネームサーバーとの情報交換などの機能を有する重要なサーバーです。
  • スレーブサーバー(セカンダリネームサーバー)
    マスターサーバーのバックアップ的な存在で、定期的にマスターサーバーからデータをコピーして、万が一マスターサーバーにトラブルがあった場合に代理として機能します。ドメイン申請が承認されるためには、マスターサーバー以外に、スレーブサーバーが1台以上必要となります。
  • キャッシュオンリーサーバー
    キャッシュオンリーサーバーは、自身で名前解決を行わず、クライアントから問い合わせがある と、指定されたDNSサーバーに問い合わせを転送します。この際、一度行われた問い合わせを、一定期間キャッシュします。このため、次回からの問い合わせではキャッシュを参照することにより、名前解決にかかる時間を短縮し、また、マスター/スレーブサーバー(後述)の負荷を軽減する働きがあります。


b. マスターサーバーの設定

ループバックファイル、正引きファイル、逆引きファイルは、DNS ゾーンデータベースファイルです。ここでは各ファイルで共通的に使用する設定項目について説明します。

  • $TTL --- Time To Live、キャッシュの有効期限、単位は秒
  • SOA --- Start Of Authority、ゾーンに対する管理情報を設定します。
  • IN --- InterNet、インターネットレコードを表します。
  • NS --- NameServer、ネームサーバー。ホスト名+ドメイン名の形式で記述して、最後にピリオドを入力します。
  • A --- Address、アドレスレコード。ホスト名からIP アドレスへの変換時に使用します。
  • PTR --- PoinTer Record、ポインタレコード。IP アドレスからホスト名への変換時に使用します。
  • MX --- Mail eXchanger、メールエクスチェンジャ。どのホストが外部からのメールを受信するかを記述します。“MX” の後に数字を書き、複数ホストを設定したときの優先順位を指定します。
  • CNAME --- Canonical NAME、ホストの別名。特定のホストに、別名を付けます。

1./etc/named.conf の設定

キャッシュファイル、ループバックファイル、正引きファイル、逆引きファイルの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";


c. スレーブサーバーの設定

スレーブサーバは設定に応じて、定期的にマスターサーバのゾーン情報のコピーを取得し、バックアップファイルを作成する。 スレーブサーバはこのバックアップファイルを使用してマスターサーバと同様に問い合わせに答えることができる。 あくまでゾーン情報はマスターから取得するので、スレーブサーバ側でレコードを記載することはなく、設定は初期設定ファイルのみ行えばスレーブサーバとして動作する。


1./etc/named.conf の設定
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"; }; };

d.キャッシュサーバーの設定

ゾーンサーバは外向きの仕事をするのに対し、キャッシュサーバは内向きに名前解決の手段を提供します。


1./etc/named.conf の設定
// アクセス制御リスト 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";


e.DNS関連コマンド

nslookup, dig


z. 出題範囲概要

概要 :
  • 権威サーバー、再帰サーバー、キャッシュ専用DNSサーバーとして機能するようにBINDを設定できる。これには、稼働中のサーバーを管理すること、ログの設定も含まれる。

詳細 :
  • BIND の設定ファイル、用語、ユーティリティ
    named.conf, host, dig, nslookup
  • BIND の設定ファイルで、BINDゾーンファイルの位置を定義する。
    named.conf
  • 変更した設定ファイルおよびゾーンファイルの再読込
    rndc, named-checkconf
  • 代替ネームサーバーとしての dnsmasq, Unbound, NSD, PowerDNS について知っている。

  [ 例題 ] 


         

    www.it-shikaku.jp