第2章 アンバウンド DNS サーバーのセットアップ
unbound
DNS サーバーは、検証、再帰、およびキャッシング DNS リゾルバーです。さらに、unbound
はセキュリティーに重点を置いており、たとえば、デフォルトで Domain Name System Security Extensions (DNSSEC) が有効になっています。
2.1. Unbound をキャッシング DNS サーバーとして設定する
デフォルトでは、unbound
されている DNS サービスは、成功したルックアップと失敗したルックアップを解決してキャッシュします。その後、サービスはキャッシュから同じレコードへの要求に応答します。
手順
unbound
されているパッケージをインストールします。# yum install unbound
/etc/unbound/unbound.conf
ファイルを編集し、server
句で次の変更を行います。interface
パラメーターを追加して、unbound
されているサービスがクエリーをリッスンする IP アドレスを設定します。次に例を示します。interface: 127.0.0.1 interface: 192.0.2.1 interface: 2001:db8:1::1
これらの設定では、
unbound
は指定された IPv4 および IPv6 アドレスでのみリッスンします。インターフェイスを必要なものに制限することで、インターネットなどの承認されていないネットワークからのクライアントがこの DNS サーバーにクエリーを送信するのを防ぎます。
access-control
パラメーターを追加して、クライアントが DNS サービスを照会できるサブネットを設定します。次に例を示します。access-control: 127.0.0.0/8 allow access-control: 192.0.2.0/24 allow access-control: 2001:db8:1::/64 allow
unbound
されているサービスをリモートで管理するための秘密鍵と証明書を作成します。# systemctl restart unbound-keygen
この手順を省略した場合、次の手順で設定を確認すると、不足しているファイルが報告されます。ただし、
unbound
されているサービスは、ファイルが見つからない場合に自動的に作成します。設定ファイルを確認します。
# unbound-checkconf unbound-checkconf: no errors in /etc/unbound/unbound.conf
着信 DNS トラフィックを許可するように firewalld ルールを更新します。
# firewall-cmd --permanent --add-service=dns # firewall-cmd --reload
unbound
されているサービスを有効にして開始します。# systemctl enable --now unbound
検証
localhost
インターフェイスでリッスンしているunbound
されている DNS サーバーにクエリーを実行して、ドメインを解決します。# dig @localhost www.example.com ... www.example.com. 86400 IN A 198.51.100.34 ;; Query time: 330 msec ...
初めてレコードをクエリーした後、
unbound
はエントリーをそのキャッシュに追加します。前のクエリーを繰り返します。
# dig @localhost www.example.com ... www.example.com. 85332 IN A 198.51.100.34 ;; Query time: 1 msec ...
エントリーがキャッシュされるため、エントリーの有効期限が切れるまで、同じレコードに対するそれ以降のリクエストは大幅に高速化されます。
次のステップ
この DNS サーバーを使用するようにネットワーク内のクライアントを設定します。たとえば、
nmcli
ユーティリティーを使用して、DNS サーバーの IP を NetworkManager 接続プロファイルに設定します。# nmcli connection modify Example_Connection ipv4.dns 192.0.2.1 # nmcli connection modify Example_Connection ipv6.dns 2001:db8:1::1
関連情報
-
システムの
unbound.conf (5)
man ページ