RHEL/CentOS 7でキャッシュ専用DNSサーバーをインストールして構成する方法–パート10

DNSサーバーには、マスター、スレーブ、転送、およびキャッシュなど、いくつかのタイプがあります。キャッシュ専用DNSは、セットアップが容易なものの1つです。DNSはUDPプロトコルを使用するため、確認を必要としないため、クエリ時間が改善されます。

RHCE Series: Setup Cache-Only DNS in RHEL and CentOS 7 – Part 11

キャッシュ専用DNSサーバーは、リゾルバーとも呼ばれ、DNSレコードをクエリし、他のサーバーからすべてのDNS詳細を取得し、各クエリリクエストをキャッシュに保存して、将来同じリクエストを実行するときにはキャッシュから提供します。これにより、レスポンス時間がさらに短縮されます。

CentOS/RHEL 6にDNSキャッシュ専用サーバーを設定する場合は、次のガイドに従ってください:

CentOS/RHEL 6でのキャッシュ専用DNS名前サーバーの設定

私のテスト環境

DNS server		:	dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1)
Server IP Address	:	192.168.0.18
Client			:	node1.tecmintlocal.com (CentOS 7.1)
Client IP Address	:	192.168.0.29

ステップ1:RHEL/CentOS 7にキャッシュ専用DNSサーバーをインストールする

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

# yum search bind
Search DNS Bind Package

2. 上記の結果から、いくつかのパッケージが表示されます。その中から、以下のyumコマンドを使用して、bindbind-utilsパッケージのみを選択してインストールする必要があります。

# yum install bind bind-utils -y
Install DNS Bind in RHEL/CentOS 7

ステップ2:RHEL/CentOS 7でキャッシュ専用DNSを設定

3. DNSパッケージがインストールされたら、DNSを設定できます。お好みのテキストエディターを使用して/etc/named.confを開き、以下の変更を行います(または必要に応じて設定を使用できます)。

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };
Configure Cache-Only DNS in CentOS and RHEL 7

これらのディレクティブは、DNSサーバーがUDPポート53でリッスンし、localhostおよびサーバーに到達する他のすべてのマシンからのクエリとキャッシュされた応答を許可するように指示します。

4. このファイルの所有権をroot:namedに設定する必要があります。また、SELinuxが有効になっている場合、構成ファイルを編集した後、そのコンテキストがnamed_conf_tに設定されていることを確認する必要があります。図4に示すように(補助ファイル/etc/named.rfc1912.zonesにも同じことが適用されます)。

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

それ以外の場合は、進行する前にSELinuxコンテキストを設定してください。

# semanage fcontext -a -t named_conf_t /etc/named.conf
# semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones

5. さらに、BINDサービスを開始する前にDNS構成を構文エラーのテストする必要があります。

# named-checkconf /etc/named.conf

6. 構文検証の結果が完璧に見える場合、namedサービスを再起動して新しい変更を有効にし、サービスをシステムの起動時に自動的に開始し、その状態を確認します。

# systemctl restart named
# systemctl enable named
# systemctl status named
Configure and Start DNS Named Service

7. 次に、ファイアウォールでポート53を開きます。

# firewall-cmd --add-port=53/udp
# firewall-cmd --add-port=53/udp --permanent
Open DNS Port 53 on Firewall

ステップ3:RHELおよびCentOS 7でChrootキャッシュ専用DNSサーバー

8.キャッシュのみのDNSサーバーをchroot環境内に展開する場合は、システムにパッケージchrootがインストールされている必要があります。デフォルトでchrootにハードリンクされているため、追加の構成は必要ありません。

# yum install bind-chroot -y

パッケージchrootがインストールされたら、新しい変更を有効にするためにnamedを再起動できます:

# systemctl restart named

9.次に、/var/named/chroot/etc/内にシンボリックリンク(/etc/named.confとも呼ばれる)を作成します:

# ln -s /etc/named.conf /var/named/chroot/etc/named.conf

ステップ4:クライアントマシンでDNSを構成する

10.クライアントマシンにDNSキャッシュサーバーIP 192.168.0.18をリゾルバーとして追加します。次の図に示すように、/etc/sysconfig/network-scripts/ifcfg-enp0s3を編集します:

DNS=192.168.0.18
Configure DNS on Client Machine

そして/etc/resolv.confを次のようにします:

nameserver 192.168.0.18

11.最後に、キャッシュサーバーを確認する時間です。これを行うには、digユーティリティまたはnslookupコマンドを使用できます。

任意のウェブサイトを選択し、2回クエリを実行します(ここではfacebook.comを例にします)。digを使用すると、2回目のクエリはキャッシュから提供されるため、はるかに高速に完了します。

# dig facebook.com
Check Cache only DNS Queries

nslookupを使用してDNSサーバーが期待どおりに機能しているかどうかを確認することもできます。

# nslookup facebook.com
Checking DNS Query with nslookup

要約

この記事では、Red Hat Enterprise Linux 7CentOS 7でDNSキャッシュ専用サーバーを設定する方法と、クライアントマシンでのテスト方法を説明しました。何か質問や提案がある場合は、以下のフォームを使用してお知らせください。

Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/