이 문서에서는 AnyConnect 클라이언트가 ASA(Adaptive Security Appliance)에 1분 만에 다시 연결할 때 발생하는 상황에 대해 설명합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
이러한 제품은 다음과 같은 문제로 인해 영향을 받았습니다.
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 포트 사용
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
이 경우 다음과 같은 일련의 이벤트가 발생합니다.
1380 - 5 (TLS header) - 8 (CSTP) - 0 (padding) - 20 (HASH) = 1347
%ASA-6-722036: Group <ac_users_group> User <vpn> IP <10.1.75.111>
Transmitting large packet 1418 (threshold 1347)
%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
재연결 동작 및 타이머에 대한 자세한 내용은 을/를 참조하십시오.