iPhone-VPN-app på en Apple Silicon-Mac: hvad der egentlig kører
Apple kører nu pakketunneludbydere fra iOS-apps på Apple Silicon, men én vellykket anmodning beviser hverken tilgængelighed, kontoforløb eller dækning.
Nogen installerer iPhone-udgaven af en VPN-klient på en Mac fra M-serien, den åbner, den forbinder, og teamet beslutter, at platforms-spørgsmålet er afgjort. Det er ikke afgjort. Det, der her skiller afgjort fra blot fungerende, er forskellen mellem en app-udvidelse inde i en brugersession og en systemudvidelse med en global kontekst. Apple understøtter faktisk pakketunneludbydere i modellen iOS-apps på Mac og oplister den ordning særskilt fra native macOS og Mac Catalyst. Hvad den understøttelse betyder, er snævrere, end det lyder. Den siger, at ordningen er tilladt, ikke at en given app gør det godt, eller at tunnelen dækker det, du antager.
Tre ordninger, én tabel
Tre ordninger betyder noget på en Mac, og de kan ikke udskiftes. En native macOS-klient leverer en systemudvidelse, som kører i en global kontekst og kan være til stede, før nogen logger ind. En iPhone-app på Apple Silicon leverer en app-udvidelse, som kører inde i brugerens session og slutter med den. Mac Catalyst sidder i samme pakningsfamilie som telefonudgaven, men er et andet mål med sin egen udrulningsrække.
Sammenligningen nedenfor er den del af Apples udrulningsvejledning, der er værd at huske, fordi den besvarer de fleste designspørgsmål, før man ringer til en leverandør.
| Arrangement | Provider packaging | Session context | Typical distribution |
|---|---|---|---|
| iOS app on Apple Silicon | App extension | User session only | Mac App Store |
| Native macOS client | System extension | Global, pre-login possible | Developer ID, notarised |
| Mac Catalyst | App extension | User session only | Mac App Store |
Læs pakningskolonnen før marketingssiden: den forudsiger, hvad der sker ved logud, langt mere pålideligt end enhver funktionsliste.
Hvad én vellykket anmodning beviser
Rækken iOS-apps på Mac er en reelt understøttet ordning og ikke et simulator-trick, og derfor kommer spørgsmålet igen og igen. Den arver også distribution via Mac App Store, så en app, hvis udgiver aldrig har tilvalgt Mac-tilgængelighed, vises ikke, uanset hvor imødekommende udviklerdokumentationen er.
En fungerende forbindelse beviser, at én anmodning fra én app nåede sin destination. Den kortlægger ikke browserens resolver, de apps der blev udelukket, den anden adressefamilie eller de lokale enheder, som brugeren stadig forventer at nå. En pakketunnel bærer det, som dens ruter og omfang siger, og det omfang kommer fra appens konfiguration, ikke fra tunnelens eksistens.
Hullet er som regel dækning pr. app
En klient, der ruter alt, er let at beskrive og let at teste. En, der omfatter en defineret liste af apps, har brug for, at de regler overholdes i denne udrulning, ikke kun i den native Mac-udgave. Adgang til lokale enheder, undtagelser for delt tunnel og alt, der afhænger af et menulinjeelement, som telefonudgaven aldrig havde, rammer den samme mur.
Bed om omfanget skriftligt, og test så det andet tilfælde i stedet for det første. Enhver kan vise en browser, der når internettet gennem tunnelen.
Hvor de to skiller sig ad i drift
Sessionens levetid er den skarpeste forskel og den mindst synlige i en demo. Apple dokumenterer app-udvidelser som kørende i en brugerkontekst og afsluttet, når brugeren logger ud, så en Mac, der genstarter til et login-vindue, ikke har nogen tunnel, før nogen logger ind. Hvis kravet dækker en maskine, der skal beskyttes før godkendelse, kan telefonudgaven ikke opfylde det, uanset hvordan profilen er skrevet.
Alt andet er forholdsvis kosmetisk: tilstedeværelse i menulinjen, hvordan DNS vises, om appen må afslutte, mens tunnelen bliver oppe. Det er reelle brugbarhedsforskelle, og de er ikke arkitekturbeslutninger, så ranger dem efter sessionsspørgsmålet.
Beslut i en fast rækkefølge
Ordne spørgsmålene med vilje: ubemandet dækning først, omfang pr. app andet, distribution tredje, grænsefladefinish sidst. Kun en native klient med en systemudvidelse besvarer det første, og MDM plus en administreret profil er, hvordan den når enheden. En iOS-app på Apple Silicon er et rimeligt svar, når en person sidder ved maskinen, logger ind og vil have tunnelen til den session.
Spørg udgiveren om tre konkrete ting, før du forpligter dig. Understøttes pakketunneludbyderen i udrulningen iOS-apps på Mac, gælder reglerne pr. app der, og hvad sker der ved logud. En leverandør, der svarer på alle tre i én besked, kender sin udrulningsflade; en, der kun svarer på det første, beskriver en app, der åbner på en Mac.
Verificér derefter på den maskine, du vil understøtte, med den konto og gateway, du faktisk vil bruge. En telefonudgave, der forbinder til en testgateway på én bærbar, er bevis, ikke en udrulning.