5.2. ローカルインストールメディアから eDNS が有効な RHEL をインストールする
強制ポリシーを使用して、暗号化された DNS (eDNS) が有効な RHEL をローカルメディアから直接インストールします。これにより、インストール中からインストール後まで、すべての DNS クエリーがプライベートかつセキュアな状態に維持されます。
カスタムの CA 証明書バンドルが必要な場合は、キックスタートファイルの %certificate セクションを使用してバンドルをインストールする必要があります。
インストール時に、RHEL インストールコンテンツとキックスタートファイルの両方を、ローカルメディアから提供する必要があります。リモートの HTTP サーバーからキックスタートファイルをダウンロードすることはできません。インストールプログラムは、サーバーのホスト名を解決するために DNS を使用する必要があるためです。暗号化されていない DNS へのフォールバックをサポートするように環境が設定されている場合は、標準の RHEL インストールを実行し、その後で eDNS を設定できます。
前提条件
-
sudoまたは root ユーザーアクセス権によって提供される管理者特権。これは先頭にコマンドプロンプト#が付いているコマンドに必要です。sudoアクセス権を設定する方法については、非特権ユーザーが特定のコマンドを実行できるようにする を参照してください。 - RHEL インストールメディアがローカルで使用可能である。
-
カスタムの CA バンドルが必要な場合は、
%certificateセクションを含むキックスタートファイルがローカルで使用可能である。
手順
オプション:
%certificateセクションを含むキックスタートファイルを作成します。証明書がtls-ca-bundle.pemという名前のファイルに保存されていることを確認します。%certificate --dir /etc/pki/dns/extracted/pem/ --filename tls-ca-bundle.pem -----BEGIN CERTIFICATE----- <Base64-encoded_certificate_content> -----END CERTIFICATE----- %end- 起動可能なインストールメディアを準備します。カスタムの CA バンドルが必要な場合は、キックスタートファイルを含めます。
- インストールメディアを起動します。
-
ブートメニューウィンドウから必要なオプションを選択し、
eキーを押してブートパラメーターを編集します。 eDNS カーネル引数を追加します。
linux ($root)/vmlinuz-6.12.0-0.el10_0.x86_64 root=/dev/mapper/rhel-root ro crashkernel=2G-64G:256M,64G-:512M resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet emergency ip=dhcp rd.net.dns=dns+tls://<server_ip>#<dns_server_hostname> rd.net.dns-resolve-mode=exclusive rd.net.dns-backend=dnsconfd inst.ks=hd:/dev/sdb1/mykickstart.ks-
編集が完了したら、
Ctrl+Xを押して、指定したオプションを使用してインストールを開始します。
検証
eDNS 設定を確認します。
$ dnsconfd status想定される出力:
Running cache service: unbound Resolving mode: exclusive Config present in service: { ".": [ "dns+tls://198.51.100.143#dot.dns.example.com" ] } State of Dnsconfd: RUNNING Info about servers: [ { "address": "198.51.100.143", "port": 853, "name": "dot.dns.example.com", "routing_domains": [ "." ], "search_domains": [], "interface": null, "protocol": "dns+tls", "dnssec": true, "networks": [], "firewall_zone": null } ]nslookupを使用して DNS サーバーが応答することを確認します。$ nslookup <domain_name><domain_name>は、照会するドメインに置き換えます。
トラブルシューティング
unboundで詳細なロギングを有効にします。# unbound-control verbosity 5関連するサービスのログを確認します。
$ journalctl -xe -u <service_name><service_name>は、NetworkManager、dnsconfd、またはunboundに置き換えます。