In dit document wordt beschreven hoe besturingssystemen van clients omgaan met DNS-query's en wat de effecten zijn op de oplossing van domeinnamen met behulp van Cisco IOS® Secure Client.
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardware-versies. Lab-voorbeelden gebruiken Secure Firewall ASA / FTD-groepsbeleid en Cisco Secure Client op Windows, macOS, Linux en Apple iOS.
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.
In dit document wordt uitgelegd hoe besturingssystemen van clients omgaan met DNS-query's en de effecten op de oplossing van domeinnamen bij het gebruik van Cisco Secure Client (voorheen Cisco AnyConnect) met split of full tunneling. VPN-koppen die worden besproken, zijn onder meer Cisco Secure Firewall ASA en FTD (voorheen ASA); instellingen voor groepsbeleid zoals split-dns, dns-server en split-tunnel-all-dns zijn op beide van toepassing, tenzij anders vermeld.
Als in een sectie expliciet wordt verwezen naar oudere clientreleases, is het gedrag dat wordt beschreven voor Secure Client 4.2 en hoger (inclusief huidige Secure Client 5.x-releases) van toepassing. Cisco AnyConnect 4.x heeft het einde van de levenscyclus bereikt; migreren naar Cisco Secure Client voor ondersteunde DNS- en tunnelfuncties.
Het DNS-resolutiegedrag is afhankelijk van drie factoren:
Wanneer u de opdracht split-include tunneling uitvoert, zijn dit de drie DNS-opties die beschikbaar zijn in het groepsbeleid:
| modus |
Beschrijving |
|---|---|
| DNS splitsen | DNS-query's die overeenkomen met domeinnamen die zijn geconfigureerd op de kop (split-dns) worden via de tunnel naar de VPN-DNS-servers (dns-server) verzonden. Alle andere query's maken gebruik van de client OS resolver en de fysieke adapter DNS-servers. |
| Tunnel-all-DNS | Alleen DNS-verkeer naar de door de kop gedefinieerde DNS-servers is toegestaan. Geconfigureerd met split-tunnel-all-dns in het groepsbeleid. |
| Standaard DNS | Alle DNS-query's worden eerst verzonden naar de VPN-DNS-servers die door de kop zijn gedefinieerd. Bij een negatief (NXDOMAIN of geen antwoord) antwoord kan de resolver ook DNS-servers proberen op de fysieke adapter. |
Opmerking: de opdracht split-tunnel-all-dns werd voor het eerst geïmplementeerd in ASA versie 8.2(5). Voor die versie was alleen gesplitste DNS of standaard DNS beschikbaar. In alle gevallen worden DNS-query's die zijn gedefinieerd om door de tunnel te gaan, doorgegeven aan elke DNS-server die door de kop is gedefinieerd. Als er geen DNS-servers zijn gedefinieerd op de kop, zijn de DNS-instellingen voor de tunnel leeg.
Als gesplitste DNS niet is gedefinieerd, worden alle DNS-query's verzonden naar de DNS-servers die door de kop zijn gedefinieerd (afhankelijk van het gedrag dat specifiek is voor het besturingssysteem dat verderop in dit document wordt beschreven). De gedragingen die in dit document worden beschreven, kunnen echter verschillen op basis van het besturingssysteem (OS).
Opmerking: Vermijd het gebruik van NSLookup of graaf bij het testen van de naamresolutie op de client. Gebruik in plaats daarvan een webbrowser of voer de ping-opdracht uit. NSLookup en dig gebruiken de OS DNS resolver stub niet op dezelfde manier als de meeste applicaties. Secure Client forceert niet elk DNS-verzoek via een specifieke interface; het staat verzoeken toe of weigert deze op basis van gesplitst DNS- en tunnel-all-DNS-beleid.
Test alleen met toepassingen die afhankelijk zijn van de native OS DNS-resolver (browsers, ping en de meeste zakelijke apps) om het juiste failovergedrag te kunnen observeren. Tools die hun eigen DNS-resolutie uitvoeren (NSLookup, dig en sommige aangepaste apps) kunnen misleidende fouten vertonen, zelfs als de client correct werkt.
AnyConnect Release 2.4 introduceerde gesplitste DNS-fallback (best-effort gesplitste DNS), wat geen echte gesplitste DNS is en ook werd gevonden in de oudere IPsec-client.
Best-effort (fallback) gedrag:
Dit is de reden waarom de legacy-functie DNS fallback voor split tunneling wordt genoemd, wat geen echte gesplitste DNS is. Secure Client zorgt ervoor dat alleen overeenkomende split-DNS-domeinquery's de tunnel binnenkomen, maar vertrouwt nog steeds op het gedrag van de OS-resolver voor de uiteindelijke resolutie.
Beveiligingsprobleem: een privé-domeinnaam kan naar een openbare DNS-server lekken wanneer de VPN DNS-server NXDOMAIN retourneert of niet oplost; en de resolver probeert het opnieuw op de fysieke adapter.
True split DNS: Cisco bug ID CSCtn14578
Opgelost op Microsoft Windows in AnyConnect 3.0 (4235) en bewaard in Secure Client 4.2+):
Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-bugtools en gedetailleerde buginformatie.
Wanneer gesplitste tunneling is uitgeschakeld (alle tunnelconfiguratie), is DNS-verkeer strikt toegestaan via de tunnel.
De tunnel-all-DNS-configuratie (split-tunnel-all-dns inschakelen in het groepsbeleid) stuurt alle DNS-opzoekingen door de tunnel, terwijl een vorm van split tunneling ook is geconfigureerd en DNS-verkeer strikt is toegestaan via de tunnelinterface.
Dit is consistent op alle platforms met één waarschuwing op Microsoft Windows, wanneer de tunnel-all of tunnel-all-DNS is geconfigureerd, Secure Client DNS-verkeer toestaat naar de DNS-servers die zijn geconfigureerd op de beveiligde gateway (toegepast op de VPN-adapter). Deze beveiligingsverbetering is geïmplementeerd met true split DNS. Als dit problematisch is (bijvoorbeeld DNS-update/registratie moet niet-VPN DNS-servers bereiken), voert u de volgende stappen uit:
Wanneer split tunneling en tunnel-all-DNS beide zijn ingeschakeld, wordt DNS onderschept op kernelniveau en geblokkeerd als het niet de juiste VPN-interface verlaat. De module Secure Client Umbrella (voorheen AnyConnect Roaming Security) kan worden beïnvloed op netwerken waar versleutelde DNS niet beschikbaar is. Dit komt omdat de module standaard DNS via de LAN-interface kan proberen, terwijl tunnel-all-DNS DNS via de VPN vereist.
Standaard maakt de Umbrella-module gebruik van gecodeerde DNS (UDP-poort 443), die over het algemeen niet wordt geblokkeerd door tunnel-all-DNS. Het probleem treedt vooral op wanneer codering niet beschikbaar is en er geen DNS wordt gebruikt.
Aanbeveling: Voeg de Cisco Umbrella Resolver-adressen toe aan de lijst met split-include als u tunnel-all-DNS met de Umbrella-module gebruikt. Of raadpleeg het document Tunnel All DNS for Secure Client with Umbrella Module inschakelen (document-ID: 224809).
Dit Microsoft Windows-probleem komt het meest voor onder deze omstandigheden:
Dit kan aanzienlijke vertraging in naamresolutie veroorzaken, vooral wanneer de kop veel DNS-achtervoegsels duwt. De resolver moet door achtervoegsels en servers lopen totdat hij een positieve reactie krijgt.
Dit probleem is opgelost in AnyConnect 3.0 (4235) en latere versies van Secure Client. Raadpleeg Cisco bug ID CSCtq02141 en Cisco bug ID CSCtn14578 voor meer informatie.
Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-bugtools.
Schakel tunneling met gesplitste uitsluitingen voor een IP-adres in, zodat lokale DNS de fysieke adapter kan gebruiken. Een adres van link-local subnet 169.254.0.0/16 wordt vaak gebruikt omdat het verkeer naar die adressen waarschijnlijk niet de VPN doorkruist.
Nadat u tunneling met gesplitste uitsluitingen hebt ingeschakeld, schakelt u lokale LAN-toegang in op het clientprofiel of de client en schakelt u tunnel-all-DNS uit. Dit is een voorbeeld van een ASA/FTD-configuratie:
access-list acl_linklocal_169.254.1.1 standard permit host 169.254.1.1
group-policy gp_access-14 attributes
split-tunnel-policy excludespecified
split-tunnel-network-list value acl_linklocal_169.254.1.1
split-tunnel-all-dns disable
exit
Clientprofiel XML:
<LocalLanAccess UserControllable="true">true</LocalLanAccess>
U kunt dit ook inschakelen in de GUI voor beveiligde clients: Voorkeuren → Lokale (LAN)toegang toestaan bij gebruik van VPN
Verschillende besturingssystemen voor clients behandelen DNS anders met gesplitste tunneling (zonder gesplitste DNS) voor Secure Client; deze sectie beschrijft die verschillen.
In Windows zijn de DNS-instellingen per netwerkinterface. Met split tunneling kunnen DNS-query's terugvallen op DNS-servers met fysieke adapter nadat ze op de VPN-tunneladapter zijn mislukt. Als gesplitste tunneling wordt gebruikt zonder gesplitste DNS, kan zowel de interne als de externe resolutie werken, omdat de resolver kan terugvallen op externe DNS-servers. Er was een belangrijke verandering in Secure Client for Windows in release 4.2 na de oplossing voor Cisco bug ID CSCuf07885. Dit gedrag is ongewijzigd in Secure Client 5.x.
Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-bugtools.
Pre-Secure Client 4.2 (AnyConnect 4.1 en eerder):
Secure Client 4.2 en hoger:
Het stuurprogramma voor de beveiligde client interfereert niet met de oorspronkelijke DNS-resolver. De resolutie houdt vast aan de netwerkadaptervolgorde; Secure Client is de voorkeursadapter wanneer de VPN is verbonden.
Een DNS-query wordt eerst via de tunnel verzonden; als deze niet is opgelost, kan de resolver de openbare interface proberen. De lijst met gesplitste toegang moet de subnettunnel-DNS-server(s) bevatten op releases vóór 4.2. Beginnend met Secure Client 4.2 worden de hostroutes voor tunnel-DNS-server(s) automatisch toegevoegd als split-include-netwerken (beveiligde routes), zodat de split-include ACL niet langer expliciete tunnel-DNS-serversubnetten vereist.
Dezelfde resolver gedrag als de split-omvat, eerst tunnel, dan de publieke interface fallback. De lijst met gesplitste uitsluitingen mag geen subnet bevatten dat de DNS-server(s) van de tunnel dekt. De automatische hostroutes voor tunnel-DNS-servers, te beginnen met Secure Client 4.2, voorkomen veelvoorkomende split-exclude-misconfiguratie.
Split-DNS op Windows vereist split-include tunneling (split-tunnel-policy tunnelspecificatie). Het ondersteunt geen tunnelbeleid met alleen split-exclude voor split-DNS-configuratie.
Pre-Secure Client 4.2:
Secure Client 4.2 en hoger (true split DNS op Windows):
Beveiligde Client 5.x-beheerdocumentatie voegt gesplitste DNS toe voor configuraties met gesplitste excludes. Raadpleeg de Beheerdershandleiding voor Secure Client 5.x — Configureer gesplitste DNS voor gesplitste uitsluitingstunneling voor kop- en beleidsvereisten. Handhavingsregels op besturingssysteemniveau zijn nog steeds van toepassing zodra gesplitste DNS actief is.
Toepassingen of besturingssysteemfuncties die DNS gebruiken via HTTPS (DoH) of DNS via TLS (DoT) kunnen het pad voor het oplossen van Windows-stub omzeilen dat door Secure Client wordt gefilterd. Als gesplitste DNS voor specifieke apps niet blijkt te werken, maar in een browser werkt, controleert u of die apps gecodeerde of aangepaste DNS gebruiken. Standaard split-DNS-tests moeten de OS-resolver (browser, ping) gebruiken, niet NSLookup / dig.
Op macOS zijn de DNS-instellingen globaal (niet per interface). Als gesplitste tunneling wordt gebruikt zonder gesplitste DNS, kunnen DNS-query's vaak niet naar verwachting DNS-servers buiten de tunnel bereiken, kunt u alleen interne namen oplossen, niet externe namen via het openbare pad. Dit is gedocumenteerd in Cisco bug ID CSCtf20226 en Cisco bug ID CSCtz86314.
Workarounds:
Gesplitste DNS op macOS wordt vanaf AnyConnect 3.1 ondersteund, onder de volgende voorwaarden:
Opmerking: Secure Client beheert de naamresolutie niet primair via /etc/resolv.conf op macOS; het configureert DNS-instellingen op besturingssysteemniveau. macOS kan resolv.conf bijgewerkt houden voor compatibiliteit. Voer scutil --dns uit om de effectieve DNS-configuratie te bekijken.
Wanneer een beveiligde client is verbonden, blijven alleen DNS-tunnelservers in de DNS-systeemconfiguratie. Verzoeken gaan alleen over naar DNS-tunnelservers.
Secure Client interfereert niet met de native resolver. Tunnel DNS-servers hebben de voorkeur boven publieke resolvers, dus de eerste querypoging gaat over de tunnel. Omdat DNS wereldwijd is op macOS, gebruiken query's niet altijd op betrouwbare wijze publieke DNS buiten de tunnel (Cisco bug ID: CSCtf20226).
Vanaf Secure Client 4.2 worden hostroutes voor DNS-tunnelservers automatisch toegevoegd als veilige routes.
True split DNS (vergelijkbaar met Windows) is van toepassing wanneer:
True split DNS betekent dat gesplitste DNS-domeinen alleen via de tunnel worden opgelost en niet naar externe resolvers worden gelekt.
Als split-DNS is ingeschakeld voor slechts één protocol en een clientadres is toegewezen voor het andere protocol, wordt alleen DNS-fallback voor split tunneling afgedwongen: met Secure Client kunnen overeenkomende query's via de tunnel worden uitgevoerd (andere query's kunnen worden geweigerd om failover te forceren), maar kunnen lekkage van split-DNS-domeinquery's die via de openbare adapter in de clear worden verzonden, niet volledig worden voorkomen.
Platformondersteuning (Secure Client admin guide): Volledig gesplitst DNS wordt ondersteund op Windows en macOS. Linux heeft beperkte ondersteuning (zie de sectie Linux).
Wanneer een beveiligde client is aangesloten, worden alleen tunnel-DNS-servers onderhouden in de DNS-systeemconfiguratie.
Secure Client interfereert niet met de native resolver. Tunnel DNS-servers hebben de voorkeur; de eerste poging tot resolutie gaat over de tunnel.
Als split-DNS is ingeschakeld, wordt alleen DNS-fallback voor split tunneling afgedwongen op Linux:
In de gids voor het beheer van de beveiligde client wordt een beperkt gesplitst DNS op Linux vermeld: alleen DNS-verzoeken met tunnels vallen volledig onder het gesplitste DNS-beleid; sommige query's buiten de tunnel kunnen niet voldoen aan het gesplitste DNS-beleid.
Secure Client ondersteunt een aangepast attribuut van tunnel-vanaf-elke-bron, zodat pakketten met elk bronadres kunnen worden gerouteerd in split-include- of split-exclude-modus binnen VM-instanties of Docker-containers. Raadpleeg de Beheerdershandleiding voor Secure Client 5.x voor configuratiegegevens.
iOS-gedrag verschilt van macOS en is niet identiek aan Windows. Als gesplitste tunneling is geconfigureerd zonder gesplitste DNS, gebruiken DNS-query's meestal de algemene DNS-server die voor het apparaat is gedefinieerd - niet hetzelfde terugvalpatroon als Windows.
Praktische impact: gesplitste DNS-domeinvermeldingen zijn vaak vereist voor een betrouwbare interne naamresolutie bij het gebruik van gesplitste tunneling zonder gesplitste DNS.
Historische oplossing: Cisco bug ID CSCtq09624 - (AnyConnect voor iOS 2.5.4038 en hoger.) Huidige Secure Client voor iOS voldoet aan dezelfde algemene vereiste; configureer gesplitste DNS voor interne domeinen bij gebruik van gesplitste/gesplitste en uitgesloten zonder te vertrouwen op Windows-achtige fallback.
Opmerking: iOS DNS-query's negeren .lokale domeinen (Cisco bug ID CSCts89292.)
Apple behandelt dit als ontworpen gedrag; verwacht geen .lokale resolutie via standaard gesplitste DNS op iOS. Op iOS verschilt Secure Client split-DNS-gedrag ook van andere platforms wanneer split tunneling wordt gecombineerd met bepaalde split-DNS-lijstconfiguraties. Raadpleeg het gedeelte Beveiligde clientbeheerdershandleiding DNS-resolutiegedrag splitsen met gesplitste tunnel voor iOS-specifieke beleidscombinaties (split-dns geen, standaard-domein, enzovoort).
Dynamic split tunneling lost FQDN's op op verbindingstijd of op verzoek en past routering en filters aan voor verkeer naar gespecificeerde domeinen. Dit is opgenomen in of uitgesloten van de tunnel zonder statische IP-lijsten.
| Feature | Beschrijving |
|---|---|
| Dynamische splitsing uitsluiten | Domeinen (example.com) worden tijdens runtime uitgesloten van de tunnel wanneer toepassingen deze namen oplossen. |
| Dynamische splitsing omvat | Domeinen zijn dynamisch opgenomen in de tunnel. |
| Verbeterde dynamische splitsing | Gecombineerde include/exclude domeinlijsten met voorrang regels (zoals het uitsluiten van example.com, maar met inbegrip van mail.example.com). |
Dynamic split tunneling maakt gebruik van DNS-resolutie om routeringswijzigingen aan te brengen. Het wordt geconfigureerd via aangepaste Secure Client-attributen op de kop (bijvoorbeeld dynamisch-split-exclude-domeinen, dynamisch-split-include-domeinen).
Dynamic split tunneling is van toepassing op tunnel-all en split-exclude (dynamic exclude) of split-include (dynamic include) beleid. Het vervangt het gesplitste DNS-beleid niet, maar vult het aan: gesplitste DNS-besturingselementen die query's tunnelden; dynamische gesplitste tunnelbesturingselementen die IP-verkeer tunnelden op basis van opgeloste namen. Raadpleeg de configuratiedetails: Dynamic Split Tunneling configureren en de Beheerdershandleiding voor Secure Client 5.x.
Split exclude failover (Secure Client 5.x): Optioneel aangepast kenmerk SplitExcludeFailoverEnabled routeert verkeer via de VPN wanneer het openbare pad geen connectiviteit heeft om doelen te splitsen-uitsluiten. Zie de beheerdershandleiding voor aangepaste attribuutinstellingen.
De volgende tabel is alleen van toepassing op oudere implementaties waarop nog verouderde clients worden uitgevoerd:
| Versie | relevantie |
|---|---|
| AnyConnect 2.4 | Geïntroduceerde best-effort split DNS-fallback |
| AnyConnect 2.5 (iOS) | Cisco bug ID: CSCtq09624 iOS DNS-uitlijning |
| AnyConnect 3.0(4235) | True split DNS op Windows; DNS-prestatieverbeteringen |
| AnyConnect 3.1 (macOS) | DNS-ondersteuning splitsen met IPv4/IPv6-voorwaarden |
| AnyConnect 4.2 | Cisco bug ID: CSCuf07885 adapter-gebaseerde handhaving; automatische tunnel DNS-hostroutes |
Implementeer Secure Client 5.x op alle ondersteunde platforms voor de huidige oplossingen en functies.
Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-bugtools.
| herziening | dateren | Opmerkingen |
|---|---|---|
| 4.0 | 28 jul. 2026 | Volledige inhoudelijke update: Secure Client branding, platform refresh, dynamic split tunneling, Umbrella/tunnel-all-DNS, typo en config fixes, gecorrigeerde gerelateerde links |
| 3.0 | 23 mei 2024 | Hercertificering (Cisco.com) |
| 1.0 | 12 jun. 2014 | Eerste vrijgave |
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
4.0 |
10-Aug-2026
|
Bijgewerkte introductie, spelling, grammatica, vaste URL's, ingevoegde horizontale lijnen naar afzonderlijke secties voor leesbaarheid en vaste CCW-fouten. |
3.0 |
23-May-2024
|
hercertificering |
1.0 |
12-Jun-2014
|
Eerste vrijgave |