2022-04-07 09:30 AM 2023-09-13 08:41 AM 更新
この記事では、Cisco SD-WANにおけるSD-AVC(Software Defined Application Visibility and Control)の導入方法を紹介致します。
SD-WANには、特定のアプリケーションにおいて、初めて通信が発生した際、SD-WANルータがその通信フローのアプリケーションを正しく識別できず、管理者の意図通りに通信フローを制御できない、という問題が存在しています。SD-WANでは、この問題のことを「ファーストパケット問題」と呼びます。
例えば、スポーク拠点において、Microsoft 365のトラフィックをハブ拠点には転送せず、スポーク拠点のインターネット回線からローカルブレイクアウトさせるような設定を行ったとします。しかし、スポーク拠点のSD-WANルータはMicrosoft 365の初回の通信をインターネット回線からローカルブレイクアウトできず、ハブ拠点に転送してしまいます。
「ファーストパケット問題」が発生する主な原因は、様々なアプリケーションが使用しているTCPの動作に起因します。TCPでは、最初、3ウェイハンドシェークにより、TCPコネクションを確立し、その後、実際のアプリケーションのデータをやり取りします。3ウェイハンドシェークでやり取りされるパケットにはアプリケーション固有の情報は含まれません。この結果、3ウェイハンドシェークの時点では、SD-WANルータは通信フローのアプリケーションを識別できず、管理者の意図通りに通信フローを制御することはできません。
3ウェイハンドシェークが完了し、実際のアプリケーションのデータが発生すると、SD-WANルータはその通信フローのアプリケーションが識別できます。そして、識別したアプリケーションとIPアドレスのマッピング情報をキャッシュします。
このような環境に対してSD-WANを導入し、特定の通信をローカルブレイクアウトする場合、ユーザ端末側でローカルブレイクアウト対象の通信をプロキシの対象から除外します。
この状態で、ユーザ端末からローカルブレイクアウト対象の通信が発生した場合、SD-WANルータは「ファーストパケット問題」により、この通信フローのアプリケーションを正しく識別できません。その結果、SD-WANルータは本来ローカルブレイクアウトすべき通信をハブ拠点に転送してしまいます。しかし、ハブ拠点のファイアウォールでは、ユーザ端末からインターネットへの直接の通信はブロックされているため、ハブ拠点に転送されてしまった本来ローカルブレイクアウトすべき通信は、ファイアウォールでブロックされてしまいます。
この結果、本来ローカルブレイクアウトすべき通信が3ウェイハンドシェークより先に進むことができず、永続的にSD-WANルータがアプリケーションを識別できなくなり、ローカルブレイクアウト対象の通信が失敗し続けます。
Cisco SD-WANでは、SD-AVCと呼ばれる技術を使用することで、ファーストパケットの識別精度を大幅に改善可能です。
Microsoft 365の場合、cEdgeはMicrosoft 365の各種サービスのIPアドレス一覧を事前に取得可能です。cEdgeで動作しているNBARエンジンは事前に取得したIPアドレス一覧を基に、Microsoft 365の通信をファーストパケットから識別可能です。
Microsoft 365以外の一部のSaaSアプリケーションに関しては、未識別な通信が発生した際に、クラウドに問い合わせ、SD-WANファブリック全体にIPアドレスとアプリケーションのマッピング情報を共有します。
最初に、vManageのTransport VPNにDNSサーバが設定されていることを確認します。
vManage# show running-config vpn 0 vpn 0 dns 8.8.8.8 primary interface eth0 . <一部省略>
SD-AVCを使用する場合、vManageが以下のFQDNにアクセスできる必要があります。
そのため、vManageが上記のFQDNの名前解決が可能なことを確認します。
vManage# nslookup api.cisco.com nslookup in VPN 0: Server: 8.8.8.8 Address 1: 8.8.8.8 dns.google Name: api.cisco.com Address 1: 173.37.145.221 api-ext-02.cisco.com Address 2: 2001:420:1201:b::6
「Administration ⇒ Cluster Management」をクリックします。
「Service Configuration」をクリック後、vManageの「Edit」をクリックします。
vManageのログイン用のユーザ名/パスワードを入力し、「Enable SD-AVC」をチェックし、「Update」をクリックします。
vManageで再起動が発生する旨が表示されるので、「OK」をクリックします。
vManageの再起動完了後、「Configuration ⇒ Cluster Management ⇒ Service Reachability」に移動し、vManageのSD-AVCが「reachable」であることを確認します。
Cisco API Consoleにアクセスしログインします。
ログイン後、「My Keys & Apps」をクリックします。
「Register a New App」をクリックします。
「Name of your application」に適当な名前を入力し、OAuth2.0の「Client Credentials」、Select APIsの「Hello API」を選択します。最後に「I agree to the terms of service」をチェックし、「Register」をクリックします。
「My Keys & Apps」をクリックします。
KEYとCLIENT SECRETが表示されるので、テキストファイル等にコピーします。
「Administration ⇒ Settings」をクリックします。
「SD-AVC Cloud Connector」を「Enabled」に変更します。そして、手順3で取得したKEYを「Client ID」、CLIENT SECRETを「Client Secret」に入力します。「Organization Name」には組織名を入力し、「Affinity」には接続先のクラウドの地域を指定します。最後に「Telemetry」をチェックし、「Save」をクリックします。
SD-AVCによりcEdgeがクラウドからアドレス一覧を取得できているか確認します。
まず初めに、隠しコマンドを実行するために必要な「service internal」コマンドを設定し、変更内容を保存します。
cEdge1#config-transaction cEdge1(config)# service internal cEdge1(config)# commit Commit complete.
「show ip nbar classification cache sync import last」コマンドを実行し、cEdgeがアドレス一覧を取得できていることを確認します。
cEdge1#show ip nbar classification cache sync import last Imported sockets ================ | | | | | | | | | | | | | | keep after | id | IP | port | L4 | vrf-id | vrf name | app-id | eng-id | sel-id | app-name | black | o365/category | o365/service-area | sdavc/eil | rollback | ==================================================================================================================================================================================== 0 | 139.219.156.0/22 | 443 | TCP | 65535 | N/A | 1431 | 13 | 495 | ms-office-365 | no | allow [1] | exchange [1] | no | 1 | 2001:489A:2204:C00::/54 | 80 | TCP | 65535 | N/A | 1417 | 13 | 488 | share-point | no | optimize [1] | sharepoint [1] | no | 2 | 23.103.160.0/20 | 143 | TCP | 65535 | N/A | 1431 | 13 | 495 | ms-office-365 | no | allow [1] | exchange [1] | no | 3 | 13.107.18.10/31 | 143 | TCP | 65535 | N/A | 1431 | 13 | 495 | ms-office-365 | no | allow [1] | exchange [1] | no | 4 | 42.159.87.106/32 | 80 | TCP | 65535 | N/A | 1737 | 13 | 777 | ms-services | no | allow [1] | common [1] | no | 5 | 51.5.64.0/23 | 443 | TCP | 65535 | N/A | 1431 | 13 | 495 | ms-office-365 | no | optimize [1] | exchange [1] | no | 6 | 2620:1EC:8FC::6/128 | 80 | TCP | 65535 | N/A | 1737 | 13 | 777 | ms-services | no | allow [1] | common [1] | no | 7 | 103.9.8.0/22 | 80 | TCP | 65535 | N/A | 1737 | 13 | 777 | ms-services | no | allow [1] | common [1] | no | 8 | 52.238.118.132/32 | 3481 | UDP | 65535 | N/A | 83 | 13 | 83 | skype | no | optimize [1] | skype [1] | no | 9 | 40.104.0.0/15 | 443 | TCP | 65535 | N/A | 1431 | 13 | 495 | ms-office-365 | no | optimize [1] | exchange [1] | no | 10 | 2001:489A:2200:7D::/64 | 443 | TCP | 65535 | N/A | 1431 | 13 | 495 | ms-office-365 | no | optimize [1] | exchange [1] | no | . <一部省略> . 1125 | 131.253.88.192/28 | 443 | TCP | 65535 | N/A | 1431 | 13 | 495 | ms-office-365 | no | optimize [1] | exchange [1] | no | 1126 | 168.63.252.62/32 | 80 | TCP | 65535 | N/A | 1737 | 13 | 777 | ms-services | no | allow [1] | common [1] | no |
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます