第3章 アンバウンド DNS サーバーのセットアップ
DNS クエリーの検証、解決、キャッシュを行うには、unbound DNS サービスを設定します。さらに、unbound は セキュリティーを強化しており、Domain Name System セキュリティー拡張機能 (DNSSEC) がデフォルトで有効になっています。
3.1. Unbound をキャッシング DNS サーバーとして設定する リンクのコピーリンクがクリップボードにコピーされました!
成功したルックアップと失敗したルックアップを解決してキャッシュし、キャッシュから同じレコードへのリクエストに応答するには、unbound DNS サービスを設定します。
前提条件
- 管理者権限がある。
手順
unboundされているパッケージをインストールします。# dnf 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-checkconfunbound-checkconf: no errors in /etc/unbound/unbound.conf着信 DNS トラフィックを許可するように firewalld ルールを更新します。
# firewall-cmd --permanent --add-service=dns # firewall-cmd --reloadunboundされているサービスを有効にして開始します。# 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__ ...エントリーがキャッシュされるため、エントリーの有効期限が切れるまで、同じレコードに対するそれ以降のリクエストは大幅に高速化されます。
詳細は、お使いのシステムの
unbound.conf(5) のman ページを参照してください。