Inleiding
In dit document wordt beschreven wat er gebeurt als een AnyConnect-client binnen precies één minuut opnieuw verbinding maakt met het Adaptive Security Appliance (ASA).
Voorwaarden
Vereisten
Er zijn geen specifieke vereisten van toepassing op dit document.
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Verwante producten
Deze producten zijn getroffen door dit probleem:
- ASA-release 9.17
- AnyConnect Client versie 4.10
Achtergrondinformatie
Opmerking: AnyConnect is sinds de softwarerelease 5.0 omgedoopt tot Cisco Secure Client. Het probleem dat in dit document wordt beschreven, is ook van invloed op Cisco Secure Client.
Als AnyConnect-client binnen precies één minuut opnieuw verbinding maakt met de Adaptive Security Appliance (ASA), kunnen gebruikers geen verkeer ontvangen via de TLS-tunnel (Transport Layer Security) totdat AnyConnect opnieuw verbinding maakt. Dit hangt af van een paar andere factoren die in dit document worden besproken.
Symptomen
In dit voorbeeld wordt de AnyConnect-client weergegeven wanneer deze opnieuw verbinding maakt met de ASA.

Deze syslog is te zien op de ASA:
%ASA-6-722036: Group <ac_users_group> User <vpn> IP <10.1.75.111>
Transmitting large packet 1418 (threshold 1347).
Probleembeschrijving
Deze DART-logs (Diagnostics and Reporting
Tool) worden weergegeven met dit probleem:
******************************************
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.
******************************************
Oorzaken
De oorzaak van dit probleem is het niet bouwen van een Datagram Transport Layer Security (DTLS) tunnel. Dit kan om twee redenen zijn:
DTLS wordt ergens in het pad geblokkeerd
Met ingang van ASA Release 9.x en AnyConnect Release 4.x is een optimalisatie geïntroduceerd in de vorm van afzonderlijke Maximum Transition Units (MTU's) die worden overeengekomen voor TLS / DTLS tussen de klant / ASA. Eerder heeft de klant een ruwe schatting van MTU afgeleid die zowel TLS / DTLS dekte en duidelijk minder dan optimaal was. Nu berekent de ASA de inkapselingsoverhead voor zowel TLS / DTLS en leidt de MTU-waarden dienovereenkomstig af.
Zolang DTLS is ingeschakeld, past de client de DTLS MTU (in dit geval 1418) toe op de VPN-adapter (die is ingeschakeld voordat de DTLS-tunnel is ingesteld en nodig is voor de handhaving van routes/filters), om optimale prestaties te garanderen. Als de DTLS-tunnel niet tot stand kan worden gebracht of op een gegeven moment wordt gedropt, kan de client niet overschakelen naar TLS en wordt de MTU op de virtuele adapter (VA) aangepast aan de TLS MTU-waarde (hiervoor moet de verbinding op sessieniveau opnieuw worden gemaakt).
resolutie
Om deze zichtbare overgang van DTLS > TLS te elimineren, kan de beheerder een aparte tunnelgroep configureren voor alleen TLS-toegang voor gebruikers die problemen hebben met het opzetten van de DTLS-tunnel (bijvoorbeeld vanwege firewallbeperkingen).
-
De beste optie is om de AnyConnect MTU-waarde lager in te stellen dan de TLS MTU, waarover vervolgens wordt onderhandeld.
group-policy ac_users_group attributes
webvpn
anyconnect mtu 1300
Dit maakt de TLS- en DTLS MTU-waarden gelijk. Reconnecties worden in dit geval niet gezien.
-
De tweede optie is om fragmentatie toe te staan.
group-policy ac_users_group attributes
webvpn
anyconnect ssl df-bit-ignore enable
Met fragmentatie kunnen grote pakketten (waarvan de grootte groter is dan de MTU-waarde) worden gefragmenteerd en door de TLS-tunnel worden verzonden.
-
De derde optie is om de maximale segmentgrootte (MSS) in te stellen op 1460:
sysopt conn tcpmss 1460
In dit geval kan de TLS MTU 1427 (RC4/SHA1) zijn, wat groter is dan de DTLS MTU 1418 (AES/SHA1/LZS). Dit lost het probleem op met TCP van de ASA naar de AnyConnect-client (dankzij MSS), maar groot UDP-verkeer van de ASA naar de AnyConnect-client kan hier last van hebben, omdat het door de AnyConnect-client kan worden verwijderd vanwege de lagere AnyConnect-client MTU 1418. Als sysopt conn tcpmss wordt gewijzigd, kan dit invloed hebben op andere functies zoals LAN-to-LAN (L2L) IPSec VPN-tunnels.
Werkstroom opnieuw verbinden
Stel dat deze cijfers zijn geconfigureerd:
ssl cipher tlsv1.2 custom AES256-SHA256 AES128-SHA256 DHE-RSA-AES256-SHA256
Deze opeenvolging van gebeurtenissen vindt in dit geval plaats:
- AnyConnect maakt een bovenliggende tunnel en een TLS-datatunnel met AES256-SHA256 als de SSL-codering.
- DTLS is geblokkeerd in het pad en er kan geen DTLS-tunnel worden ingesteld.
- ASA kondigt parameters aan AnyConnect aan, waaronder TLS- en DTLS MTU-waarden, die twee afzonderlijke waarden zijn.
- DTLS MTU is standaard 1418.
- TLS MTU wordt berekend op basis van de sysopt conn tcpmss-waarde (standaard is 1380). Dit is hoe de TLS MTU is afgeleid (zoals te zien is aan de debug webvpn anyconnect-uitvoer):
1380 - 5 (TLS header) - 8 (CSTP) - 0 (padding) - 20 (HASH) = 1347
- AnyConnect brengt de VPN-adapter omhoog en wijst DTLS MTU toe in afwachting dat deze verbinding kan maken via DTLS.
- De AnyConnect-client is nu verbonden en de gebruiker gaat naar een bepaalde website.
- De browser verzendt TCP SYN en stelt MSS = 1418-40 = 1378 in.
- De HTTP-server aan de binnenkant van de ASA verzendt pakketten van grootte 1418.
- De ASA kan ze niet in de tunnel plaatsen en kan ze niet fragmenteren omdat ze geen Do not Fragment (DF)-bitset hebben.
- ASA print en laat pakketten vallen met mp-svc-no-fragment-ASP dropreden.
%ASA-6-722036: Group <ac_users_group> User <vpn> IP <10.1.75.111>
Transmitting large packet 1418 (threshold 1347)
- Tegelijkertijd stuurt de ASA ICMP Destination Unreach, Fragmentation Needed naar de afzender:
%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
- Als Internet Control Message Protocol (ICMP) is toegestaan, verzendt de afzender gedropte pakketten opnieuw en begint alles te werken. Als ICMP wordt geblokkeerd, wordt het verkeer op de ASA geblokkeerd.
- Na verschillende herverzendingen begrijpt het dat de DTLS-tunnel niet kan worden ingesteld en moet het een nieuwe MTU-waarde toewijzen aan de VPN-adapter.
- Het doel van deze reconnect is om een nieuwe MTU toe te wijzen.
Zie Veelgestelde vragen over AnyConnect: Tunnels, Opnieuw verbinden gedrag en de timer Inactiviteit voor meer informatie over het opnieuw verbinden van gedrag en timers
Gerelateerde informatie