Dvě aplikace otevírají spojení ke stejnému kancelářskému serveru a jen jedna z nich by měla používat tunel. Trasa tento požadavek vyjádřit neumí, protože směrovací tabulky jsou postavené na cílech a nemají ponětí o tom, který proces otevřel socket. To, co lidé žádají, a to, co potřebují, jsou často různé věci. Oddělte obojí dřív, než změníte jakoukoli konfiguraci.

Selektor je cíl, nikdy proces

Každé rozhodnutí o směrování začíná cílovou adresou a končí rozhraním. Jádro se nikdy neptá, který program paket odeslal, a v macOS ani pf nesměruje podle procesu, takže pravidlo firewallu nemůže jednu aplikaci poslat jinou cestou. Proto stejný server, ať už k němu přistupuje prohlížeč nebo nástroj pro výkaznictví, používá pro oba jednu cestu. Oddělení na úrovni aplikací proto musí přijít z něčeho jiného než z trasy: plugin VPN, který vlastní socket, proxy, které převezme spojení jménem aplikace, nebo samostatný síťový stack. Nic z toho není změna směrování.

Dvě aplikace mluvící s jednou adresou jsou nejčistší zkouškou návrhu. Pokud se odpověď mezi nimi nemůže lišit, je návrh založený na cíli, ať se jmenuje jakkoli.

Co obyčejný split tunnel skutečně přináší

Split tunnel instaluje trasy pro privátní prefixy a všechno ostatní nechává na fyzické cestě. To je obvykle to, co požadavek znamená: dostat se na kancelářský server tunelem a veřejné prohlížení nechat přímo. Je to jednoduché, každý běžný klient to podporuje a vynucuje to stejný mechanismus jako kteroukoli jinou trasu. Ověřte konkrétní cíl pomocí route -n get, místo abyste četli výchozí trasu, protože split tunnel často nechává výchozí trasu nedotčenou.

Ruční úprava výchozí trasy není převodem na nic. Bojuje proti vlastní obnově tras klienta a u klientů, kteří instalují ochrannou politiku, může nechat stroj ve stavu, který nečekáte ani vy, ani klient. Nastavte split tunnel v podporovaných nastaveních klienta.

Co vyžaduje VPN pro jednotlivé aplikace v macOS

Skutečná VPN pro jednotlivé aplikace v macOS je funkce Network Extension řízená konfiguračním profilem. Správní užitečné zatížení přiřazuje vybrané aplikace ke konfiguraci VPN a systém pak provoz těchto aplikací odpovídajícím způsobem směruje. Je to spravované nasazení, což znamená MDM, podepsaný profil a správce, který vlastní obojí.

Ruční instalace klienta toto přiřazení nevytvoří a běžné okno nastavení nečiní aplikace jednotlivě volitelnými. Dodavatel může vystavit vlastní pravidla aplikací a ta se řídí jeho dokumentací, nikoli obecným pravidlem.

Tři cesty k oddělení podle aplikace bez MDM

Tam, kde správa není k dispozici, je praktickou odpovědí proxy. Nastavte vlastní konfiguraci proxy dané aplikace nebo použijte soubor PAC, který vybírá podle cíle a protokolu jen pro tuto aplikaci.

Lokální proxy spojení ukončí a znovu je vytvoří tunelem, takže aplikace nikdy nepotřebuje trasu. Druhou možností je samostatný síťový stack: virtuální stroj nebo kontejner s vlastní výchozí trasou, ke kterému se aplikace dostane přes místní adresu. Třetí je přijmout směrování podle cíle a požadavek opustit, což je poctivé, když obě aplikace smějí tunel používat. Všechny tři lze otestovat a žádná z nich nepředstírá, že trasa zná procesy.

Napište požadavek tak, aby odpověď byla jednoznačná

Popište pracovní postup, ne mechanismus: která aplikace potřebuje kterou službu, zda je třeba držet jinou aplikaci mimo tutéž službu a co se má dít, dokud je tunel mimo provoz. Tyto tři odpovědi volí návrh. Správci také řeknou, zda je požadavek změnou směrování, nebo projektem nasazení.

Výslovně uveďte případ vyloučené aplikace. Klient, který aplikaci zastaví, když její chráněná cesta není dostupná, se chová jinak než ten, který jí dovolí spadnout zpět na fyzické rozhraní, a uživatelé ten rozdíl okamžitě poznají. Pojmenujte očekávání v tiketu. Pak to ověřte na skutečném stroji, protože stejný produkt se v macOS často chová jinak než ve Windows a jeho dokumentace pro macOS je jediným spolehlivým zdrojem o tom, co jeho nastavení dělají.

Související články