第3章 unbound DNS サーバーのセットアップ
DNS クエリーの検証、解決、キャッシュを行うには、unbound DNS サービスを設定します。さらに、unbound はセキュリティーを強化し、Domain Name System Security Extensions (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 ページを参照してください。