Tre laptops på ét team, tre forskellige VPN-menuer og en sag, der siger, at forbindelsen virker overalt undtagen på Mac'en. Planen bag de klienter kan være identisk, selv når menuerne ikke er. Det, der skal passe sammen, er smallere, end de fleste udrulninger antager: én gatewayidentitet, én type legitimationsoplysning, ét sæt ruter og én resolverpolitik. Skriv de fire ned, før nogen eksporterer en profil, og så bliver platformarbejdet en tjekliste i stedet for en undersøgelse.

Begynd med adgangskontrakten, ikke klientfilen

Adgangskontrakten er fem linjer, som en anmelder kan kontrollere uden at åbne en leverandørkonsol. Den navngiver de private præfikser, der skal kunne nås, de interne navne, der skal opløses, den resolver, der svarer på dem, den trafik, der må blive på den lokale vej, og det gatewaycertifikat, som klienten bør forvente at se. Alt andet i udrulningen er en oversættelse af de linjer til et filformat.

Et kontoreksempel gør formen konkret: applikationsservere i 10.60.0.0/16, private navne under corp.example, en intern resolver på 10.61.0.53 og almindelig browsing overladt til den vej, enheden allerede bruger. Det sidste punkt er en politisk beslutning og ikke en klientstandard, og flere klienter sender alt gennem tunnelen, hvis ingen siger andet. Registrér kontrakten med en dato og en ejer, for den registrering er det, der senere fortæller dig, om tunnelen ændrede sig, eller politikken gjorde.

Vælg én protokol og ét godkendelsespar, du kan forsvare

IKEv2 med certifikatbaseret gatewaygodkendelse og EAP til brugeren er det sædvanlige valg, når alle tre platforme skal fungere uden ekstra software, fordi Windows, macOS og NetworkManager hver leverer en IKEv2-klient. Problemet er, at understøttelse af IKEv2 beskriver et mærke, ikke et funktionssæt. EAP-metoder, hardwareunderstøttede nøgler, tilknytning af certifikat til konto og automatisk genopkobling implementeres pr. platform. En kombination, der virker på to af de tre, er almindelig nok til, at du bør antage det, indtil den er testet.

Test parret på hver målplatform, før implementeringsguiden skrives, ikke efter. En gateway, der tilbyder både EAP-MSCHAPv2 og EAP-TLS, giver dig plads til at falde tilbage, forudsat at tilbagefaldet er dokumenteret som understøttet og ikke opdaget under en hændelse. To understøttede veje er billig forsikring; en tredje udokumenteret vej er en fremtidig sag.

Når ingen enkelt par dækker alle tre klienter, er de ærlige muligheder at tilføje en klient, tilføje en gatewayprofil eller indsnævre listen over understøttede platforme. At slå certifikatvalidering fra på den platform, der klager højest, er ikke en af dem. Den ændring gør et kompatibilitetshul til en risiko for aflytning, og intet senere trin i udrulningen reparerer det.

Byg én artefakt pr. platform ud fra kontrakten

Windows tager en VPNv2-profil, leveret af MDM eller oprettet lokalt med Add-VpnConnection plus dens XML-nyttelast. De dele, der bider, er omfang og tillid. En enhedsomfattende profil og en brugeromfattende profil installeres i forskellige lagre, så det certifikat, klienten har brug for, skal ligge i det lager, der matcher det valgte omfang. Forkert parring giver en profil, der importeres pænt og derefter fejler ved første forbindelse.

macOS tager en konfigurationsprofil med den administrerede VPN-nyttelast, signeret og sendt via MDM eller installeret manuelt til en pilot. Identiteten og CA-kæden rejser som separate nyttelaster, og derfor kan en profil installeres uden klager og alligevel fejle på forbindelsestidspunktet. Kontrollér nyttelastlisten, ikke kun installationsresultatet.

Linux afhænger af backenden bag NetworkManager, og strongSwan plus NetworkManager-pluginet er separate pakker. Forbindelsesegenskaber er pluginspecifikke snarere end generiske VPN-nøgler, så en nøgle kopieret fra et andet plugin gemmes ofte uden fejl og fejler derefter ved aktivering. Byg forbindelsen på et rent image for at bekræfte, at pluginet er til stede, hvor det faktisk skal køre.

De tre artefakter adskiller sig i format, men hver især koder de samme fem kontraktlinjer. Det er testen på, om en artefakt er færdig: hver linje er repræsenteret et sted, og intet ekstra blev opfundet undervejs.

PlatformArtifactCheck before handoff
WindowsVPNv2 profile or Add-VpnConnectionScope matches certificate store
macOSManaged VPN payload plus certificate payloadBoth payloads present in one profile
LinuxNetworkManager connection with strongSwan backendPlugin package installed on the image

Verificér ruter, resolver og genopkobling på en ren konto

Forbundet er ikke accepttesten. På Windows viser Get-VpnConnection profilen, og route print viser, om det private præfiks landede på tunneleinterfacet. På macOS bekræfter scutil --nc list den aktive tjeneste, mens scutil --dns viser den resolverrækkefølge, systemet reelt vil bruge.

På Linux beviser nmcli connection show --active, at forbindelsen er oppe, og resolvectl status viser DNS pr. link. En resolver, der findes i forbindelsesfilen, men mangler i outputtet pr. link, betyder, at split DNS ikke anvendes. Det er forskellen mellem navne, der opløses, og navne, der opløses gennem tunnelen, og det ændrer, hvilket supportteam der ejer næste skridt. Sammenlign outputtet pr. link før og efter, at forbindelsen kommer op, ikke kun efter.

Kør hele kontrollen som en frisk konto uden cachelagrede legitimationsoplysninger og uden et certifikat, som en administrator har installeret. Gentag den derefter efter en suspendering og genoptagelse, og endnu en gang efter at have fremtvunget en ny indtastning af legitimationsoplysninger. De to overgange afdækker de fleste genopkoblingsfejl, som en første forbindelse aldrig viser.

Versionsstyr pakken og hold en tilbagerulningsvej

Mærk hver platformspakke med den kontraktrevision, den implementerer, og notér de klient- og gatewayversioner, du accepterede den imod. Når adfærden ændrer sig efter en klientopdatering, peger mærket på en kontrakt, der skal testes igen, i stedet for en fil, der skal gættes på.

Hold den forrige pakke for hver platform tilgængelig, og skriv dens fjernelseskommando ved siden af. Afinstallation af en VPN-profil er ikke spejlbilledet af installationen på Windows, macOS eller Linux, og forskellene viser sig på det værst tænkelige tidspunkt. Øv fjernelsen én gang på en ekstra enhed, så arkivet bliver en plan i stedet for et håb.

Relaterede artikler