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 トラフィックのみをサポートします。

DNS ALG の概要

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

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

メモ:

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

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

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

  • DNS Doctoring を実行します。

  • 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 Doctoring と呼ばれるプロセスを通じて処理しなければならない DNS 問題を引き起こす可能性があります。

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

NAT によって発生した問題を解決するために、DNS および DDNS ALG 機能が拡張されて静的 NAT をサポートし、DNS Doctoring を通じて問題を解決できるようになりました。

メモ:

DNS Doctoringを実行するには、デバイスでDNS ALGを有効にする必要があります。SRX3400、SRX3600、SRX4600、SRX5600、SRX5800の各デバイスでDNS ALGが有効になっている場合、DNS Doctoringはデフォルトで有効になっています。(プラットフォームのサポートは、インストールされている Junos OS リリースによって異なります)。

復元と医師のプロセスは、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をサポートしていない場合、172.19.1.10などのプライベートアドレスを取得します。これはXをホストするには無効です。プライベート アドレスは、DNS ALG を介してパブリック アドレス 10,131.108.10 に変換されます。

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

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

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

メモ:

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

DNS および DDNS Doctoring の無効化

DNS と DDNS の医師を実行するには、デバイスで DNS ALG を有効にする必要があります。デバイスでDNS ALGが有効になっている場合、DNSおよびDDNS Doctoring機能はデフォルトで有効になっています。CLIを使用して、DNSとDDNSの医師を無効にできます。

DNSおよびDDNS Doctoringを無効にするには:

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

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

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

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

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

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