Trei laptopuri într-o singură echipă, trei meniuri VPN diferite și un tichet care spune că conexiunea funcționează peste tot, în afară de Mac. Planul din spatele acelor clienți poate fi identic chiar dacă meniurile nu sunt. Ce trebuie să fie aliniat este mai îngust decât presupun majoritatea implementărilor: o identitate de gateway, un tip de acreditare, un set de rute și o politică de resolver. Notează aceste patru lucruri înainte ca cineva să exporte un profil, iar munca de platformă devine o listă de verificare în loc de o investigație.

Începe cu contractul de acces, nu cu fișierul clientului

Contractul de acces are cinci rânduri pe care un revizor le poate verifica fără să deschidă consola unui furnizor. El numește prefixele private care trebuie să fie accesibile, numele interne care trebuie rezolvate, resolverul care răspunde pentru ele, traficul lăsat să rămână pe calea locală și certificatul de gateway pe care clientul ar trebui să se aștepte să îl vadă. Tot restul implementării este o traducere a acelor rânduri într-un format de fișier.

Un exemplu de birou face forma concretă: servere de aplicații în 10.60.0.0/16, nume private sub corp.example, un resolver intern la 10.61.0.53 și navigarea obișnuită lăsată pe calea pe care dispozitivul o folosește deja. Ultimul punct este o decizie de politică, nu o valoare implicită a clientului, iar mai mulți clienți vor trimite totul prin tunel dacă nimeni nu spune altfel. Consemnează contractul cu o dată și un responsabil, pentru că exact acea consemnare îți va spune mai târziu dacă s-a schimbat tunelul sau politica.

Alege un protocol și o pereche de autentificare pe care le poți apăra

IKEv2 cu autentificare a gateway-ului bazată pe certificate și EAP pentru utilizator este alegerea obișnuită atunci când toate cele trei platforme trebuie să funcționeze fără software suplimentar, deoarece Windows, macOS și NetworkManager livrează fiecare câte un client IKEv2. Problema este că a susține IKEv2 descrie o etichetă, nu un set de funcții. Metodele EAP, cheile susținute de hardware, maparea certificat-cont și reconectarea automată sunt implementate platformă cu platformă. O combinație care funcționează pe două din trei este destul de comună încât să o presupui până când o testezi.

Testează perechea pe fiecare platformă țintă înainte de a scrie ghidul de implementare, nu după. Un gateway care oferă atât EAP-MSCHAPv2, cât și EAP-TLS îți lasă loc pentru o cale de rezervă, cu condiția ca aceasta să fie documentată ca suportată, nu descoperită în timpul unui incident. Două căi suportate sunt o asigurare ieftină; o a treia cale nedocumentată este un tichet viitor.

Când nicio pereche nu acoperă toți cei trei clienți, opțiunile oneste sunt să adaugi un client, să adaugi un profil pe gateway sau să restrângi lista de platforme suportate. Oprirea validării certificatelor pe platforma care se plânge cel mai tare nu este una dintre ele. Acea schimbare transformă un decalaj de compatibilitate într-un risc de interceptare, iar niciun pas ulterior al implementării nu îl repară.

Construiește un artefact per platformă pornind de la contract

Windows folosește un profil VPNv2, livrat prin MDM sau creat local cu Add-VpnConnection plus încărcătura sa XML. Părțile care dor sunt domeniul de aplicare și încrederea. Un profil cu domeniu de dispozitiv și unul cu domeniu de utilizator se instalează în magazine diferite, așa că certificatul de care are nevoie clientul trebuie să stea în magazinul care corespunde domeniului ales. Greșeala acestei împerecheri produce un profil care se importă curat și apoi eșuează la prima conectare.

macOS folosește un profil de configurare cu încărcătura VPN gestionată, semnat și distribuit prin MDM sau instalat manual pentru un pilot. Identitatea și lanțul CA călătoresc ca încărcături separate, de aceea un profil se poate instala fără reclamații și totuși eșuează la conectare. Verifică lista de încărcături, nu doar rezultatul instalării.

Linux depinde de backendul din spatele NetworkManager, iar strongSwan plus pluginul NetworkManager sunt pachete separate. Proprietățile conexiunii sunt specifice pluginului, nu chei VPN generice, așa că o cheie copiată din alt plugin se salvează adesea fără eroare și apoi eșuează la activare. Construiește conexiunea pe o imagine curată pentru a confirma că pluginul este prezent acolo unde va rula efectiv.

Cele trei artefacte diferă ca format, dar fiecare codifică aceleași cinci rânduri de contract. Acesta este testul pentru a ști dacă un artefact este terminat: fiecare rând este reprezentat undeva și nimic în plus nu a fost inventat pe parcurs.

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ă rutele, resolverul și reconectarea pe un cont curat

Conectat nu este testul de acceptare. Pe Windows, Get-VpnConnection afișează profilul, iar route print arată dacă prefixul privat a ajuns pe interfața tunelului. Pe macOS, scutil --nc list confirmă serviciul activ, în timp ce scutil --dns arată ordinea resolverelor pe care sistemul o va folosi cu adevărat.

Pe Linux, nmcli connection show --active dovedește că conexiunea este activă, iar resolvectl status arată DNS pe legătură. Un resolver prezent în fișierul de conexiune dar absent din ieșirea pe legătură înseamnă că DNS-ul divizat nu este aplicat. Aceasta este diferența dintre nume care se rezolvă și nume care se rezolvă prin tunel și schimbă care echipă de suport deține pasul următor. Compară ieșirea pe legătură înainte și după ce conexiunea urcă, nu doar după.

Rulează întreaga verificare pe un cont nou, fără acreditări în cache și fără certificat instalat de administrator. Apoi repetă după o suspendare și reluare și încă o dată după ce ai forțat reintroducerea acreditărilor. Acele două tranziții scot la iveală majoritatea eșecurilor de reconectare pe care o primă conexiune nu le arată niciodată.

Versionează pachetul și păstrează o cale de revenire

Etichetează fiecare pachet de platformă cu revizia de contract pe care o implementează și notează versiunile de client și gateway față de care l-ai acceptat. Când comportamentul se schimbă după o actualizare de client, eticheta indică un contract de retestat, nu un fișier de ghicit.

Păstrează pachetul anterior pentru fiecare platformă la îndemână și scrie comanda de eliminare lângă el. Dezinstalarea unui profil VPN nu este imaginea în oglindă a instalării lui pe Windows, macOS sau Linux, iar diferențele apar în cel mai rău moment. Repetă eliminarea o dată pe un dispozitiv de rezervă, ca arhiva să devină un plan și nu o speranță.

Articole similare