Iemand noemt een Mac-verbinding „Kantoor-VPN“, het label overleeft twee servermigraties, en iedereen blijft het kantoor-VPN noemen lang nadat het protocol is veranderd. De naam is een bijnaam die naast de configuratie is opgeslagen; het is geen bewijs van wat de Mac onderhandelt. Het gedeclareerde type lezen kost één veld, en dat opgeslagen type van een levende sessie scheiden kost nog een stap. Hier is de volgorde die giswerk vermijdt.

Het label is een bijnaam, de payload verklaart het type

Een macOS VPN-dienst is een systeemconfiguratie-item met een weergavenaam, een eigenaarclient en een set getypeerde instellingen. De weergavenaam is vrije tekst, bewerkbaar door wie het item ook heeft gemaakt, en dat is het deel dat gebruikers in de menubalk zien. De instellingen dragen de feiten: welk verbindingstype, welke gateway, welke authenticatieopzet. Niets houdt beide in lijn, waardoor een profiel met de naam „kantoor L2TP“ een IKEv2-dienst kan zijn.

Voor een persoonlijk gemaakte verbinding tonen de eigenaarsapp of het eigen VPN-paneel van het systeem die instellingen. Op een beheerde Mac is het profiel van de beheerder, en de juiste zet is om een niet-geheim overzicht te vragen in plaats van een beheerde payload te bewerken. De twee gevallen lijken op elkaar in de menubalk en gedragen zich eronder totaal anders. De ene is van jou om te inspecteren en te wijzigen; de andere is uitgerold en wordt bij de volgende controle hersteld.

Dat onderscheid is belangrijk omdat beheerde en persoonlijke configuraties anders worden bestuurd. Een profiel dat door beheer is geïnstalleerd, wordt vervangen of opnieuw toegepast, dus een lokale wijziging mislukt of draait stilletjes terug. Vraag de eigenaar om het type, de identiteit van de gateway en de authenticatiemethode in plaats van een bestand te reverse-engineeren dat je niet beheert.

Lees VPNType vóór al het andere in de payload

Apple’s schema voor beheerde VPN-payloads verklaart het verbindingstype in de sleutel VPNType, binnen een woordenboek waarvan de PayloadType com.apple.vpn.managed is. De waarde is een kort token zoals IKEv2, IPsec, L2TP of VPN, en al het andere in de payload wordt volgens dat token geïnterpreteerd.

<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>VPNType</key>
<string>IKEv2</string>
<key>IKEv2</key>
<dict>
  <key>RemoteAddress</key>
  <string>vpn.head-office.example</string>
  <key>RemoteIdentifier</key>
  <string>ikev2.head-office.example</string>
</dict>

Dit fragment is illustratief en niet installeerbaar: het is één item uit een payload-array, ontdaan van de profielmetadata en inloggegevens die een echte uitrol nodig heeft. Lees het om de vorm, niet om de inhoud. Merk ook op dat RemoteAddress en RemoteIdentifier verschillende velden met verschillende taken zijn, zelfs wanneer een uitrol ze dezelfde tekenreeks geeft.

Een oude waarde zoals PPTP kan nog in een oud bestand voorkomen zonder een keuze te zijn die het huidige macOS voor een nieuwe configuratie biedt. Een token in een opgeslagen profiel vinden bewijst wat er is geschreven, niet wat het besturingssysteem nog accepteert.

Aangepaste typen vereisen VPNSubType en de eigenaarsapp

Wanneer VPNType VPN is, moet de payload ook VPNSubType dragen, dat de plug-in of Network Extension-provider identificeert die de verbinding implementeert. Die identificatie leidt de verbinding naar een specifieke client, dus een verkeerd subtype levert een profiel op dat installeert en daarna weigert te starten.

Bij providers op basis van app-extensies hoort de identificatie bij de bevattende app en niet bij een geraden extensienaam, en dat is het detail dat mensen meestal fout doen bij het met de hand bewerken van een profiel. Zelfs een correct subtype beschrijft de client, niet het draadprotocol, de authenticatiemethode of het beleid voor toegang op afstand dat die client zal gebruiken.

Een aangepaste payload vertelt je dus welke software de verbinding bezit, en weinig meer. Om te weten wat hij onderhandelt, lees de eigen documentatie van die provider en de geconfigureerde instellingen. Een subtype uit het profiel van een andere organisatie kopiëren is geen configuratietechniek; het is een gok die toevallig parseert.

Som op wat de Mac werkelijk heeft geconfigureerd

Vraag het systeem welke diensten bestaan en in welke staat ze zijn voordat je een bestand leest. De commandoregelweergave is sneller dan door panelen klikken en drukt het type naast elk item af.

scutil --nc list
scutil --nc show "Office VPN"

De eerste opdracht somt geconfigureerde VPN-diensten op met hun huidige status, en de tweede drukt de instellingen van de gekozen dienst af, inclusief het type en het serveradres waarmee hij contact opneemt. Vergelijk dat adres met de gateway die je geacht werd te verwachten, want een verouderd item dat naar een buiten gebruik gestelde host wijst, is een veelvoorkomend erfenisprobleem.

Deze opdrachten tonen configuratie en status; ze bewijzen niet dat een tunnel verkeer draagt. Als de dienst is losgekoppeld, beschrijft de uitvoer een bedoeling en geen werkende sessie. Een verbonden dienst zonder verkeer is weer een ander probleem, meestal routing of DNS en niet het protocoltype. Houd die drie observaties gescheiden, anders valt de diagnose terug op giswerk.

Houd opgeslagen instellingen gescheiden van een levende sessie

Een opgeslagen profiel is een intentieverklaring. Het toont niet dat de gateway die dienst nog biedt, dat dit profiel het actieve is of dat een sessie met succes is onderhandeld. Dat zijn drie afzonderlijke vragen en elk heeft zijn eigen bewijs.

Gebruik de statusweergave van de eigenaar of diagnostische hulpmiddelen om de actieve verbinding en de identiteit die de gateway presenteerde te identificeren. Een portscan of een certificaat dat op een ongerelateerde site is gezien, beantwoordt geen van beide vragen, en de common name van een certificaat is niet hetzelfde als de verwachte externe identificatie.

Wanneer het opgeslagen type niet meer past bij wat de gateway ondersteunt, haal een vervangend profiel bij de eigenaar. Het type-string wijzigen vertaalt geen inloggegevens tussen protocollen en maakt van de ene authenticatieopzet geen andere. Deel de samenvatting ook via het goedgekeurde supportkanaal, omdat geëxporteerde configuraties inloggegevens en privésleutels kunnen bevatten die een supportverzoek nooit nodig had.

Gerelateerde artikelen