Zes Mac VPN-apps verschijnen op een downloadpagina en geen enkele zegt welke uw werkgeversgateway zal accepteren. Dat is geen gat in de winkel; het is een gat in de overdracht. Een SSL VPN is een productfamilie, geen protocol, dus voor twee gateways met identieke inlogschermen kunnen verschillende clients nodig zijn. Dit is de volgorde die ik gebruik als iemand mij een Mac en een serveradres overhandigt: stel vast wat de gateway spreekt, kies de client die ermee overeenkomt, verifieer vervolgens de routes en DNS voordat je de tunnel met werk vertrouwt.

Begin met de gateway, niet met de app store

De app draait op je Mac, maar er moet nog iets anders de verbinding accepteren en toegang verlenen: een gateway met een operator, een adres, compatibele instellingen en een manier om je te autoriseren. Een gratis client kan goede software zijn en toch niets van dat alles bieden. Werktoegang, een thuisgateway en een commerciële internetuitgang zijn drie verschillende uitgangspunten die toevallig een downloadpagina delen.

Voordat u iets installeert of vervangt, moet u vier antwoorden krijgen van degene die de service beheert:

  • Toegangsmodus: browserportaal, geselecteerde applicatietoegang of een volledige netwerktunnel. Dit bepaalt of je überhaupt een klant nodig hebt.

  • Gatewayfamilie en ondersteunde release: het product, de ingeschakelde service en een clientversie die nog steeds uw macOS build en Mac-hardware ondersteunt.

  • Authenticatie: wachtwoord plus MFA, browseraanmelding, apparaatcertificaat of een postuurcontrole. Een client die niet over de goedgekeurde stroom beschikt, zal verbinding maken en vervolgens worden afgewezen.

  • Eigendom: de vertrouwde download- of beheerbron, het beoogde profiel en wie het ondersteunt wanneer het kapot gaat.

Eigendom is het item dat mensen overslaan. Op een beheerde Mac komt het profiel vaak binnen via het organisatiebeheersysteem en kan een handgebouwde configuratie bij de volgende check-in worden vervangen. Vraag of er van je verwacht wordt dat je zelf iets installeert voordat je op zoek gaat naar een app van derden.

SSL VPN is een familielabel, geen protocol

TLS kan een verbinding beschermen, terwijl een productspecifieke centrale daarin de login, sessietoewijzing en tunnelverkeer afhandelt. Die innerlijke uitwisseling is wat een cliënt moet implementeren. Een browser die de aanmeldingspagina van de gateway HTTPS bereikt, bewijst de certificaatketen en de webserver; het bewijst niet dat een niet-gerelateerde VPN-app een tunnel naar dezelfde machine kan bouwen.

OpenConnect is de duidelijkste illustratie die ik ken. Zijn upstream-documentatie vermeldt afzonderlijke protocolmodi voor verschillende gatewayfamilies en scheidt interoperabiliteit van officiële leveranciersondersteuning. Als elke SSL VPN één protocol zou spreken, zouden deze modi overbodig zijn.

Een OpenVPN-profiel heeft omgekeerd dezelfde beperking: het is een importformaat voor een OpenVPN-compatibele implementatie. Het delen van TLS als bouwsteen verandert het niet in een configuratiebestand voor een willekeurige bedrijfsgateway. Dat is de reden waarom een werkende browseraanmelding vals-positief is: portaltoegang kan slagen terwijl er geen tunnel bestaat, en een tunnel die verschijnt kan later nog steeds worden geweigerd door een postuurcontrole.

Match de cliënt met wat de gateway zegt

Zodra de familie bekend is, wordt de keuze snel kleiner. Dit is de mapping die ik als eerste controleer, en de laatste kolom is belangrijker dan welke app-beoordeling dan ook.

Gateway-familieKlant op macOSWat te bekijken
IKEv2/IPsec, leveranciersneutraalIngebouwde macOS-client met een .mobileconfig-profielServeridentiteit en een profiel dat kan worden beheerd
OpenVPN 2.xTunnelblick of de openvpn opdrachtregel.ovpn plus inloggegevens; de opdrachtgever levert geen dienst
WireGuardOfficiële WireGuard client- of wireguard-toolsPeer-configuratie; wg show zichtbaarheid verschilt per klant
Leverancier SSL VPN (AnyConnect, Pulse, GlobalProtect, F5, Fortinet)Leveranciersclient, of OpenConnect met een expliciet --protocolNiet-ondersteunde combinaties, MFA en postuurcontroles
Alleen browserportaalGeen cliëntApplicatietoegang is geen netwerktunnel

Twee rijen verdienen een waarschuwing. De ingebouwde macOS-client is een echte IKEv2-implementatie, geen generieke SSL VPN-client: een service die daarvoor is ontworpen, heeft het juiste profiel, de verwachte serveridentiteit en inloggegevens nodig, en op een beheerde machine kan dat profiel worden vergrendeld. OpenConnect omvat verschillende leveranciersprotocollen vanuit één binair bestand, maar het eigen project maakt geen aanspraak op ondersteuning door leveranciers; hostscanning, door de gateway gepushte split-tunnelregels of een bepaalde SSO-stroom bestaan mogelijk alleen in de client van de leverancier.

WireGuard heeft dezelfde vorm. De dienst levert peers, de klant levert de tunnel en een OpenVPN profiel is geen vervanging. Eén macOS-rimpel: de App Store-client houdt zijn tunnels binnen een Network Extension, dus wg show van de Homebrew tools kunnen niets rapporteren terwijl de interface actief is. Controleer in plaats daarvan met routes en verkeer.

Configureer en verifieer vervolgens in een vaste volgorde

Installeer één client en één profiel en noteer wat u hebt gewijzigd. Leg voordat u verbinding maakt een basislijn vast, zodat u kunt zien wat de tunnel verandert:

scutil --nc list
networksetup -listallnetworkservices
netstat -rn | grep -E "^default|utun"
scutil --dns

Maak verbinding met het meegeleverde profiel en herhaal dezelfde opdrachten. Voor een volledige tunnel moet de standaardroute naar een utun-interface wijzen; bij split-tunneling moeten alleen de interne voorvoegsels worden gerouteerd en moet uw openbare uitgang er ongewijzigd uitzien. DNS is de helft die normaal gesproken kapot blijft: scutil --dns geeft een overzicht van de oplossers in de volgorde waarin het systeem ze zal gebruiken, en een interne oplosser die onder een openbare staat, zal interne namen naar de verkeerde server sturen.

Voor een OpenVPN-dienst is Tunnelblick een redelijk kosteloze klant, en zijn eigen gids is direct over de ontbrekende helft: het levert geen VPN-dienst. Dubbelklik op de .ovpn die u heeft gekregen, laat Tunnelblick deze installeren en controleer de release met uw macOS-versie voordat u erop vertrouwt.

Voor een leveranciersgateway test ik vaak met OpenConnect vanaf de opdrachtregel:

brew install openconnect
sudo openconnect --protocol=anyconnect --user=you vpn.example.com

De tool drukt het ontvangen certificaat af en wacht voordat hij een onbekende keten vertrouwt; die prompt is een functie, en vastzetten met --servercert pin-sha256:... is beter dan een waarschuwing accepteren die je niet hebt gelezen. Ctrl-C scheurt de tunnel af, omdat een openconnect op de voorgrond geen kill switch en geen logica voor opnieuw verbinden heeft. Dat is prima voor een diagnostische sessie en een slechte standaard voor het dagelijkse werk.

Wanneer er geen bijpassende gateway is

Sommige mensen arriveren met het tegenovergestelde probleem: geen telefoniste, geen adres, geen service. Een gratis Mac-app kan geen inkomende bereikbaarheid creëren op een thuisrouter. Als je vanuit een hotel je eigen netwerk wilt, moet iemand thuis een gateway beheren, deze gepatcht houden, het adres publiceren of oplossen en beslissen welke apparaten bereikbaar zijn.

Als u een andere internetuitgang wilt dan toegang tot een privénetwerk, kiest u de service vóór de client. Een lege profiellijst in een zelfstandige client is vaak geen kapot gratis abonnement; er is mogelijk geen abonnement en geen server aangesloten. Houd ook de kosten uit elkaar: een clientlicentie, een serviceplan en een zelfbediende gateway zijn drie verschillende aankopen.

Een werk-Mac voegt een beleidslaag toe. Een gratis app kan het bij het verkeerde eind hebben, zelfs als deze verbinding maakt, omdat de goedgekeurde client apparaatcontroles kan afdwingen of een authenticatiestroom kan afdwingen die het alternatief ontbeert. Vraag om een goedgekeurd alternatief in plaats van inloggegevens te kopiëren tussen niet-gerelateerde apps, en beschouw het uitschakelen van platformbeveiligingen niet als een compatibiliteitsoplossing.

Een externe desktopviewer is ook een ander product. Het toont u een sessie op een andere computer; het geeft uw lokale Mac-toepassingen niet het netwerkpad dat een tunnel biedt.

Een korte checklist vóór de eerste echte sessie

Geef de gatewayfamilie en de toegangsmodus schriftelijk een naam, installeer alleen de client die daarmee overeenkomt en noteer het profiel dat u hebt gebruikt. Bevestig vervolgens drie dingen met echt verkeer: de routes die de tunnel heeft geïnstalleerd, de volgorde van de oplosser en één interne applicatie die op naam wordt bereikt in plaats van op IP.

Als iets mislukt, wijzig dan één variabele tegelijk: client, profiel, auth-flow. Een portal die wordt geladen terwijl de tunnel weigert te starten, scheidt een webserverprobleem van een clientcompatibiliteitsprobleem. Zodra de werkservice antwoordt en het openbare pad zich gedraagt zoals verwacht, beschikt u over een benoemde, ondersteunde regeling in plaats van een stapel gissingen.

Gerelateerde artikelen