본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 ASA에서 Cisco AnyConnect Secure Mobility Client의 가장 일반적인 통신 문제를 해결하는 방법에 대해 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
사용되는 구성 요소
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
이 설명서는 ASA(Remote Access Client VPN Gateway)에 연결할 때 발생하는 일반적인 통신 문제에 적용됩니다. 이 섹션에서는 다음 문제에 대한 해결책을 제공합니다.
다음 단계를 완료하십시오.
1단계. 스플릿 터널 컨피그레이션을 확인합니다.
동등한 CLI 컨피그레이션:
ASA# show running-config tunnel-group
터널 그룹 AnyConnectTG 유형 원격 액세스
터널 그룹 AnyConnectTG 일반 특성
default-group-policy AnyConnectGP-Split
터널 그룹 AnyConnectTG webvpn 특성
그룹 별칭 AnyConnectTG 활성화
ASA# show running-config group-policy AnyConnectGP-Split
그룹 정책 AnyConnectGP-Split 내부
group-policy AnyConnectGP-Split 특성
dns-server 값 10.0.1.1
vpn-tunnel-protocol ikev2 ssl 클라이언트
스플릿 터널 정책 터널지정됨
split-tunnel-network-list 값 Split-ACL
스플릿 dns 없음
split-tunnel-all-dns 비활성화
동일한 창에서 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
액세스 목록 Split-ACL 설명 내부 네트워크2
access-list Split-ACL standard permit 10.0.2.0 255.255.255.0
액세스 목록 Split-ACL remark 내부 네트워크3
access-list Split-ACL standard permit 10.0.3.0 255.255.255.0
2단계. NAT 예외 컨피그레이션을 확인합니다.
일반적으로 인터넷 액세스(Port Address Translation 포함)를 위해 구성된 인터페이스 IP 주소로 트래픽이 변환되지 않도록 NAT 예외 규칙을 구성해야 합니다.
참고: NAT 예외 규칙이 구성된 경우 no-proxy-arp를 확인하고 모범 사례로서 경로 조회 옵션을 수행합니다.
동등한 CLI 컨피그레이션:
ASA# show running-config nat
nat(내부,외부) 소스 고정 INTERNAL_NETWORKS INTERNAL_NETWORKS 목적지 고정 AnyConnectPool AnyConnectPool no-proxy-arp 경로 조회
ASA# show running-config object-group id INTERNAL_NETWORKS
object-group network INTERNAL_NETWORKS
네트워크 개체 InternalNetwork1
네트워크 개체 InternalNetwork2
네트워크 개체 InternalNetwork3
ASA# show running-config object id InternalNetwork1
개체 네트워크 내부 네트워크1
서브넷 10.0.1.0 255.255.255.0
ASA# show running-config object id InternalNetwork2
개체 네트워크 내부 네트워크2
서브넷 10.0.2.0 255.255.255.0
ASA# show running-config object id InternalNetwork3
개체 네트워크 내부 네트워크3
서브넷 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
interface outside의 access-group outside_access_in
ASA# show run access-list outside_access_in
access-list outside_access_in 확장 허용 ip 개체 AnyConnectPool 개체 그룹 INTERNAL_NETWORKS 로그 비활성화
이 문제에 대한 두 가지 시나리오가 있습니다.
그룹 정책이 스플릿 터널에 대해 Tunnel All Networks(모든 네트워크 터널링)가 아니라 Tunnel Listed Below(아래에 나열된 터널 네트워크)로 구성되어 있는지 확인합니다.
동등한 CLI 컨피그레이션:
ASA# show running-config tunnel-group
터널 그룹 AnyConnectTG 유형 원격 액세스
터널 그룹 AnyConnectTG 일반 특성
default-group-policy AnyConnectGP-Split
터널 그룹 AnyConnectTG webvpn 특성
그룹 별칭 AnyConnectTG 활성화
ASA# show run group-policy AnyConnectGP-Split
그룹 정책 AnyConnectGP-Split 내부
group-policy AnyConnectGP-Split 특성
dns-server 값 10.0.1.1
vpn-tunnel-protocol ikev2 ssl 클라이언트
스플릿 터널 정책 터널지정됨
split-tunnel-network-list 값 Split-ACL
스플릿 dns 없음
split-tunnel-all-dns 비활성화
이 경우 스플릿 터널에 대한 가장 일반적인 그룹 정책 컨피그레이션은 Tunnel All Networks(모든 네트워크 터널링)를 선택하는 것입니다.
동등한 CLI 컨피그레이션:
ASA# show run tunnel-group
터널 그룹 AnyConnectTG 유형 원격 액세스
터널 그룹 AnyConnectTG 일반 특성
default-group-policy AnyConnectGP-Split
터널 그룹 AnyConnectTG webvpn 특성
그룹 별칭 AnyConnectTG 활성화
ASA# show run group-policy AnyConnectGP-Split
그룹 정책 AnyConnectGP-Split 내부
group-policy AnyConnectGP-Split 특성
dns-server 값 10.0.1.1
vpn-tunnel-protocol ikev2 ssl 클라이언트
스플릿 터널 정책 터널
스플릿 dns 없음
split-tunnel-all-dns 비활성화
1단계. 내부 네트워크 연결에 대한 NAT 예외 컨피그레이션을 확인합니다.
내부 네트워크에 액세스할 수 있도록 여전히 NAT 예외 규칙을 구성해야 합니다. 이전 섹션의 2단계를 검토하십시오.
2단계. 동적 변환에 대한 헤어핀 컨피그레이션을 확인합니다.
AnyConnect 클라이언트가 VPN 터널을 통해 인터넷에 액세스하려면 인터페이스의 IP 주소로 변환되는 트래픽에 대해 헤어핀 NAT 컨피그레이션이 올바른지 확인해야 합니다.
동등한 CLI 컨피그레이션:
ASA# show run object id AnyConnectPool
개체 네트워크 AnyConnectPool
nat(외부, 외부) 동적 인터페이스
또는
ASA# show run nat
nat(외부, 외부) 소스 동적 AnyConnectPool 인터페이스
3단계. 액세스 규칙을 확인합니다.
액세스 규칙 컨피그레이션에 따라 AnyConnect 클라이언트의 트래픽이 외부 리소스에 도달할 수 있도록 허용되어야 합니다.
동등한 CLI 컨피그레이션:
access-list outside_access_in 확장 허용 ip 개체 AnyConnectPool any
access-list outside_access_in extended permit ip any object AnyConnectPool
interface outside의 access-group outside_access_in
이 문제에 대한 두 가지 시나리오가 있습니다.
AnyConnect에 대해 Tunnel All Networks가 구성된 경우 내부 및 외부의 모든 트래픽이 AnyConnect 헤드엔드로 전달되어야 합니다. 이는 공용 인터넷 액세스를 위한 NAT(Network Address Translation)가 있는 경우 문제가 됩니다. AnyConnect 클라이언트에서 다른 AnyConnect 클라이언트로 전달되는 트래픽이 인터페이스 IP 주소로 변환되므로 통신이 실패합니다.
1단계. NAT 예외 컨피그레이션을 확인합니다.
이 문제를 해결하려면 AnyConnect 클라이언트 내에서 양방향 통신을 허용하도록 수동 NAT 예외 규칙을 구성해야 합니다.
동등한 CLI 컨피그레이션:
ASA# show run nat
nat(외부, 외부) 소스 고정 AnyConnectPool AnyConnectPool 대상 고정 AnyConnectPool AnyConnectPool no-proxy-arp 경로 조회
2단계. 액세스 규칙을 확인합니다.
액세스 규칙 컨피그레이션에 따라 AnyConnect 클라이언트의 트래픽이 허용되는지 확인합니다.
동등한 CLI 컨피그레이션:
access-list outside_access_in 확장 허용 ip 개체 AnyConnectPool 개체 AnyConnectPool
interface outside의 access-group outside_access_in
아래 나열된 터널 네트워크가 AnyConnect 클라이언트에 대해 구성된 경우 특정 트래픽만 VPN 터널을 통해 전달되어야 합니다. 그러나 헤드엔드가 AnyConnect 클라이언트 내에서 통신을 허용하기 위한 적절한 구성을 갖추고 있는지 확인해야 합니다.
1단계. NAT 예외 컨피그레이션을 확인합니다.
이 섹션에서 포인트 1의 1단계를 확인하십시오.
2단계. 스플릿 터널 컨피그레이션을 확인합니다.
AnyConnect 클라이언트가 클라이언트 간에 통신을 수행하려면 VPN 풀 주소를 스플릿 터널 ACL(Access Control Policy)에 추가해야 합니다.
참고: AnyConnect 클라이언트용 IP 풀이 두 개 이상이고 다른 풀 간의 통신이 필요한 경우 스플릿 터널 ACL에 모든 풀을 추가해야 합니다. 또한 필요한 IP 풀에 대한 NAT 예외 규칙을 추가합니다.
동등한 CLI 컨피그레이션:
ip 로컬 풀 RAVPN-Pool 192.168.1.1-192.168.1.254 mask 255.255.255.0
터널 그룹 AnyConnectTG 유형 원격 액세스
터널 그룹 AnyConnectTG 일반 특성
default-group-policy AnyConnectGP-Split
터널 그룹 AnyConnectTG webvpn 특성
그룹 별칭 AnyConnectTG 활성화
그룹 정책 AnyConnectGP-Split 내부
group-policy AnyConnectGP-Split 특성
dns-server 값 10.0.1.1
vpn-tunnel-protocol ikev2 ssl 클라이언트
스플릿 터널 정책 터널지정됨
split-tunnel-network-list 값 Split-ACL
스플릿 dns 없음
split-tunnel-all-dns 비활성화
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
액세스 목록 Split-ACL 설명 내부 네트워크2
access-list Split-ACL standard permit 10.0.2.0 255.255.255.0
액세스 목록 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 확장 허용 ip 개체 AnyConnectPool 개체 AnyConnectPool
interface outside의 access-group outside_access_in
VPN을 통해 전화 통화와 화상 회의를 설정해야 할 때가 있습니다.
AnyConnect 클라이언트는 문제 없이 AnyConnect 헤드엔드에 연결할 수 있습니다. 내부 및 외부 리소스에 연결할 수 있지만 전화 통화를 설정할 수 없습니다.
이 경우 다음과 같은 사항을 고려해야 합니다.
기본적으로 ASA는 전역 정책 맵에서 애플리케이션 검사가 기본적으로 활성화되어 있습니다.
대부분의 경우 AnyConnect 헤드엔드에 신호 및 음성 트래픽을 수정하는 애플리케이션 검사가 활성화되어 있기 때문에 VPN 전화기가 CUCM과의 안정적인 통신을 설정할 수 없습니다.
애플리케이션 검사를 적용할 수 있는 음성 및 비디오 애플리케이션에 대한 자세한 내용은 다음 문서를 참조하십시오.
애플리케이션 트래픽이 글로벌 정책 맵에 의해 삭제되거나 수정되었는지 확인하려면 다음과 같이 show service-policy 명령을 사용할 수 있습니다.
ASA#show service-policy
전역 정책:
서비스 정책: global_policy
클래스 맵: inspection_default
.
<출력 생략>
.
검사: sip , 패킷 792114, 잠금 실패 0, 삭제 10670, 재설정-삭제 0, 5-min-pkt-rate 0 pkts/sec, v6-fail-close 0 sctp-drop-override 0
.
<출력 생략>
이 경우 SIP 검사는 트래픽을 삭제합니다.
또한 SIP 검사는 IP 헤더가 아닌 페이로드 내에서 IP 주소를 변환할 수도 있으므로 AnyConnect VPN을 통해 음성 서비스를 사용하려는 경우 이를 비활성화하는 것이 좋습니다.
SIP 검사를 비활성화하려면 다음 단계를 완료하십시오.
1단계. Configuration(컨피그레이션) > Firewall(방화벽) > Service Policy Rules(서비스 정책 규칙)로 이동합니다.
2단계. Global Policy Rule(전역 정책 규칙) > Rule Actions(규칙 작업)를 편집합니다.
SIP Protocol(SIP 프로토콜) 상자의 선택을 취소합니다.
동등한 CLI 컨피그레이션:
ASA# show run policy-map
!
policy-map type inspect dns preset_dns_map
매개변수
message-length maximum client auto
message-length 최대 512
tcp 검사 없음
정책 맵 global_policy
class inspection_default
inspect dns preset_dns_map
ftp 검사
검사 h323 h225
h323 ras 검사
rsh 검사
rtsp 검사
esmtp 검사
inspect sqlnet
inspect skinny
inspect sunrpc
xdmcp 검사
inspect sip
netbios 검사
tftp 검사
inspect ip-options
!
다음 단계는 SIP 검사를 비활성화하는 것입니다.
ASA# 터미널 구성
ASA(config)# policy-map global_policy
ASA(config-pmap)# class inspection_default
ASA(config-pmap-c)# inspect sip 없음
전역 정책 맵에서 SIP 검사가 비활성화되어 있는지 확인합니다.
ASA# show run policy-map
!
policy-map type inspect dns preset_dns_map
매개변수
message-length maximum client auto
message-length 최대 512
tcp 검사 없음
정책 맵 global_policy
class inspection_default
inspect dns preset_dns_map
ftp 검사
검사 h323 h225
h323 ras 검사
rsh 검사
rtsp 검사
esmtp 검사
inspect sqlnet
inspect skinny
inspect sunrpc
xdmcp 검사
netbios 검사
tftp 검사
inspect ip-options
이전 섹션에서 언급한 것처럼 AnyConnect 클라이언트에 대한 매우 일반적인 요구는 VPN에 연결할 때 전화 통화를 설정하는 것입니다. 경우에 따라 통화를 설정할 수 있지만, 클라이언트에 오디오가 부족할 수 있습니다. 이는 다음 시나리오에 적용됩니다.
이 문제를 해결하려면 다음 단계를 확인할 수 있습니다.
1단계. 스플릿 터널 컨피그레이션을 확인합니다.
동일한 창에서 Manage(관리) > Select the Access List(액세스 목록 선택) > Edit the Access List for Split tunnel(스플릿 터널에 대한 액세스 목록 편집)로 이동합니다.
음성 서버 및 AnyConnect IP 풀 네트워크가 스플릿 터널 ACL(Access Control List)에 나열되어 있는지 확인합니다.
동등한 CLI 컨피그레이션:
터널 그룹 AnyConnectTG 유형 원격 액세스
터널 그룹 AnyConnectTG 일반 특성
default-group-policy AnyConnectGP-Split
터널 그룹 AnyConnectTG webvpn 특성
그룹 별칭 AnyConnectTG 활성화
그룹 정책 AnyConnectGP-Split 내부
group-policy AnyConnectGP-Split 특성
dns-server 값 10.0.1.1
vpn-tunnel-protocol ikev2 ssl 클라이언트
스플릿 터널 정책 터널지정됨
split-tunnel-network-list 값 Split-ACL
스플릿 dns 없음
split-tunnel-all-dns 비활성화
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
액세스 목록 Split-ACL 설명 내부 네트워크2
access-list Split-ACL standard permit 10.0.2.0 255.255.255.0
액세스 목록 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 클라이언트에서 AnyConnect 클라이언트로의 통신을 허용하는 헤어핀 NAT 규칙이 있는지 확인하십시오. 또한 네트워크 설계에 따라 각 규칙에 올바른 인바운드 및 아웃바운드 인터페이스 컨피그레이션이 적용되었는지 확인합니다.
동등한 CLI 컨피그레이션:
nat(내부,외부) 소스 고정 INTERNAL_NETWORKS INTERNAL_NETWORKS 대상 고정 AnyConnectPool AnyConnectPool no-proxy-arp 경로 조회
nat(내부,외부) 소스 고정 음성 서버 음성 서버 대상 고정 AnyConnectPool AnyConnectPool no-proxy-arp 경로 조회
nat(외부, 외부) 소스 고정 AnyConnectPool AnyConnectPool 대상 고정 AnyConnectPool AnyConnectPool no-proxy-arp 경로 조회
3단계. SIP 검사가 비활성화되어 있는지 확인합니다.
SIP 검사를 비활성화하는 방법을 알아보려면 이전 섹션인 AnyConnect Clients Cannot Establish Phone Calls(AnyConnect 클라이언트가 전화 통화를 설정할 수 없음)을 검토하십시오.
4단계. 액세스 규칙을 확인합니다.
액세스 규칙 컨피그레이션에 따라 AnyConnect 클라이언트의 트래픽이 음성 서버 및 관련 네트워크에 도달할 수 있도록 허용되어야 합니다.
동등한 CLI 컨피그레이션:
access-list outside_access_in 확장 허용 ip 개체 AnyConnectPool 개체 AnyConnectPool
access-list outside_access_in 확장 허용 ip 개체 AnyConnectPool 개체 그룹 VoiceServers
interface outside의 access-group outside_access_in
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
03-Apr-2023 |
최초 릴리스 |