소개
이 문서에서는 AnyConnect 클라이언트가 ASA(Adaptive Security Appliance)에 1분 만에 다시 연결할 때 발생하는 상황에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
관련 제품
이러한 제품은 이 문제의 영향을 받았습니다.
- ASA 릴리스 9.17
- AnyConnect 클라이언트 릴리스 4.10
배경 정보
참고: AnyConnect는 소프트웨어 릴리스 5.0 이후 Cisco Secure Client로 브랜드가 변경되었습니다. 이 문서에 설명된 문제는 Cisco Secure Client에도 영향을 줍니다.
AnyConnect 클라이언트가 정확히 1분 내에 ASA(Adaptive Security Appliance)에 다시 연결할 경우 사용자는 AnyConnect가 다시 연결될 때까지 TLS(Transport Layer Security) 터널을 통해 트래픽을 수신할 수 없습니다. 이는 이 문서에서 설명하는 몇 가지 다른 요소에 따라 달라집니다.
증상
이 예에서는 AnyConnect 클라이언트가 ASA에 다시 연결될 때 표시됩니다.

이 syslog는 ASA에 표시됩니다.
%ASA-6-722036: Group <ac_users_group> User <vpn> IP <10.1.75.111>
Transmitting large packet 1418 (threshold 1347).
문제 설명
이러한 진단 및 Reporting
툴(DART) 로그는 다음 문제와 함께 표시됩니다.
******************************************
Date : 11/16/2022
Time : 01:28:50
Type : Warning
Source : acvpnagent
Description : Reconfigure reason code 16:
New MTU configuration.
******************************************
Date : 11/16/2022
Time : 01:28:50
Type : Information
Source : acvpnagent
Description : The entire VPN connection is being reconfigured.
******************************************
Date : 11/16/2022
Time : 01:28:51
Type : Information
Source : acvpnui
Description : Message type information sent to the user:
Reconnecting to 10.1.1.2...
******************************************
Date : 11/16/2022
Time : 01:28:51
Type : Warning
Source : acvpnagent
Description : A new MTU needs to be applied to the VPN network interface.
Disabling and re-enabling
the Virtual Adapter. Applications utilizing the
private network may need to be restarted.
******************************************
원인
이 문제의 원인은 DTLS(데이터그램 전송 계층 보안) 터널을 구축하지 못했기 때문입니다. 이는 두 가지 이유 때문일 수 있습니다.
-
DTLS는 경로 어딘가에서 차단됩니다.
-
기본이 아닌 DTLS 포트 사용
DTLS가 경로 어딘가에서 차단됨
ASA Release 9.x 및 AnyConnect Release 4.x부터 클라이언트/ASA 간의 TLS/DTLS에 대해 협상되는 고유한 MTU(Maximum Transition Unit) 형식으로 최적화가 도입되었습니다. 이전에는 클라이언트가 TLS/DTLS를 모두 포함하는 대략적인 예상 MTU를 도출했으며, 이는 최적에 비해 매우 낮았습니다. 이제 ASA는 TLS/DTLS 모두에 대한 캡슐화 오버헤드를 계산하고 그에 따라 MTU 값을 파생합니다.
DTLS가 활성화된 경우 클라이언트는 최적의 성능을 보장하기 위해 VPN 어댑터(DTLS 터널이 설정되기 전에 활성화되며 경로/필터 시행에 필요한 어댑터)에서 DTLS MTU(이 경우 1418)를 적용합니다. DTLS 터널을 설정할 수 없거나 어느 시점에 터널이 삭제되면 클라이언트는 TLS로 장애 조치하고 VA(가상 어댑터)의 MTU를 TLS MTU 값으로 조정합니다(이 경우 세션 수준을 다시 연결해야 함).
해결
관리자는 DTLS > TLS의 이 가시적인 전환을 없애기 위해 (방화벽 제한으로 인해) DTLS 터널 설정에 문제가 있는 사용자의 TLS 전용 액세스에 대해 별도의 터널 그룹을 구성할 수 있습니다.
-
최상의 옵션은 AnyConnect MTU 값을 TLS MTU보다 낮게 설정한 다음 협상하는 것입니다.
group-policy ac_users_group attributes
webvpn
anyconnect mtu 1300
그러면 TLS 및 DTLS MTU 값이 같습니다. 이 경우에는 재연결이 표시되지 않습니다.
-
두 번째 옵션은 단편화를 허용하는 것입니다.
group-policy ac_users_group attributes
webvpn
anyconnect ssl df-bit-ignore enable
조각화를 사용하면 크기가 MTU 값을 초과하는 큰 패킷을 조각화하여 TLS 터널을 통해 전송할 수 있습니다.
-
세 번째 옵션은 여기에 표시된 MSS(Maximum Segment Size)를 1460으로 설정하는 것입니다.
sysopt conn tcpmss 1460
이 경우 TLS MTU는 DTLS MTU 1418(AES/SHA1/LZS)보다 큰 1427(RC4/SHA1)이 될 수 있습니다. 이렇게 하면 ASA에서 AnyConnect 클라이언트로의 TCP 문제가 해결되지만(MSS 덕분에), ASA에서 AnyConnect 클라이언트로의 대규모 UDP 트래픽은 AnyConnect 클라이언트 MTU 1418이 낮아 AnyConnect 클라이언트에서 삭제할 수 있으므로 문제가 발생할 수 있습니다. sysopt conn tcpmss가 수정되면 L2L(LAN-to-LAN) IPSec VPN 터널과 같은 다른 기능에 영향을 줄 수 있습니다.
워크플로 다시 연결
이러한 암호가 구성되었다고 가정합니다.
ssl cipher tlsv1.2 custom AES256-SHA256 AES128-SHA256 DHE-RSA-AES256-SHA256
이 경우 다음과 같은 일련의 이벤트가 발생합니다.
- AnyConnect는 SSL 암호화로 AES256-SHA256을 사용하여 상위 터널 및 TLS 데이터 터널을 설정합니다.
- DTLS가 경로에서 차단되고 DTLS 터널을 설정할 수 없습니다.
- ASA는 AnyConnect에 대한 매개변수를 발표하며, 여기에는 두 개의 개별 값인 TLS 및 DTLS MTU 값이 포함됩니다.
- DTLS MTU는 기본적으로 1418입니다.
- TLS MTU는 sysopt conn tcpmss 값에서 계산됩니다(기본값은 1380). TLS MTU가 파생되는 방법은 다음과 같습니다(디버그 webvpn anyconnect 출력에서 볼 수 있음).
1380 - 5 (TLS header) - 8 (CSTP) - 0 (padding) - 20 (HASH) = 1347
- AnyConnect는 VPN 어댑터를 가동하고 DTLS를 통해 연결할 수 있을 것으로 예상하여 DTLS MTU를 할당합니다.
- 이제 AnyConnect 클라이언트가 연결되고 사용자가 특정 웹 사이트로 이동합니다.
- 브라우저에서 TCP SYN을 전송하고 MSS = 1418-40 = 1378을 설정합니다.
- ASA 내부의 HTTP-server는 1418 크기의 패킷을 전송합니다.
- ASA는 DF(Do not Fragment) 비트가 설정되어 있으므로 이들을 터널에 넣을 수 없으며 프래그먼트화할 수 없습니다.
- ASA는 mp-svc-no-fragment-ASP 삭제 사유가 포함된 패킷을 인쇄 및 삭제합니다.
%ASA-6-722036: Group <ac_users_group> User <vpn> IP <10.1.75.111>
Transmitting large packet 1418 (threshold 1347)
- 동시에 ASA는 ICMP Destination Unreachable, Fragmentation Needed를 전송자에게 전송합니다.
%ASA-6-602101: PMTU-D packet 1418 bytes greater than effective mtu 1347,
dest_addr=10.10.10.1, src_addr=10.48.66.200, prot=TCP
- ICMP(Internet Control Message Protocol)가 허용되면 발신자는 삭제된 패킷을 다시 전송하며 모든 것이 작동하기 시작합니다. ICMP가 차단되면 ASA에서 트래픽이 블랙홀링됩니다.
- 여러 번 재전송한 후에는 DTLS 터널을 설정할 수 없으며 VPN 어댑터에 새 MTU 값을 다시 할당해야 합니다.
- 이 재연결의 목적은 새 MTU를 할당하는 것입니다.
다시 연결 동작 및 타이머에 대한 자세한 내용은 AnyConnect FAQ를 참조하십시오. 터널, 재연결 동작 및 비활성 타이머
관련 정보