Någon kallar en Mac-anslutning för ”Kontors-VPN”, etiketten överlever två servermigreringar och alla fortsätter att kalla den kontors-VPN långt efter att protokollet ändrats. Namnet är ett smeknamn som sparats bredvid konfigurationen; det är inget bevis för vad Macen förhandlar om. Att läsa den deklarerade typen kostar ett fält, och att skilja den sparade typen från en levande session kostar ett steg till. Här är ordningen som undviker gissningar.

Etiketten är ett smeknamn, nyttolasten deklarerar typen

En macOS VPN-tjänst är en systemkonfigurationspost med ett visat namn, en ägarklient och en uppsättning typade inställningar. Det visade namnet är fri text, redigerbar av den som skapade posten, och det är den del användarna ser i menyraden. Inställningarna bär fakta: vilken anslutningstyp, vilken gateway, vilket autentiseringsupplägg. Inget håller de två i takt, och därför kan en profil med namnet ”L2TP-kontor” vara en IKEv2-tjänst.

För en personligt skapad anslutning visar ägarappen eller systemets egen VPN-panel dessa inställningar. På en hanterad Mac tillhör profilen administratören, och rätt drag är att begära en icke-hemlig sammanfattning i stället för att redigera en hanterad nyttolast. De två fallen ser likadana ut i menyraden och beter sig helt olika under ytan. Den ena är din att granska och ändra; den andra är utrullad och återställs vid nästa kontroll.

Den skillnaden spelar roll eftersom hanterade och personliga konfigurationer styrs olika. En profil som installerats av hanteringen ersätts eller tillämpas igen, så en lokal ändring antingen misslyckas eller rullas tillbaka tyst. Fråga ägaren om typen, gatewayens identitet och autentiseringsmetoden i stället för att reverse-engineera en fil du inte kontrollerar.

Läs VPNType före allt annat i nyttolasten

Apples schema för hanterad VPN-nyttolast deklarerar anslutningstypen i nyckeln VPNType, inne i en ordbok vars PayloadType är com.apple.vpn.managed. Värdet är en kort token som IKEv2, IPsec, L2TP eller VPN, och allt annat i nyttolasten tolkas enligt den token.

<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>

Det här fragmentet är illustrativt och inte installerbart: det är en post i en nyttolastmatris, strippad på de profildata och autentiseringsuppgifter som en riktig utrullning behöver. Läs det för formen, inte för innehållet. Notera också att RemoteAddress och RemoteIdentifier är olika fält med olika uppgifter, även när en utrullning ger dem samma sträng.

Ett äldre värde som PPTP kan fortfarande förekomma i en gammal fil utan att vara ett val som nuvarande macOS erbjuder för en ny konfiguration. Att hitta en token i en sparad profil bevisar vad som skrevs, inte vad operativsystemet fortfarande accepterar.

Anpassade typer kräver VPNSubType och ägarappen

När VPNType är VPN måste nyttolasten också bära VPNSubType, som identifierar det plugin eller den Network Extension-leverantör som implementerar anslutningen. Det är den identifieraren som dirigerar anslutningen till en viss klient, så en felaktig undertyp ger en profil som installeras och sedan vägrar starta.

För leverantörer som bygger på apptillägg tillhör identifieraren den omslutande appen och inte ett gissat tilläggsnamn, och det är den detaljen folk oftast får fel när de redigerar en profil för hand. Även en korrekt undertyp beskriver klienten, inte trådprotokollet, autentiseringsmetoden eller den fjärråtkomstpolicy som klienten kommer att använda.

Så en anpassad nyttolast berättar vilken programvara som äger anslutningen, och lite mer. För att lära dig vad den förhandlar om, läs leverantörens egen dokumentation och dess konfigurerade inställningar. Att kopiera en undertyp från en annan organisations profil är ingen konfigurationsteknik; det är en gissning som råkar parsa.

Lista vad Macen faktiskt har konfigurerat

Innan du läser någon fil, fråga systemet vilka tjänster som finns och vilket tillstånd de är i. Kommandoradsvyn är snabbare än att klicka genom paneler och den skriver ut typen bredvid varje post.

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

Det första kommandot listar konfigurerade VPN-tjänster med deras aktuella status, och det andra skriver ut den valda tjänstens inställningar, inklusive typen och serveradressen den kontaktar. Jämför den adressen med gatewayen du fick veta att förvänta, eftersom en inaktuell post som pekar på en pensionerad värd är ett vanligt arvsproblem.

Dessa kommandon visar konfiguration och status; de bevisar inte att en tunnel bär trafik. Om tjänsten är frånkopplad beskriver utdata en avsikt och inte en fungerande session. En ansluten tjänst utan trafik är återigen ett annat problem, oftast routing eller DNS och inte protokolltypen. Håll de tre observationerna åtskilda, annars faller diagnosen tillbaka på gissningar.

Håll sparade inställningar åtskilda från en levande session

En sparad profil är en avsiktsförklaring. Den visar inte att gatewayen fortfarande erbjuder tjänsten, att den här profilen är den aktiva eller att en session förhandlats fram. Det är tre separata frågor och var och en har sitt eget bevis.

Använd ägarens statusvy eller diagnostikverktyg för att identifiera den aktiva anslutningen och den identitet gatewayen presenterade. En portskanning eller ett certifikat som setts på en orelaterad webbplats besvarar ingen av de två frågorna, och ett certifikats common name är inte samma sak som den förväntade fjärridentifieraren.

När den sparade typen inte längre matchar det gatewayen stöder, skaffa en ersättningsprofil från ägaren. Att ändra typsträngen översätter inte autentiseringsuppgifter mellan protokoll och gör inte ett autentiseringsupplägg till ett annat. Dela sammanfattningen också via den godkända supportkanalen, eftersom exporterade konfigurationer kan bära autentiseringsuppgifter och privata nycklar som en supportförfrågan aldrig behövde.

Relaterade artiklar