ウェブサイト検索

CentOS 6.5 の「バインド」を使用してキャッシュ専用 DNS サーバーをセットアップする


DNSサーバーにはマスター、スレーブ、フォワーディング、キャッシュなどいくつかの種類がありますが、 その中でも設定が簡単なのがキャッシュ専用DNSです。 DNS は UDP プロトコルを使用するため、UDP プロトコルには確認応答がないため、クエリ時間が短縮されます。

こちらもお読みください: CentOS 6.5 でのマスター/スレーブ DNS サーバーのセットアップ

キャッシュ専用 DNS サーバーはリゾルバーとも呼ばれます。 DNS レコードをクエリして他のサーバーからすべての DNS 情報を取得し、後で使用できるように各クエリ リクエストをキャッシュに保存します。同じリクエストを 2 回目にクエリするときは、キャッシュから処理されるため、クエリ時間が短縮されます。

CentOS/RHEL 7 で DNS キャッシュ専用サーバーをセットアップする場合は、次のガイドに従ってください。

CentOS/RHEL 7 でのキャッシュ専用 DNS ネーム サーバーのセットアップ

私のテスト環境
IP Address	:	192.168.0.200
Host-name	:	dns.tecmintlocal.com
OS		:	Centos 6.5 Final
Ports Used	:	53
Config File	:	/etc/named.conf
script file	:	/etc/init.d/named

ステップ 1: キャッシュ専用 DNS のインストール

1. キャッシュ専用 DNS は、パッケージ「bind」を使用してインストールできます。入力パッケージ名を覚えていない場合は、以下のコマンドを使用してパッケージ名を簡単に検索してみましょう。

yum search bind

2. 上記の結果には、表示されたパッケージが表示されます。そこから、「bind」パッケージと「bind-utils」パッケージを選択する必要があります。次の「yum」コマンドを使用してそれらをインストールしましょう。

yum install bind bind-utils -y

ステップ 2: キャッシュ専用 DNS を構成する

3. DNS パッケージがインストールされたら、DNS の構成に進みます。 vim エディタを使用して「named.conf」ファイルを開いて編集します。

vim /etc/named.conf

4. 次に、以下の提案に従って変更を加えるか、要件に応じて設定を使用できます。以下は、キャッシュ専用の DNS サーバーに対して行う必要がある変更です。ここでは、デフォルトで localhost が存在します。任意の範囲のネットワークからのクエリを受け入れるには、「any」を追加する必要があります。

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };

  1. リッスンオン ポート 53 – これは、キャッシュ サーバーがクエリにポート 53 を使用したいことを示します。
  2. allow-query – これは、サーバーにクエリを送信できる IP アドレスを指定します。ここでは、誰でもクエリを送信できる場所から、localhost に対して定義しました。
  3. allow-query-cache – これにより、クエリ リクエストがバインドに追加されます。
  4. 再帰 – これは答えをクエリして私たちに返します。クエリ中にインターネット経由で他の DNS サーバーにクエリを送信し、クエリをプルバックする場合があります。

5. ファイルを編集した後、「named.conf」ファイルの所有権が root:named から変更されていないかどうかを確認する必要があります。 DNS はという名前のシステム ユーザーの下で実行されます。

ls -l /etc/named.conf
ls -l /etc/named.rfc1912.zones

6. サーバーで selinux が有効になっている場合、「named.conf」ファイルを編集した後、selinux コンテキストを確認する必要があります。すべての名前付き設定ファイルは「」にある必要があります。以下の図に示すように、system_u:object_r:named_conf_t:s0」コンテキスト。

ls -lZ /etc/named.conf
ls -lZ /etc/named.rfc1912.zones

ここで、バインド サービスを開始する前に、DNS 設定で構文エラーがないかテストする必要があります。エラーが見つかった場合は、/var/messages からも追跡できます。

named-checkconf /etc/named.conf

構文チェックの結果が完璧であると思われたら、サービスを再起動して上記の変更を有効にし、サーバーの再起動中にサービスを永続的に実行して同じことを確認します。

/etc/init.d/named restart
chkconfig named on
chkconfig --list named

7. 次に、ファイアウォールのポート 53 を開いてアクセスを許可します。

iptables -I INPUT -p udp --dport 53 -j ACCEPT

ステップ 4: Chroot キャッシュ専用 DNS

8. chroot 環境で DNS キャッシュ サーバーを実行する場合は、chroot パッケージのみをインストールする必要があり、それ以上のインストールは必要ありません。デフォルトでは chroot にハードリンクされているため、設定を変更します。

yum install bind-chroot -y

chroot パッケージがインストールされたら、指定されたサービスを再起動して新しい変更を適用できます。

/etc/init.d/named restart

9. 名前付きサービスを再起動すると、/etc/named 設定ファイルから /var/named/chroot/etc/ へのハードリンクが自動的に作成されます。 ディレクトリ。確認するには、/var/named/chrootcat コマンドを使用します。

sudo cat /var/named/chroot/etc/named.conf

上記の設定では、bind-chroot パッケージのインストール中に置き換えられるため、同じ /etc/named.conf 設定が表示されます。

ステップ 5: クライアント側の DNS セットアップ

10. DNS キャッシュ サーバー IP 192.168.0.200 をリゾルバーとしてクライアント マシンに追加します。

Debian ベースのマシンでは /etc/resolv.conf の下にあり、RPM ベースのマシンでは setup コマンドの下にあります。または編集できます。 /etc/sysconfig/network-scripts/ifcfg-eth0 ファイルの下に手動で追加します。

11. 最後に、いくつかのツールを使用してキャッシュ サーバーをチェックします。 Linux システムでは dignslookup コマンドを使用してテストできます。Windows では nslookup コマンドを使用できます。

初めて「facebook.com」にクエリを実行して、クエリをキャッシュしてみましょう。

dig facebook.com

dig facebook.com

同じことを確認するには、「nslookup」コマンドを使用します。

nslookup facebook.com

dig および nslookup コマンドの例と使用法の詳細については、次のリンクを使用してください。

  1. 8 nslookup コマンドと使用法
  2. 10 個の dig コマンドとその使用法

ここでは、bind パッケージを使用して DNS キャッシュ専用サーバーをセットアップし、 chroot パッケージを使用してサーバーを保護することに成功したことを確認しました。