はじめに
このドキュメントでは、FDQNオブジェクトを使用する場合のCisco適応型セキュリティアプライアンス(ASA)でのドメインネームシステム(DNS)の動作について説明します。
前提条件
要件
Cisco ASAに関する知識があることが推奨されます。
使用するコンポーネント
シミュレートされた実稼働環境のASAで複数のFQDNが設定されている場合のDNSの動作を明らかにするために、1つのインターフェイスがインターネットに面し、1つのインターフェイスがESXiサーバでホストされるPCデバイスに接続されたASAvをセットアップしました。このシミュレーションでは、ASAv中間コード9.8.4(10)が使用されました。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ネットワーク図
トポロジの設定を次に示します。
背景説明
ASAで複数の完全修飾ドメイン名(FQDN)オブジェクトが設定されている場合、FQDNオブジェクトで定義されているいずれかのURLにアクセスしようとするエンドユーザは、ASAによって送信された複数のDNSクエリを確認します。このドキュメントの目的は、このような動作が観察される理由について、より詳細に理解することです。
設定
クライアントPCは、DNS解決のためにこれらのIP、サブネットマスク、およびネームサーバで設定されました。
ASAでは、2つのインターフェイスが設定されています。1つはPCが接続されたセキュリティレベル100の内部インターフェイス、もう1つはインターネットに接続できる外部インターフェイスです。
Gig0/1インターフェイスはインターフェイスIPが10.197.223.9の外部インターフェイスで、Gig0/3インターフェイスはインターフェイスIPが10.10.10.1の内部インターフェイスで、もう一方の端のPCに接続されています。
次に示すように、ASAでDNS設定を行います。
www.facebook.com、www.google.com、www.instagram.com、およびwww.twitter.comに対して4つのFQDNオブジェクトを設定します。
DNSトラフィックをキャプチャするために、ASAのOutsideインターフェイスでキャプチャを設定します。次に、クライアントPCで、ブラウザからwww.google.comへのアクセスを試みます。
何を観察しますか。パケットキャプチャを見てください。
ここでは、www.google.comのみを解決しようとしたにもかかわらず、すべてのFQDNオブジェクトに対して送信されるDNSクエリがあることがわかります。
次に、ASA上のIPに対するDNSキャッシングの仕組みを見て、これが発生する理由を理解します。
- クライアントPCのWebブラウザにwww.google.comと入力すると、PCからDNSクエリが送信され、IPアドレスに解決されたURLが取得されます。
- DNSサーバはPCの要求を解決し、google.comが指定された場所にあることを示すIPを返します。
- 次に、PCはgoogle.comの解決済みIPアドレスへのTCP接続を開始します。ただし、パケットがASAに到達すると、指定されたIPが許可または拒否されることを示すACLルールは存在しません。
- ただし、ASAは4つのFQDNオブジェクトを持ち、FQDNオブジェクトのいずれかが該当するIPに解決される可能性があることを認識しています。
- したがって、ASAはすべてのFQDNオブジェクトに対してDNSクエリを送信します。これは、関係するIPに解決できるFQDNオブジェクトがASAで認識されないためです(これが複数のDNSクエリが観察される理由です)。
- DNSサーバは、FQDNオブジェクトを対応するIPアドレスで解決します。FQDNオブジェクトは、クライアントが解決したのと同じパブリックIPアドレスに解決できます。そうしないと、ASAはクライアントが到達しようとしているIPアドレスとは異なるIPアドレスのダイナミックアクセスリストエントリを作成するため、ASAはパケットを廃棄してしまいます。たとえば、ユーザがgoogle.comを203.0.113.1に解決し、ASAが203.0.113.2に解決した場合、ASAは203.0.113.2の新しいダイナミックアクセスリストエントリを作成するため、ユーザはWebサイトにアクセスできません。
- 次に要求が到着したとき、その要求は特定のIPの解決を要求します。その特定のIPがASAに保存されている場合、ダイナミックACLエントリが存在することになるため、その要求はすべてのFQDNオブジェクトに対してクエリを再実行しません。
- クライアントがASAによって送信される大量のDNSクエリについて懸念している場合は、DNSタイマーの有効期限を長くします。ただし、エンドホストがDNSキャッシュにある宛先IPアドレスにアクセスを試みる場合に限ります。PCがASA DNSキャッシュに保存されていないIPを要求すると、すべてのFQDNオブジェクトを解決するためにDNSクエリが送信されます。
- この問題を回避するには、DNSクエリの数を引き続き削減する場合は、FQDNオブジェクトの数を減らすか、FQDNを解決するパブリックIPの全範囲を定義します。ただし、最初はFQDNオブジェクトの目的が達成されません。シスコのFirepower脅威対策(FTD)は、このユースケースを処理するためのより優れたソリューションです。
確認
各FQDNオブジェクトが解決されるASAのDNSキャッシュにどのIPが存在するかを確認するには、コマンドASA# sh dnsを使用できます。
関連情報
シスコテクニカルサポートおよびダウンロード