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; };
- リッスンオン ポート 53 – これは、キャッシュ サーバーがクエリにポート 53 を使用したいことを示します。
- allow-query – これは、サーバーにクエリを送信できる IP アドレスを指定します。ここでは、誰でもクエリを送信できる場所から、localhost に対して定義しました。
- allow-query-cache – これにより、クエリ リクエストがバインドに追加されます。
- 再帰 – これは答えをクエリして私たちに返します。クエリ中にインターネット経由で他の 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/chroot で cat コマンドを使用します。
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 システムでは dig と nslookup コマンドを使用してテストできます。Windows では nslookup コマンドを使用できます。
初めて「facebook.com」にクエリを実行して、クエリをキャッシュしてみましょう。
dig facebook.com
dig facebook.com
同じことを確認するには、「nslookup」コマンドを使用します。
nslookup facebook.com
dig および nslookup コマンドの例と使用法の詳細については、次のリンクを使用してください。
- 8 nslookup コマンドと使用法
- 10 個の dig コマンドとその使用法
ここでは、bind パッケージを使用して DNS キャッシュ専用サーバーをセットアップし、 chroot パッケージを使用してサーバーを保護することに成功したことを確認しました。