この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、ASA上のCisco AnyConnectセキュアモビリティクライアントの最も一般的な通信の問題の一部をトラブルシューティングする方法について説明します。
次の項目に関する知識があることが推奨されます。
使用するコンポーネント
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
このガイドは、リモートアクセスクライアントVPNゲートウェイ(ASA)に接続する際に発生する一般的な通信の問題に適用されます。以降のセクションでは下記の問題に対応し、そのソリューションを提供しています。
次のステップを実行します。
ステップ 1:スプリットトンネルの設定を確認します。
同等の CLI 設定
ASA# show running-config tunnel-group
tunnel-group AnyConnectTGタイプのリモートアクセス
tunnel-group AnyConnectTG一般属性
デフォルトグループポリシーAnyConnectGP-Split
トンネルグループAnyConnectTG webvpn-attributes
グループエイリアスAnyConnectTGの有効化
ASA# show running-config group-policy AnyConnectGP-Split
グループポリシーAnyConnectGP-Split internal
グループポリシーのAnyConnectGP-Split属性
dns-server値10.0.1.1
VPNトンネルプロトコルIKEV2 SSLクライアント
split-tunnel-policyトンネル指定
split-tunnel-network-list値Split-ACL
スプリットDNSなし
split-tunnel-all-dns disable
同じウィンドウで、Manage > Select the Access List > Edit the Access List for Split tunnelの順に移動します
同等の CLI 設定
ASA# show running-config access-list Split-ACL
access-list Split-ACL standard permit 10.28.28.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク1
access-list Split-ACL standard permit 10.0.1.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク2
access-list Split-ACL standard permit 10.0.2.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク3
access-list Split-ACL standard permit 10.0.3.0 255.255.255.0
ステップ 2:NAT免除の設定を確認します。
トラフィックがインターフェイスIPアドレスに変換されないように、NAT免除ルールを設定する必要があります。このルールは通常、インターネットアクセス(ポートアドレス変換(PAT)を使用)用に設定されます。
注:NAT免除ルールが設定されている場合、ベストプラクティスとしてno-proxy-arpを確認し、route-lookupオプションを実行してください。
同等の CLI 設定
ASA# show running-config nat
nat (inside,outside) source static INTERNAL_NETWORKS INTERNAL_NETWORKS destination static AnyConnectPool AnyConnectPool no-proxy-arp route-lookup
ASA# show running-config object-group id INTERNAL_NETWORKS
オブジェクトグループネットワークINTERNAL_NETWORKS
ネットワークオブジェクトオブジェクトInternalNetwork1
ネットワークオブジェクトオブジェクトInternalNetwork2
ネットワークオブジェクトオブジェクトInternalNetwork3
ASA# show running-config object id InternalNetwork1
オブジェクトネットワークInternalNetwork1
サブネット10.0.1.0 255.255.255.0
ASA# show running-config object id InternalNetwork2
オブジェクトネットワークInternalNetwork2
サブネット10.0.2.0 255.255.255.0
ASA# show running-config object id InternalNetwork3
オブジェクトネットワークInternalNetwork3
サブネット10.0.3.0 255.255.255.0
ASA# show running-config object id AnyConnectPool
オブジェクトネットワークAnyConnectPool
サブネット192.168.1.0 255.255.255.0
ステップ 3:アクセスルールを確認します。
アクセスルールの設定に従って、AnyConnectクライアントからのトラフィックが、選択した内部ネットワークに到達できることを確認します。
同等の CLI 設定
ASA# show run access-group
access-group outside_access_in inインターフェイスoutside
ASA# show run access-list outside_access_in
access-list outside_access_in extended permit ip object AnyConnectPool object-group INTERNAL_NETWORKS log disable
この問題には、次の2つのシナリオが考えられます。
グループポリシーが、Tunnel All Networksとしてではなく、次に示すトンネルネットワークとしてスプリットトンネル用に設定されていることを確認します。
同等の CLI 設定
ASA# show running-config tunnel-group
tunnel-group AnyConnectTGタイプのリモートアクセス
tunnel-group AnyConnectTG一般属性
デフォルトグループポリシーAnyConnectGP-Split
トンネルグループAnyConnectTG webvpn-attributes
グループエイリアスAnyConnectTGの有効化
ASA# show run group-policy AnyConnectGP-Split
グループポリシーAnyConnectGP-Split internal
グループポリシーのAnyConnectGP-Split属性
dns-server値10.0.1.1
VPNトンネルプロトコルIKEV2 SSLクライアント
split-tunnel-policyトンネル指定
split-tunnel-network-list値Split-ACL
スプリットDNSなし
split-tunnel-all-dns disable
この場合、スプリットトンネルの最も一般的なグループポリシー設定は、Tunnel All Networksを選択することです。
同等の CLI 設定
ASA# show run tunnel-group
tunnel-group AnyConnectTGタイプのリモートアクセス
tunnel-group AnyConnectTG一般属性
デフォルトグループポリシーAnyConnectGP-Split
トンネルグループAnyConnectTG webvpn-attributes
グループエイリアスAnyConnectTGの有効化
ASA# show run group-policy AnyConnectGP-Split
グループポリシーAnyConnectGP-Split internal
グループポリシーのAnyConnectGP-Split属性
dns-server値10.0.1.1
VPNトンネルプロトコルIKEV2 SSLクライアント
スプリットトンネルポリシートンネルオール
スプリットDNSなし
split-tunnel-all-dns disable
ステップ 1:内部ネットワークの到達可能性に対するNAT免除の設定を確認します。
ただし、内部ネットワークにアクセスするには、NAT免除ルールを設定する必要があることに注意してください。前のセクションのステップ2を確認してください。
ステップ 2:ダイナミック変換のヘアピン設定を確認します。
AnyConnectクライアントがVPNトンネル経由でインターネットにアクセスできるようにするには、トラフィックがインターフェイスのIPアドレスに変換されるようにヘアピンNAT設定が正しいことを確認する必要があります。
同等の CLI 設定
ASA# show run object id AnyConnectPool
オブジェクトネットワークAnyConnectPool
nat(外部、外部)ダイナミックインターフェイス
または
ASA# show run nat
nat(outside,outside)ソースダイナミックAnyConnectPoolインターフェイス
ステップ 3:アクセスルールを確認します。
アクセスルールの設定に従って、AnyConnectクライアントからのトラフィックが外部リソースに到達できることを確認します。
同等の CLI 設定
access-list outside_access_in extended permit ip object AnyConnectPool any
access-list outside_access_in extended permit ip any object AnyConnectPool
access-group outside_access_in inインターフェイスoutside
この問題には、次の2つのシナリオが考えられます。
Tunnel All NetworksがAnyConnect用に設定されている場合は、内部および外部のすべてのトラフィックをAnyConnectヘッドエンドに転送する必要があります。これは、パブリックインターネットアクセス用のネットワークアドレス変換(NAT)を使用している場合に問題になります。これは、AnyConnectクライアントから到達した別のAnyConnectクライアント宛てのトラフィックがインターフェイスIPアドレスに変換されるため、通信が失敗するためです。
ステップ 1:NAT免除の設定を確認します。
この問題を解決するには、AnyConnectクライアント内で双方向通信を許可するように、手動のNAT免除ルールを設定する必要があります。
同等の CLI 設定
ASA# show run nat
nat(外部、外部)ソーススタティックAnyConnectPool AnyConnectPool宛先スタティックAnyConnectPool AnyConnectPool no-proxy-arp route-lookup
ステップ 2:アクセスルールを確認します。
アクセスルールの設定に従って、AnyConnectクライアントからのトラフィックが許可されていることを確認します。
同等の CLI 設定
access-list outside_access_in extended permit ip object AnyConnectPool object AnyConnectPool
access-group outside_access_in inインターフェイスoutside
次に示すAnyConnectクライアント用に設定されたトンネルネットワークでは、特定のトラフィックだけがVPNトンネル経由で転送される必要があります。ただし、AnyConnectクライアント内で通信できるように、ヘッドエンドが適切に設定されていることを確認する必要があります。
ステップ 1:NAT免除の設定を確認します。
この同じセクションのポイント1のステップ1を確認してください。
ステップ 2:スプリットトンネルの設定を確認します。
AnyConnectクライアントがクライアント間で通信するには、VPNプールアドレスをスプリットトンネルアクセスコントロールポリシー(ACL)に追加する必要があります。
注:AnyConnectクライアント用のIPプールが複数あり、異なるプール間の通信が必要な場合は、すべてのプールをスプリットトンネルACLに追加してください。また、必要なIPプールのNAT免除ルールを追加します。
同等の CLI 設定
ip local pool RAVPN-Pool 192.168.1.1-192.168.1.254 mask 255.255.255.0
tunnel-group AnyConnectTGタイプのリモートアクセス
tunnel-group AnyConnectTG一般属性
デフォルトグループポリシーAnyConnectGP-Split
トンネルグループAnyConnectTG webvpn-attributes
グループエイリアスAnyConnectTGの有効化
グループポリシーAnyConnectGP-Split internal
グループポリシーのAnyConnectGP-Split属性
dns-server値10.0.1.1
VPNトンネルプロトコルIKEV2 SSLクライアント
split-tunnel-policyトンネル指定
split-tunnel-network-list値Split-ACL
スプリットDNSなし
split-tunnel-all-dns disable
ASA# show run access-list Split-ACL
access-list Split-ACL standard permit 10.28.28.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク1
access-list Split-ACL standard permit 10.0.1.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク2
access-list Split-ACL standard permit 10.0.2.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク3
access-list Split-ACL standard permit 10.0.3.0 255.255.255.0
access-list Split-ACL remark AnyConnectプールサブネット
access-list Split-ACL standard permit 192.168.1.0 255.255.255.0
ステップ 3:アクセスルールを確認します。
アクセスルールの設定に従って、AnyConnectクライアントからのトラフィックが許可されていることを確認します。
同等の CLI 設定
access-list outside_access_in extended permit ip object AnyConnectPool object AnyConnectPool
access-group outside_access_in inインターフェイスoutside
VPN経由で通話やビデオ会議を確立する必要がある場合があります。
AnyConnectクライアントは、AnyConnectヘッドエンドに問題なく接続できます。内部および外部のリソースにアクセスできますが、通話を確立できません。
この場合、次の点を考慮する必要があります。
デフォルトでは、ASAのグローバルポリシーマップでアプリケーションインスペクションがデフォルトで有効になっています。
ほとんどの場合、AnyConnectヘッドエンドでアプリケーションインスペクションが有効になっており、信号および音声トラフィックが変更されるため、VPN電話はCUCMとの信頼性の高い通信を確立できません。
アプリケーションインスペクションを適用できる音声およびビデオアプリケーションの詳細については、次のドキュメントを参照してください。
アプリケーショントラフィックがグローバルポリシーマップによってドロップまたは変更されているかどうかを確認するには、次に示すようにshow service-policyコマンドを使用できます。
ASA#show service-policy
グローバルポリシー:
サービスポリシー:global_policy
クラスマップ: inspection_default
を参照。
<Output omitted>
を参照。
検査:sip、packet 792114、lock fail 0、drop 10670、reset-drop 0、5-min-pkt-rate 0 pkts/sec、v6-fail-close 0 sctp-drop-override 0
を参照。
<Output omitted>
この場合、SIPインスペクションによってトラフィックがドロップされます。
また、SIPインスペクションでは、IPヘッダーではなくペイロード内のIPアドレスを変換することもできるため、さまざまな問題が発生します。そのため、AnyConnect VPNで音声サービスを使用する場合は、SIPインスペクションを無効にすることをお勧めします。
SIPインスペクションを無効にするには、次の手順を実行します。
ステップ 1:Configuration > Firewall > Service Policy Rulesの順に選択します。
ステップ 2:グローバルポリシールール>ルールアクションを編集します。
SIP protocolボックスのチェックマークを外します。
同等の CLI 設定
ASA# show run policy-map
!
policy-map type inspect dns preset_dns_mapを使用します。
パラメータ
message-length maximum client auto
message-length maximum 512
no tcp-inspectionコマンド
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
FTPの検査
h323 h225の検査
inspect h323 ras
inspect rsh
inspect rtsp
inspect esmtp
inspect sqlnet
inspect skinny
inspect sunrpc
inspect xdmcp
inspect sip
inspect netbios
inspect tftp
インスペクションIPオプション
!
次の手順では、SIPインスペクションを無効にします。
ASA#ターミナルの設定
ASA(config)# policy-map global_policy
ASA(config-pmap)# class inspection_default
ASA(config-pmap-c)# no inspect sip
グローバルポリシーマップでSIPインスペクションが無効になっていることを確認します。
ASA# show run policy-map
!
policy-map type inspect dns preset_dns_mapを使用します。
パラメータ
message-length maximum client auto
message-length maximum 512
no tcp-inspectionコマンド
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
FTPの検査
h323 h225の検査
inspect h323 ras
inspect rsh
inspect rtsp
inspect esmtp
inspect sqlnet
inspect skinny
inspect sunrpc
inspect xdmcp
inspect netbios
inspect tftp
インスペクションIPオプション
前のセクションで説明したように、AnyConnectクライアントの非常に一般的なニーズは、VPNに接続されたときに通話を確立することです。場合によっては、コールを確立できますが、クライアント側で音声が聞こえない可能性があります。これは、次のシナリオに適用されます。
これを修正するには、次の手順を確認します。
ステップ 1:スプリットトンネルの設定を確認します。
同じウィンドウで、Manage > Select the Access List > Edit the Access List for Split tunnelの順に移動します。
音声サーバとAnyConnect IPプールネットワークがスプリットトンネルアクセスコントロールリスト(ACL)にリストされていることを確認します。
同等の CLI 設定
tunnel-group AnyConnectTGタイプのリモートアクセス
tunnel-group AnyConnectTG一般属性
デフォルトグループポリシーAnyConnectGP-Split
トンネルグループAnyConnectTG webvpn-attributes
グループエイリアスAnyConnectTGの有効化
グループポリシーAnyConnectGP-Split internal
グループポリシーのAnyConnectGP-Split属性
dns-server値10.0.1.1
VPNトンネルプロトコルIKEV2 SSLクライアント
split-tunnel-policyトンネル指定
split-tunnel-network-list値Split-ACL
スプリットDNSなし
split-tunnel-all-dns disable
access-list Split-ACL standard permit 10.28.28.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク1
access-list Split-ACL standard permit 10.0.1.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク2
access-list Split-ACL standard permit 10.0.2.0 255.255.255.0
access-list Split-ACL remark内部ネットワーク3
access-list Split-ACL standard permit 10.0.3.0 255.255.255.0
access-list Split-ACL remark AnyConnectプールサブネット
access-list Split-ACL standard permit 192.168.1.0 255.255.255.0
access-list Split-ACL remark音声サーバサブネット
access-list Split-ACL standard permit 10.1.100.0 255.255.255.240
ステップ 2:NAT免除の設定を確認します。
NAT免除ルールは、AnyConnect VPNネットワークから音声サーバネットワークへのトラフィックを免除し、AnyConnectクライアント内で双方向通信を許可するように設定する必要があります。
NAT除外ルールが正しい送信元(音声サーバ)および宛先(AnyConnect VPNプール)ネットワークに対して設定されていること、およびAnyConnect ClientからAnyConnect Clientへの通信を許可するヘアピンNATルールが設定されていることを確認します。さらに、ネットワーク設計に従って、ルールごとに正しい着信インターフェイスと発信インターフェイスの設定が行われていることを確認します。
同等の CLI 設定
nat (内部、外部)ソーススタティックINTERNAL_NETWORKS INTERNAL_NETWORKS宛先スタティックAnyConnectPool AnyConnectPool no-proxy-arp route-lookup
nat(内部、外部)ソーススタティック音声サーバ音声サーバ宛先スタティックAnyConnectPool AnyConnectPool no-proxy-arp route-lookup
nat(外部、外部)ソーススタティックAnyConnectPool AnyConnectPool宛先スタティックAnyConnectPool AnyConnectPool no-proxy-arp route-lookup
ステップ 3:SIPインスペクションが無効になっていることを確認します。
SIPインスペクションを無効にする方法については、前の「AnyConnectクライアントが電話コールを確立できない」の項を参照してください。
ステップ 4:アクセスルールを確認します。
アクセスルールの設定に従って、AnyConnectクライアントからのトラフィックが音声サーバおよび関連するネットワークに到達できることを確認します。
同等の CLI 設定
access-list outside_access_in extended permit ip object AnyConnectPool object AnyConnectPool
access-list outside_access_in extended permit ip object AnyConnectPool object-group VoiceServers
access-group outside_access_in inインターフェイスoutside
改定 | 発行日 | コメント |
---|---|---|
1.0 |
03-Apr-2023 |
初版 |