CentOS6.5で「バインド」を使用してキャッシュのみのDNSサーバーをセットアップする


DNSサーバーには、マスター、スレーブ、転送、キャッシュなど、いくつかの種類があります。その中には、キャッシュのみのDNSがあり、セットアップが簡単です。 DNSはUDPプロトコルを使用するため、UDPプロトコルには確認応答がないため、クエリ時間が短縮されます。

関連項目:CentOS6.5でマスタースレーブDNSサーバーをセットアップする

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

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サーバーに対して行う必要のある変更です。ここでは、デフォルトでローカルホストが存在します。任意の範囲のネットワークからのクエリを受け入れるには、「 any 」を追加する必要があります。

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };
  1. listen-on port 53 – This say that Cache server want to use the port 53 for query.
  2. allow-query – This Specifies which ip address may query the server, here I have defined for localhost, from anywhere anyone can send query.
  3. allow-query-cache – This will add the query request to the bind.
  4. recursion – This will query the answer and give back to us, during query it may send query to other DNS server over the internet and pull back the query.

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

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

6.サーバーでselinuxが有効になっている場合は、「 namesed.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コマンドの例と使用法の詳細については、次のリンクを使用してください。

  1. 8 nslookup commands and usage
  2. 10 dig commands and usage

ここでは、バインドパッケージを使用してDNSキャッシュ専用サーバーを正常にセットアップし、chrootパッケージを使用してサーバーを保護したことを確認しました。

全著作権所有。 © Linux-Console.net • 2019-2022