サービス側 VPN での DNS リダイレクト

表 1. 機能の履歴

機能名

リリース情報

説明

サービス側 VPN での DNS リダイレクト

Cisco IOS XE Catalyst SD-WAN リリース 17.8.1a

Cisco vManage リリース 20.8.1

プロキシサーバーを使用してドメインネームシステム(DNS)クエリに応答するよう、Cisco IOS XE Catalyst SD-WAN デバイスを設定できます。この機能により、サービス側 VPN ホストの DNS プロキシとサービス VPN 内の DNS リダイレクトのサポートが追加されます。

サービス側 VPN での DNS リダイレクトについて

DNS リダイレクト機能を使用することで、Cisco IOS XE Catalyst SD-WAN デバイスが、クエリに関する一定の特性に基づいて選択された、ある具体的な設定と関連するホストテーブルキャッシュを使用して、DNS のクエリに対応できるようになります。DNS リダイレクト環境では、デバイスで複数の DNS データベースを設定できます。Cisco Catalyst SD-WAN ソフトウェアを設定しておくことで、デバイスが DNS クエリに応答するたびに、そのクエリを転送または解決することによって、DNS ネームサーバー設定の 1 つを選択できます。Cisco IOS XE Catalyst SD-WAN リリース 17.8.1a がリリースされる前は、 DNS リダイレクトのサポートは NAT ダイレクト インターネット アクセス(DIA)パスを介してのみでした。

アプリケーション認識型ルーティングポリシーにより、Cisco IOS XE Catalyst SD-WAN デバイスがアプリケーション トラフィックをサービス VPN に送信し、サービス VPN からアプリケーション トラフィックを受信することが許可されている場合、そのデバイスによって DNS ルックアップが実行され、アプリケーションサーバーに到達するためのパスが決まります。ルータがインターネットに接続されていない場合、そのような接続があるエッジデバイスに DNS クエリを送信し、そのデバイスがそのアプリケーションのサーバーに到達する方法を決定します。


(注)  


インターネット接続されたデバイスが地理的に離れたデータセンターにあるネットワークでは、解決された DNS アドレスが、サービス VPN が配置されているサイトから地理的に離れたサーバーを指します。


Cisco IOS XE Catalyst SD-WAN デバイスはインターネット出口ポイントとして設定できるため、任意のルータがインターネットに直接到達して DNS ルックアップを実行することもできます。

DNS リダイレクトの設定は、一元管理型データポリシーを使用して設定するか、またはデータトラフィックに SLA 基準を適用する場合はアプリケーション認識型ルーティングポリシーを使用して行うことができます。

サービス側 VPN での DNS リダイレクトに関する制約事項

  • DNS リダイレクト要求が同じポートと同じ VPN の別のホストからのものである場合、NAT が設定されていなければ、DNS リダイレクト要求は受け入れられません。

  • NAT を使用して DNS サーバーの IP アドレスを設定する場合、データポリシーを使用して変更することはできません。

  • フラグメント化された DNS パケットと自己生成された DNS はサポートされません。

  • オーバーレイトンネルからの DNS 要求はサポートされていません。

  • DNS リダイレクトは IPv4 トラフィックでのみサポートされ、IPv6 トラフィックではサポートされません。

  • User Datagram Protocol(UDP)を介した DNS 要求がサポートされています。ただし、Transmission Control Protocol(TCP)からの要求はサポートされていません。

サービス側 VPN での DNS リダイレクトの使用例

無条件の DNS リダイレクト

無条件のDNS リダイレクト(シナリオ A)では、ホストがすべての DNS 要求をローカルエッジルータに送信し、ローカルエッジルータは DNS 要求をデータセンターのエンタープライズ DNS サーバーにリダイレクト(これは、サービス側 VPN を使用している場合にのみ利用可能)し、DNS フォワーダとして機能します。この機能の使用例としては、プリンタに静的に設定された IP アドレスをデータセンターのエンタープライズ DNS サーバーにリダイレクトするというのがあります。このような使用例では、すべてのレガシープリンタに DNS サーバーとなるローカルルータの IP アドレスが静的に設定されているため、プリンタからのすべての DNS 要求を転送する DNS フォワーダとして機能します。

図 1. 無条件の DNS リダイレクト

条件付き DNS リダイレクト

条件付き DNS リダイレクト(シナリオ B)では、ホストがデフォルトでサービスプロバイダー(SP)またはマネージド サービス プロバイダー(MSP)の DNS を使用します。Cisco Catalyst SD-WAN アプリケーション インテリジェンス エンジン(SAIE)またはカスタムアプリケーション(*.google.com など)を使用する有名なアプリケーションの場合、DNS 要求は Cisco Catalyst SD-WAN オーバーレイ ネットワークを使用してエンタープライズ DNS サーバーに転送されます。他のすべての DNS 要求は、SP または MSP DNS サーバーに送信されます。


(注)  


Cisco vManage リリース 20.7.1 以前のリリースでは、SAIE はディープ パケット インスペクション(DPI)と呼ばれています。


図 2. 条件付き DNS リダイレクト

サービス側 VPN での DNS リダイレクトの設定

  1. Cisco SD-WAN Manager メニューから、[Configuration] > [Policies] の順に選択します。

  2. [Custom Options] ドロップダウンリストの [Centralized Policy] メニューから [Traffic Policy] を選択します。

  3. [Traffic Data] をクリックして、トラフィックデータポリシーを作成します。

  4. [Add Policy] ドロップダウンリストから、[Create New] を選択します。

  5. [Name] と [Description] に、データポリシーの名前と説明を入力します。

  6. [Sequence Type] をクリックします。

    [Add Data Policy] ダイアログボックスが表示されます。

  7. 作成するデータポリシーのタイプを [Application Firewall]、[QoS]、[Service Chaining]、[Traffic Engineering]、[Custom] から選択します。

    選択したタイプのデータポリシーを含むポリシーシーケンスが左側のペインに追加されます。

  8. 該当するテキスト文字列をダブルクリックして、ポリシーシーケンスの名前を入力します。

    入力した名前は、左側のペインと右側のペインの両方にある [Sequence Type] リストに表示されます。

  9. [Sequence Rule] をクリックします。[Match/Action] ダイアログボックスが開くと、デフォルトで [Match] が選択されています。使用可能なポリシーマッチ条件は、メニューに一覧表示されます。

  10. [Protocol] ドロップダウンリストから [IPv4] を選択し、IPv4 アドレスファミリにのみポリシーを適用します。

  11. 1 つ以上のマッチ条件を選択するには、フィールドをクリックし、説明に従って値を設定します。


    (注)  


    すべてのポリシーシーケンスタイプですべてのマッチ条件を使用できるわけではありません。


  12. マッチするデータトラフィックに対して実行するアクションを選択するには、[Actions] メニューをクリックします。

  13. マッチするトラフィックをドロップするには、[Drop] をクリックします。

    使用可能なポリシーアクションが右側に表示されます。

  14. マッチするトラフィックを受け入れるには、[Accept] をクリックします。

    使用可能なポリシーアクションが右側に表示されます。

  15. [Actions] メニューで、[Redirect DNS] を選択して DNS リダイレクトを設定します。

  16. [Redirect DNS] 条件フィールドに IP アドレスを入力し、[Save Match and Actions] をクリックします。

  17. [Save Data Policy] をクリックします。

一致条件 手順
なし(すべてのパケットにマッチ) マッチ条件を指定しないでください。
アプリケーション/アプリケーションファミリリスト/カスタムアプリケーション
  1. [Match] 条件メニューで、[Applications/Application Family List] をクリックします。

  2. ドロップダウンリストから、アプリケーションファミリを選択します。

  3. アプリケーションリストを作成するには、次の手順を実行します。

    1. [New Application List] をクリックします。

    2. リストの名前を入力します。

    3. [Application] をクリックして、個々のアプリケーションのリストを作成します。[Application Family] をクリックして、関連するアプリケーションのリストを作成します。

    4. [Select Application] ドロップダウンリストから、対応するアプリケーションまたはアプリケーションファミリを選択します。

    5. [Save] をクリックします。

DNS Application List

スプリット DNS を有効にするには、次のようにアプリケーションリストを追加します。

  1. [Match] 条件メニューで、[DNS Application List] をクリックします。

  2. ドロップダウンリストから、アプリケーションファミリを選択します。

DNS

アプリケーションリストを追加して、次のようにスプリット DNS 要求を処理します。

  1. [Match] 条件メニューで、[DNS] をクリックします。

  2. ドロップダウンリストから、[Request] を選択して、DNS アプリケーションの DNS 要求を処理します。

Destination Data Prefix
  1. [Match] 条件メニューで、[Destination Data Prefix] をクリックします。

  2. 宛先プレフィックスのリストと照合するには、[Data Prefix] ドロップダウンリストからリストを選択します。

  3. 個々の宛先プレフィックスと照合するには、[Destination: IP Prefix] フィールドにプレフィックスを入力します。

Destination Port
  1. [Match] 条件メニューで、[Destination Port] をクリックします。

  2. [Destination Port] フィールドにポート番号を入力します。単一のポート番号、ポート番号のリスト(番号がスペースで区切られたもの)、またはポート番号の範囲(2 つの番号がハイフン [-] で区切られたもの )を指定します。

DSCP
  1. [Match] 条件メニューで、[DSCP] をクリックします。

  2. [DSCP] フィールドに、DSCP 値を 0 ~ 63 の数値で入力します。

Packet Length
  1. [Match]条件メニューで、[Packet Length] をクリックします。

  2. [Packet Length] フィールドに、パケット長を 0 ~ 65535 の値で入力します。

PLP
  1. [Match] 条件メニューで、[PLP] をクリックして、[Packet Loss Priority] を設定します。

  2. [PLP] ドロップダウンリストから、[Low] または [High] を選択します。

Protocol
  1. [Match] 条件メニューで、[Protocol] をクリックします。

  2. [Protocol] フィールドに、インターネットプロトコル番号を 0 ~ 255 の数字で入力します。

Source Data Prefix
  1. [Match] 条件メニューで、[Source Data Prefix] をクリックします。

  2. 送信元プレフィックスのリストと照合するには、[Source Data Prefix List] ドロップダウンリストからデータプレフィックスリストを選択します。

  3. 個々の送信元プレフィックスと照合するには、[Source] フィールドにプレフィックスを入力します。

Source Port
  1. [Match] 条件メニューで、[Source Port] をクリックします。

  2. [Source] フィールドに、ポート番号を入力します。単一のポート番号、ポート番号のリスト(スペースで区切られた番号)、またはポート番号の範囲(ハイフン [-] で区切られた 2 つの番号)を指定します。

CLI を使用したサービス側 VPN での DNS リダイレクトの設定

次の手順は、一元管理型データポリシーを使用してリダイレクト DNS を有効にするために必要な最小限のポリシーコンポーネントを示しています。

  1. 一元管理型制御ポリシーを適用するオーバーレイ ネットワーク サイトのリストを作成します。
    vsmart(config)# policy​
    vSmart(config-policy)# lists site-list list-name
    vSmart(config-lists-list-name)# site-id site-id
    
    リストには、必要な数のサイト ID を含めることができます。サイト ID ごとに 1 つの site-id コマンドを含めます。 連続するサイト ID の場合は、番号を半角ダッシュ(–)で区切って範囲指定できます。必要に応じて、さらにサイトリストを作成します。
  2. リダイレクト DNS を有効にするアプリケーションまたはアプリケーションファミリのリストを作成します。データポリシーの [match] セクションでこれらのリストを参照します。

    vSmart(config)# policy lists
    vSmart(config-lists)# app-list list-name
    vSmart(config-app-list)# app application-name | app-family family-name
    
  3. リダイレクト DNS ポリシーを適用する VPN リストを作成します。

    vSmart(config)# policy lists
    vSmart(config-lists)# vpn-list list-name
    vSmart(config-lists)# vpn vpn-id
    
  4. 次のように、データポリシーのインスタンスを作成し、それを VPN のリストに関連付けます。

    vSmart(config)# policy data-policy policy-name
    vSmart(config-data-policy)# vpn-list list-name
    
  5. 一連のマッチ/アクションペアのシーケンスを次のように作成します。
    vSmart(config-vpn-list)# sequence number
    
    マッチ/アクションペアは、最も小さい番号のペアから始まり、ルートがペアのいずれかの条件にマッチしたときに終了するシーケンス番号の順に評価されます。または、マッチが見つからない場合は、デフォルトのアクション(ルートを拒否するか、そのまま受け入れる)が実行されます。
  6. アプリケーションリストに含まれるアプリケーションまたはアプリケーションファミリの DNS サーバー解決を処理します。list-name の引数には、リスト名を指定します。

    vSmart(config-sequence)# match dns-app-list list-name
    
  7. 次のように、DNS 要求(アウトバウンド データ トラフィックの場合)または応答(インバウンド データ トラフィックの場合)を処理するマッチ/アクションペアのシーケンスを設定します。

    vSmart(config-sequence)# match dns (request | response)
    
  8. デフォルトでは、ポリシーが適用される VPN で設定された DNS サーバーが、アプリケーションの DNS ルックアップの処理に使用されます。DNS 要求は、特定の DNS サーバーに送信できます。(サービスネットワークからの)アウトバウンドトラフィックに適用されるデータポリシー条件の場合は、DNS サーバーの IP アドレスを設定します。

    vSmart(config-sequence)# action accept redirect-dns ip-address
    

    (トンネルからの)インバウンドトラフィックに適用されるデータポリシー条件の場合は、DNS 応答がサービス VPN に正しく転送されるように、次のアクション含めます。

    vSmart(config-sequence)# action accept redirect-dns host
  9. Cisco Catalyst SD-WAN オーバーレイネットワーク内の 1 つ以上のサイトにポリシーを適用します。
    vSmart(config)# apply-policy site-list list-name
    data-policy policy-name (all | from-service)

サービス側 VPN での DNS リダイレクトの確認

以下は、 DNS リダイレクト設定の確認方法を示す show sdwan policy from-vsmart コマンドからの出力例です。

vSmart# show sdwan policy from-vsmart
from-vsmart data-policy vpn1_dns-redirect-prefer-lte
 direction from-service
 vpn-list vpn1
  sequence 1
   match
    source-ip 10.0.0.0/0
    dns       request
   action accept
    count        gdns2_-396115821
    redirect-dns 10.255.255.254
  default-action accept
from-vsmart lists vpn-list vpn1
 vpn 1

DNS リダイレクトの設定例

無条件 DNS リダイレクト

以下は、無条件 DNS リダイレクトの設定例であり、この場合すべての DNS 要求がマッチします。

policy
 data-policy rdns
  vpn-list vpn10
   sequence 10
    match
     source-ip 0.0.0.0/0
     dns       request
    !
    action 
     redirect-dns 209.165.200.225    
    !
   default-action accept
   !
  !
!
apply-policy
 site-list siteA
  data-policy rdns from-service

条件付き DNS リダイレクト

以下は、条件付き DNS リダイレクトの設定例であり、この場合、アプリケーションリストを使用して次のように選択的 DNS 要求が定義されます。

policy
 data-policy rdns
  vpn-list vpn10
   sequence 10
    match
     source-ip 10.0.0.0/8
     dns       request
     dns-app-list YouTube
    !
    action 
     redirect-dns 209.165.200.225         
    !
   default-action accept
   !
  !
!
apply-policy
 site-list siteA
  data-policy rdns from-service