Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

DNS ALG

ドメイン生成アルゴリズム(DNS)アプリケーション層ゲートウェイ(ALG)サービスは、ドメイン名の検索とIPアドレスへの変換に関連するデータを処理します。ALG は通常、ポート 53 で実行されます。ALGはDNSクエリーと応答パケットを監視し、UDPトラフィックのみをサポートします。

Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。

プラットフォームに関連する注意事項については、「プラットフォーム固有の DNS ALG の動作 」セクションを確認してください。

DNS ALG の概要

DNS アプリケーション層ゲートウェイ(ALG)サービスは、DNS クライアントで使用するアプリケーションレベルのゲートウェイを提供します。DNS ALG サービスを使用すると、クライアントは異なるネットワーク内の複数の DNS サーバーにアクセスでき、それらのサーバーとのルーティングを提供できます。また、DNSクエリーとレスポンスパケットの柔軟なアドレス変換もサポートしています。これらの関数を使用すると、DNS クライアントは、ネットワークのクライアント側にある 1 つの DNS サーバー インスタンスから多数の異なるドメインに対してクエリを実行できます。

DNS サーバーは、UDP ポート 53 を介して、DNS リゾルバーからの着信クエリをリッスンします。リゾルバーは、DNS クエリを送信し、DNS 応答を処理することで、DNS サーバーと通信します。

手記:

DNS ALG のデフォルトポートはポート 53 です。

DNS ALG は、次の機能を実行します。

  • DNS クエリーと応答パケットを監視し、DNS 応答を受信したときにセッションを閉じます

  • DNSドクターを実行します

  • IPv4 および IPv6 アドレス変換を実行します

ドメイン生成アルゴリズム (DNS) はもともと、静的に構成されたデータベースのクエリをサポートするように設計されており、データの変更が予想されていました。

DNS標準に加えて、ダイナミックDNS(DDNS)のサポートが利用できるようになりました。DNSとDDNSの主な違いは、ヘッダーセクションと更新メッセージのメッセージ形式にあります。

DDNSメッセージは、DNSメッセージとは異なる方法で処理されます。DDNS用にメッセージ解析が書き換えられました。DDNSはメッセージのクエリ部分でNATとNAT-PTを実行し、DNSはメッセージの応答部分でNATとNAT-PTを実行します。

例:DNS ALG の設定

この例では、デバイスの静的 NAT プールで DNS トラフィックを通過するように DNS ALG を構成する方法を示します。

必要条件

開始する前に、以下を実行します。

  • すべてのIPアドレスに対して静的NAT プールを設定します。

  • DNS 向け ALG の概念を理解します。「 DNS ALG の概要」を参照してください。

概要

この例では、DNS用ALGは、ジュニパーネットワークスのデバイスの反対側にあるクライアントとサーバー間でDNSトラフィックを監視および交換できるように設定されています。

この例では、静的NAT プールとルールセットを設定し、DNS ALGをポリシーに関連付ける方法を示しています。

位相幾何学

図 1 は、DNS ALG トポロジーを示しています。

図 1: DNS ALG トポロジー DNS ALG Topology

構成

NAT 静的プールとルール セットの設定

CLIクイック構成

この例のセクションを迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの 設定モードにおけるCLIエディターの使用を参照してください。

静的NAT プールを設定するには:

  1. NAT 静的ルール セットを作成します。

  2. ポリシーを使用してDNSアプリケーションを関連付けます。

業績

設定モードから、 show security nat コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

DNS トレースの設定と印刷

目的

DNS トレース ファイルを出力します。

アクション

設定モードから、次のコマンドを入力します。

検証

設定が正常に機能していることを確認するには、次のタスクを実行します。

DNS ALGの検証

目的

DNS ALG が有効になっていることを確認します。

アクション

動作モードから、 show security alg status コマンドを入力します。

意味

出力は、DNS ALG が有効になっていることを示しています。

DNS ALGセキュリティフローセッションの検証

目的

ALGセキュリティフローセッションが有効になっていることを確認します。

アクション

動作モードから show security flow session application dns extensive コマンドを入力します。

意味

出力は、DNS ALGを利用するアクティブなフローがあることを示しています。

DNSとDDNSドクターの理解

Junos OSは、ALGのドメイン生成アルゴリズム(DNS)をサポートしています。DNS ALG は DNS クエリと応答パケットを監視し、DNS フラグがパケットが応答メッセージであることを示している場合はセッションを閉じます。DNS ALGを設定するには、[edit security alg]階層レベルでedit security alg dnsステートメントを使用します。

DNSはルーティングクラス内で名前からアドレスへのマッピングを提供しますが、ネットワークアドレス変換(NAT)は、同じルーティングクラスの異なるアドレスレルム内のホスト間で透過的なルーティングを提供しようとします。その結果、NAT は、DNG ALG が DNS ドクターと呼ばれるプロセスを通じて処理する必要があるいくつかの DNS の問題を引き起こす可能性があります。

同じドクター機能は、動的ドメインネームシステム(DDNS)にも適用されます。NATモードのDDNSの場合、DDNSアップデートでIP変換を行うこともできます。

NATによってもたらされる問題を解決するために、DNSとDDNS ALG機能がスタティックNATをサポートするように拡張され、DNSドクターによって問題を解決できるようになりました。

復元とドクターのプロセスは、次の2つの部分で実行されます。

  • Packet sanity check

    DNS パケットの場合、DNS ALG チェック フィールドは、質問、回答、権限、および追加情報です。質問数が 1 を超える場合、ドメイン名が 255 バイトを超える場合、またはラベルの長さが 63 バイトを超える場合、DNS ALG はパケットをドロップします。

    DDNSパケットの場合、DNS ALGチェックフィールドはゾーン、前提条件、更新、および追加データです。ゾーン数が 1 を超える場合、ドメイン名が 255 バイトを超える場合、またはラベルの長さが 63 バイトを超える場合、DNS ALG はパケットをドロップします。

    DNSとDDNSの両方で、DNS ALGは標準に準拠していないパケットをドロップします。

  • NAT

図 2 は、DNS がプライベート アドレスをパブリック アドレスに変換する方法を示しています。

図2:DNSアドレス変換(プライベートからパブリックへの) DNS Address Translation (Private to Public)

external.com のホストXがDNSを介してホストAのアドレスを解決したい場合、DNS ALGがNATをサポートしていない場合、ホストXに対して無効な172.19.1.10などのプライベートアドレスを使用します。プライベートアドレスは、DNS ALG を介してパブリックアドレス 10,131.108.10 に変換されます。

図 3 は、DNS がパブリック アドレスをプライベート アドレスに変換する方法を示しています。

図3:DNSアドレス変換(パブリックからプライベートへの) DNS Address Translation (Public to Private)

private.com のホストAがDNSを介してホストBのアドレスを解決したい場合、DNS ALGがNATをサポートしていない場合、10.131.108.8などの external.com DNS サーバーからパブリックアドレスを取得します。ホストAがパブリックアドレス10.131.108.8でホストBにトラフィックを送信した場合、これはプライベートドメインのホストBに対して無効です。したがって、DNSクエリAレコードのパブリックアドレスは、DNS ALGを介してプライベートアドレス172.19.2.1に変換されます。

手記:

DNS ALG は、1 つの DNS 応答で最初の 32 個の A レコードを変換できます。最初の 32 レコードより後の A レコードは処理されません。また、DNS ALGはIPv4およびIPv6アドレスをサポートし、VPNトンネルはサポートしていないことにも注意してください。

DNSおよびDDNSドクターの無効化

DNSおよびDDNSドクターを実行するには、デバイスでDNS ALGを有効にする必要があります。デバイスでDNS ALGを有効にすると、DNSおよびDDNSドクター機能がデフォルトで有効になります。CLIでDNSとDDNSのドクターを無効にできます。

DNSとDDNSのドクターを無効にするには:

  1. none設定オプションを指定して、すべてのドクター機能を無効にします。

    このコマンドは、すべてのドクター機能を無効にします。

  2. sanity-check設定オプションを指定して、NAT機能を無効にし、サニティーチェック機能を保持します。

    このオプションは、NAT 機能を無効にし、サニティー チェック機能を保持します。

  3. デバイスの設定が完了したら、設定をコミットします。

  4. 設定を検証するには、vty コマンド show usp algs dns statsを使用します。

プラットフォーム固有のDNS ALGの動作

Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。

次の表を使用して、プラットフォームのプラットフォーム固有の動作を確認します。

プラットホーム

SRX シリーズ

  • DNS ALGをサポートするSRX3400、SRX3600、SRX4600、SRX5600、およびSRX5800デバイスでは、デフォルトでDNSドクターが有効になります。