第5章 暗号化された DNS を使用したシステムの DNS トラフィックの保護


暗号化された DNS を有効にすると、DNS-over-TLS (DoT) を使用する DNS 通信を保護できます。暗号化 DNS (eDNS) は、安全でないプロトコルにフォールバックすることなく、すべての DNS トラフィックをエンドツーエンドで暗号化し、ゼロトラストアーキテクチャー (ZTA) の原則に準拠します。

RHEL における eDNS の現在の実装では、DoT プロトコルのみが使用されます。カスタムの起動可能な ISO を使用して eDNS を有効にした RHEL をインストールすることも、既存の RHEL インストールで eDNS を有効にすることもできます。

重要

暗号化された DNS はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

5.1. eDNS が有効な RHEL のインストール

暗号化 DNS (eDNS) が有効になっている RHEL システムをインストールし、DNS-over-TLS (DoT) を使用してすべての DNS トラフィックを保護します。これにより、DNS のクエリーとレスポンスがプライベートかつセキュアに保たれます。カスタム CA 証明書バンドルが必要な場合は、キックスタートファイルの %certificate セクションを使用してのみインストールできます。

前提条件

  • sudo または root ユーザーアクセス権によって提供される管理者特権。これは先頭にコマンドプロンプト # が付いているコマンドに必要です。sudo アクセス権を設定する方法については、非特権ユーザーが特定のコマンドを実行できるようにする を参照してください。
  • Product Downloads ページから最小インストール用の Boot ISO イメージをダウンロードした。
  • %certificate セクションを含むキックスタートファイルがある (カスタム CA バンドルが必要な場合)。
  • lorax パッケージがインストールされている。

手順

  1. オプション: カスタム CA をインストールする必要がある場合は、%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
    Copy to Clipboard
  2. キックスタートファイルとカーネル引数を ISO に追加します。

    次のスクリプト例は、eDNS が有効なカスタムの起動可能な ISO を作成する方法を示しています。このプロセスを自動化するには、スクリプトファイルを作成する必要があります。

    !/bin/bash set -ex KERNELARGS="" # Enable network KERNELARGS+="ip=dhcp " # Set DoT DNS server KERNELARGS+="rd.net.dns=dns+tls://<server_ip><dns_server_hostname> "
    
    # Set to 'exclusive' to disable fallback to unencrypted DNS. Other values: 'backup', 'prefer'.
    KERNELARGS+="rd.net.dns-resolve-mode=exclusive "
    
    # Set the dnsconfd plugin for NetworkManager
    KERNELARGS+="rd.net.dns-backend=dnsconfd "
    
    # Remove any existing ISO to prevent conflicts with the new build
    rm -f <output_iso_filename>
    
    # Create a new bootable ISO with the Kickstart config file and kernel arguments
    mkksiso --ks <kickstart_file> --cmdline "$KERNELARGS" <input_iso_filename> <output_iso_filename>
    Copy to Clipboard
  3. スクリプトを実行します。

    sh <script_filename>
    Copy to Clipboard
  4. カスタマイズされた ISO ファイルを使用して RHEL をインストールします。

検証

  • eDNS 設定を確認します。

    $ dnsconfd status
    Copy to Clipboard

    想定される出力:

    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
        }
    ]
    Copy to Clipboard
  • nslookup を使用して DNS サーバーが応答することを確認します。

    $ nslookup <domain_name>
    Copy to Clipboard

    <domain_name> は、照会するドメインに置き換えます。

トラブルシューティング

  • unbound で詳細なロギングを有効にします。

    # unbound-control verbosity 5
    Copy to Clipboard
  • 関連するサービスのログを確認します。

    $ journalctl -xe -u <service_name>
    Copy to Clipboard

    <service_name> は、NetworkManagerdnsconfd、または unbound に置き換えます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat