DNSとBINDの基礎についてまとめました。
DNSサーバー
DNSサーバーの基本的な役割は、ホスト名とIPアドレスを相互に変換することです。これを名前解決と言います。
BINDは代表的なDNSサーバーソフトウェアで、サーバーデーモンはnamedです。
以下、DNSサーバーに関する基本事項です。
ゾーン
ゾーンとは、DNSサーバーが自ら管理するドメインの範囲のことです。
マスターDNSサーバー、スレーブDNSサーバー
DNSサーバーは複数台で構成されています。これは冗長性を確保する為です。ゾーンファイルを所有するDNSサーバーをマスターDNSサーバー、マスターDNSサーバーの情報を一定期間ごとにコピーし、マスターDNSサーバーと同じ情報を持つようにしているのがスレーブDNSサーバーです。
リゾルバ
リゾルバとは、自分の知っているDNSサーバーに問い合わせを行い名前解決を行うクライアント側のソフトウェアです。
再帰的な問い合わせ
再帰的な問い合わせ(recursive)とは、リゾルバから問い合わせを受けたDNSサーバーが他のDNSに問い合わせを行い、最終的な結果をリゾルバに応答することです。
DNSに問い合わせて名前解決を行うコマンド
nslookup
古くから利用されてきたコマンドです。
host
DNSサーバーを使ってホストやドメインに関する情報を表示します。デフォルトはホスト名とIPアドレスの変換のみです。
dig
より詳細な情報をDNSサーバーから取得できるコマンドです。
BIND
BINDの設定はメイン設定ファイルの/etc/named.confと、ゾーンファイルから構成されています。
acl(access control list)ステートメント
アクセス制御を定義します。
アクセス制御の対象とするIPアドレスやネットワークアドレスのリストを任意の名前で定義します。
includeステートメント
指定された外部ファイルを読み込みます。
optionsステートメント
namedの動作詳細(オプション)を設定します。
directory ディレクトリパス(/var/namedなど);
ゾーンファイルが格納されるディレクトリのパスを指定します。
recursion yes|no
再帰的な問い合わせを受け付けるかの設定をします。yesの場合はキャッシュサーバです。noの場合はゾーンサーバーです。
forwarders { IPアドレス; }
自身が保持しないドメイン情報の問い合わせを転送するDNSサーバーのアドレスを指定します。複数指定可
forward only|first
フォワード(forward)(回送)とは、自身の知らない問い合わせがあれば、別のDNSサーバーにそのまま問い合わせる機能のことです。
forward first
自身が情報を持っていない問い合わせがあればまずフォワードによる名前解決を行い、失敗した場合には自身で再帰的な問い合わせを行います。
forward only
フォワードによる名前解決のみを行い、自身では再帰的な問い合わせは行いません。
allow-query { IPアドレス }
問い合わせを受け付けるホストを指定します。
allow-recursion { IPアドレス }
再帰的な問い合わせを受け付けるホストを指定します。
allow-transfer { IPアドレス }
ゾーン転送を許可するホストを指定します。
blackhole { IPアドレス }
問い合わせを受け付けないホストを指定します。
version “バージョン”
バージョンを表示します。
controlsステートメント
namedを操作できるホストのIPアドレスやポート番号などを指定します。
zone
管理するドメインの範囲を定義します。
rndcコマンド
rndc(remote named daemon control)はnamedの設定や管理をローカルやリモートから行えるコマンドです。
サブコマンド | 説明 |
status | namedの状態を表示 |
reload ドメイン | 指定したゾーンファイルを再読み込み |
halt | namedを直ちに停止 |
stop | 動的な更新等を保存してからnamedを停止 |
BIND以外のDNSサーバー
dnsmasq
DNSサーバー機能(コンテンツサーバーやキャッシュサーバー)とDHCP機能を持つソフトウェアです。
djbdns
DNSのキャッシュサーバーとコンテンツサーバーが分かれており、安全性を高めたDNSサーバーです。
PowerDNS
RDB(リレーショナルデータベース)として利用できるDNSサーバーです。
今回はDNSサーバーのDNSとBIND(named)の基礎についてでした。
最後まで読んで頂きありがとうございました。
LPIC level2の他の分野へ移動できる全体ページへは以下リンクからお願いします。