Otvoríte zoznam VPN, vyberiete inú uloženú položku a očakávate čistú výmenu: novú výstupnú adresu a všetko ostatné bez zmeny. To je predpoklad, ktorého sa treba najprv vzdať. Na macOS je uložená VPN plná sieťová služba, nie predvoľba, takže prepnutie služieb môže súčasne zmeniť smerovanie, DNS aj autentifikáciu. Riadok ponuky ukazuje, ktorá služba je aktívna; nehovorí, či tunel pod ňou zodpovedá vášmu zámeru.

Uložený zoznam nie je výber profilov

Každá položka v Systémovom nastavení > Sieť je samostatná služba s vlastnou adresou servera, účtom, metódou autentifikácie, servermi DNS a možnosťami, ako je Odosielať všetku prevádzku cez pripojenie VPN. Staršie verzie majú rovnaký zoznam v Systémových predvoľbách. Dve položky môžu ukazovať na rovnaký názov hostiteľa a napriek tomu sa správať inak, pretože protokol alebo rozšírenie klienta rozhoduje, ako sa tunel stavia.

Klienti tretích strán majú vlastné zoznamy. Tunnelblick číta konfigurácie zo svojho priečinka, WireGuard si drží vlastný zoznam tunelov a OpenVPN Connect ukladá profily vnútri aplikácie. Niektoré zaregistrujú konfiguráciu v systéme; iné držia všetko v aplikácii a v zabudovanom zozname sa nikdy neobjavia. „Prepnúť na uloženú“ preto znamená rôzne kroky podľa toho, ktorá aplikácia profil vlastní.

scutil --nc list vypíše služby VPN zaregistrované v systémovej konfigurácii, s názvami v úvodzovkách. Pri skriptovaní prepnutia používajte presne tieto názvy a nepredpokladajte, že zoznam pokrýva každý tunel tretej strany.

Čo prepnutie skutočne zmení

Pri zmene aktívnej služby sa hýbu štyri veci súčasne. Predvolená trasa ide za novým tunelom, ak táto služba posiela všetku prevádzku; zoznam resolverov sa zmení na servery DNS, ktoré služba určuje; nové pripojenia berú novú adresu tunela ako svoj zdroj; a použité prihlasovacie údaje patria novej službe. Natívna konfigurácia a profil aplikácie nie sú zameniteľné, ani keď oba končia na tej istej bráne.

What you assumeWhat the system does
Same server name means same tunnelProtocol, certificate and account are per service
All traffic follows the active VPNOnly when Send all traffic over VPN is on
DNS switches with the VPNOnly if that service defines DNS servers
Disconnect ends the connectionOn Demand or a management profile can reconnect
Open sessions survive the switchTCP sessions tied to the old address stall

Na časti s DNS sa ľudia zvyknú zaseknúť. macOS udržiava poradie resolverov a scutil --dns ukazuje, ktoré resolvery sa používajú a na ktorom rozhraní. Služba VPN bez nastavených serverov DNS môže nechať odpovedať resolver z Wi-Fi, takže dostanete novú verejnú adresu so starým správaním DNS a usúdite, že prepnutie fungovalo na polovicu.

Prečo sa stará konfigurácia vracia

Keď sa odpojíte a tá istá služba sa o chvíľu pripojí znova, pozrite sa najprv na On Demand. Pravidlo pripojenia na požiadanie môže službu vrátiť, keď aplikácia preloží zodpovedajúcu doménu, a konfiguračný profil môže rovnaké pravidlo vynútiť. Zmazanie položky to málokedy vyrieši: konfigurácia nainštalovaná profilom sa zvyčajne vráti pri budúcej obnove profilu a ručná môže nechať heslo v Keychain, aj keď služba zmizla.

Spustenie druhej služby vždy nezastaví prvú. Podľa klienta a protokolu môžete skončiť s dvoma tunelmi a dvoma sadami trás a o tom, kto nesie prevádzku, rozhoduje poradie služieb a špecifickosť trasy, nie ikona, na ktorú ste klikli naposledy. Než budete predpokladať, že k výmene došlo, skontrolujte rozhrania.

Overte tunel, nie zaškrtnutie

Prejdite si vlastný pohľad systému, než siahnete na nastavenia.scutil --nc status "Name" hlási, čo si systém myslí;ifconfig ukazuje, či rozhranie utun má adresu;netstat -rn -f inet ukazuje, kam mieri predvolená trasa;scutil --dns ukazuje, ktorý resolver sa skutočne používa. Potom otvorte nové pripojenie a potvrďte výstupnú adresu, pretože stránka, ktorá už bola prihlásená, môže stále používať socket viazaný na starý tunel.

Ak DNS stále odpovedá z miestnej siete, porovnajte nakonfigurované servery služby so zoznamom resolverov. Ak predvolená trasa stále ukazuje na fyzické rozhranie, služba je split-tunnel alebo nie je úplne pripojená. Oboje je výsledok konfigurácie, nie dôkaz pokazeného klienta.

Poradie prepnutia bez prekvapení

  1. Poznamenajte si aktuálnu službu a či ju spravuje profil.
  2. Najprv ju odpojte, keď dva tunely nemôžu existovať vedľa seba.
  3. Pripojte cieľ a čakajte Pripojené, nie Pripájanie.
  4. Skontrolujte predvolenú trasu, zoznam resolverov a novú výstupnú adresu.
  5. Reštartujte aplikácie, ktoré držia dlhodobé relácie.

Ponechajte starú položku, kým nová neprejde týmito kontrolami, a každú položku pomenujte odlišne; rovnaké štítky sťažujú priradenie ďalšej poruchy. Pomocník Macu od Applu opisuje natívnu stranu na Nastavenie pripojenia VPN na Macu, čo je referencia, ktorú treba skontrolovať pred úpravou spravovanej konfigurácie.

Ak sa výber vráti, berte to najprv ako pravidlo alebo On Demand. Overte, komu konfigurácia patrí a či je nastavená na automatické pripojenie, a potom sa rozhodnite, či prepínate službu, alebo bojujete s profilom.

Súvisiace články