Wat er echt verandert als je opgeslagen VPN-configuraties op macOS wisselt
Een opgeslagen Mac-VPN wisselen is geen profielruil. Zie wat er verandert in routes, DNS en inloggegevens, en hoe je de tunnel controleert die je echt hebt gekregen.
Je opent de VPN-lijst, kiest de andere opgeslagen vermelding en verwacht een schone wissel: een nieuw uitgangsadres en verder alles ongewijzigd. Dat is de aanname die je eerst moet laten vallen. Op macOS is een opgeslagen VPN een volledige netwerkdienst en geen voorinstelling, dus wisselen van dienst kan tegelijk routing, DNS en authenticatie veranderen. De menubalk laat zien welke dienst actief is; hij zegt niet of de tunnel daaronder bij je bedoeling past.
De opgeslagen lijst is geen profielkiezer
Elke vermelding in Systeeminstellingen > Netwerk is een eigen dienst, met een eigen serveradres, account, authenticatiemethode, DNS-servers en opties zoals Alle verkeer via de VPN-verbinding sturen. Oudere versies hebben dezelfde lijst in Systeemvoorkeuren. Twee vermeldingen kunnen naar dezelfde hostnaam wijzen en zich toch anders gedragen, omdat het protocol of de clientextensie bepaalt hoe de tunnel wordt opgebouwd.
Clients van derden houden aparte lijsten bij. Tunnelblick leest configuraties uit zijn eigen map, WireGuard heeft zijn eigen tunnelijst en OpenVPN Connect bewaart profielen in de app. Sommige registreren een configuratie in het systeem; andere houden alles in de app en verschijnen nooit in de ingebouwde lijst. ‘Wisselen naar de opgeslagen’ betekent dus andere handelingen, afhankelijk van welke app het profiel bezit.
scutil --nc list drukt de VPN-diensten af die in de systeemconfiguratie zijn geregistreerd, met de namen tussen aanhalingstekens. Gebruik precies die namen wanneer je een wissel script, en ga er niet van uit dat de lijst elke tunnel van derden dekt.
Wat een wissel echt verandert
Vier dingen bewegen samen wanneer de actieve dienst verandert. De standaardroute volgt de nieuwe tunnel als die dienst al het verkeer stuurt; de resolverlijst verandert naar de DNS-servers die de dienst opgeeft; nieuwe verbindingen nemen het nieuwe tunneladres als bron; en de inloggegevens die gebruikt worden horen bij de nieuwe dienst. Een native configuratie en een app-profiel zijn niet uitwisselbaar, ook niet als beide bij dezelfde gateway eindigen.
| What you assume | What the system does |
|---|---|
| Same server name means same tunnel | Protocol, certificate and account are per service |
| All traffic follows the active VPN | Only when Send all traffic over VPN is on |
| DNS switches with the VPN | Only if that service defines DNS servers |
| Disconnect ends the connection | On Demand or a management profile can reconnect |
| Open sessions survive the switch | TCP sessions tied to the old address stall |
Het DNS-deel verrast mensen. macOS houdt een resolvervolgorde aan, en scutil --dns laat zien welke resolvers in gebruik zijn en op welke interface. Een VPN-dienst zonder geconfigureerde DNS-servers kan de wifi-resolver laten antwoorden, zodat je een nieuw openbaar adres krijgt met het oude DNS-gedrag en concludeert dat de wissel half werkte.
Waarom de oude configuratie terugkomt
Als je verbreekt en dezelfde dienst even later opnieuw verbindt, kijk dan eerst naar On Demand. Een regel voor verbinden op verzoek kan een dienst terugbrengen wanneer een app een passend domein oplost, en een beheerprofiel kan dezelfde regel afdwingen. De vermelding verwijderen lost het zelden op: een via een profiel geïnstalleerde configuratie komt meestal terug bij de volgende profielvernieuwing, en een handmatige kan het wachtwoord in de Sleutelhanger achterlaten terwijl de dienst weg is.
Een tweede dienst starten stopt niet altijd de eerste. Afhankelijk van client en protocol kun je met twee tunnels en twee sets routes eindigen, en dienstvolgorde plus routespecificiteit bepalen welke het verkeer draagt, niet het pictogram waarop je het laatst klikte. Controleer de interfaces voordat je aanneemt dat er een wissel plaatsvond.
Controleer de tunnel, niet het vinkje
Loop de eigen weergave van het systeem door voordat je instellingen aanraakt.scutil --nc status "Name" meldt wat het systeem denkt;ifconfig laat zien of een utun-interface een adres heeft;netstat -rn -f inet laat zien waar de standaardroute heen wijst;scutil --dns laat de resolver zien die feitelijk wordt gebruikt. Open daarna een verse verbinding en bevestig het uitgangsadres, want een pagina die al was aangemeld gebruikt mogelijk nog een socket die aan de oude tunnel is gebonden.
Als DNS nog uit het lokale netwerk antwoordt, vergelijk dan de geconfigureerde servers van de dienst met de resolverlijst. Als de standaardroute nog naar de fysieke interface wijst, is de dienst een split-tunnel of niet volledig verbonden. Beide zijn configuratieresultaten, geen bewijs van een kapotte client.
Een wisselvolgorde zonder verrassingen
- Noteer de huidige dienst en of een profiel hem beheert.
- Verbreek hem eerst wanneer de twee tunnels niet samen kunnen bestaan.
- Verbind het doel en wacht op Verbonden, niet op Verbinden.
- Controleer de standaardroute, de resolverlijst en een vers uitgangsadres.
- Herstart apps die langdurige sessies vasthouden.
Houd de oude vermelding tot de nieuwe deze controles doorstaat, en geef elke vermelding een eigen naam; identieke labels maken de volgende storing moeilijker toe te schrijven. Apples Mac-hulp beschrijft de native kant op Een VPN-verbinding op de Mac instellen, de referentie die je moet controleren voordat je een beheerde configuratie bewerkt.
Als de selectie terugspringt, behandel het dan eerst als beleid of On Demand. Bevestig wie de configuratie bezit en of die op automatisch verbinden staat, en beslis dan of je een dienst wisselt of tegen een profiel vecht.