Co dělá IncludeAllNetworks v profilu IKEv2 na Macu?
Klíč omezuje provoz na tunel s pojmenovanými výjimkami. Není to výchozí trasa, ignoruje EnforceRoutes a brána musí předávat to, co povolí.
V nativním profilu IKEv2 není zajímavým klíčem zaškrtávací políčko, ale IncludeAllNetworks, a mění rozsah toho, co systém smí posílat mimo tunel. Nastavte jej na 1 a macOS bere tunel jako cestu pro v podstatě veškerý IP provoz, minus sadu výjimek, které definuje a které můžete rozšířit. Protože žije ve slovníku profilu, a ne v nabídce, neznamená ani to, co většina lidí předpokládá, když si přečte frázi posílat veškerý provoz.
Co klíč mění uvnitř síťového zásobníku
Bez něj se tunel chová jako síťové rozhraní s připojenými trasami. Výchozí trasa přes toto rozhraní zachytí většinu provozu a jakákoli konkrétnější trasa na jiném rozhraní pro svůj prefix stále vyhraje. To je normální směrování, a proto k rozdělenému tunelování dochází téměř náhodou.
S povoleným klíčem přestává být rozsah směrovací preferencí a stává se zásadou o tom, který provoz smí odejít přes cokoli jiného než tunel. Systém se stále musí dostat do sítě, aby spojení zůstalo živé, takže zásada přichází s výjimkami, místo aby předstírala, že neexistují. Zapnutí nikdy nenechá stroj úplně bez funkční cesty. Dostanete kratší seznam cest, než jste předpokládali, a ten seznam je zdokumentovaný.
Praktickým důsledkem je, že přidání trasy už výsledek nevysvětluje. Pokud se cíl stále dosahuje přímo, otázka nezní, která trasa vyhrála, ale zda ho pokrývá výjimka.
Výjimky jsou součástí nastavení
Apple dokumentuje několik vyloučení vedle hlavního klíče, pokrývajících lokální sítě, provoz Apple Push Notification, mobilní služby a komunikaci zařízení. Každé má své podmínky platformy a verze, takže stejný profil se může mezi verzemi macOS chovat různě.
Některá z těchto vyloučení jsou vlastní. Provoz potřebný k navázání a udržení síťového přístupu, včetně obsluhy captive portálu, musí být povolen, jinak může stroj skončit připojený k ničemu a neschopný to napravit.
Pak přicházejí záměrné volby. Povolit domácí tiskárnu není stejné rozhodnutí jako povolit prefix pracovního zdroje a obojí se liší od toho nechat APNs dostupné, aby oznámení dál přicházela. Zapište, které jste zapnuli, do samotného profilu, místo abyste je později objevovali z hlášení chyby.
Proč to není totéž jako výchozí trasa
Výchozí trasa je položka směrovací tabulky a tabulky prohrávají. Konkrétnější prefix ji porazí, spojení vázané na aplikaci ji může obejít a druhé rozhraní s lepší metrikou může převzít, aniž by kdokoli sáhl na konfiguraci VPN.
Apple ve svém pokynu ke směrování rozdíl vysvětluje výslovně: běžné výchozí trasy lze přepsat konkrétnějšími trasami, zatímco nastavení širšího rozsahu určuje, který provoz musí tunel nést a co je z něj vyjmuto. Jedno je preference, druhé má blíž k pravidlu.
Ten rozdíl mění i to, jak diagnostikujete únik. S výchozí trasou prohlížíte trasy a metriky. S klíčem rozsahu prohlížíte revizi profilu, nainstalované výjimky a chování specifické pro verzi, protože směrovací tabulka je až za rozhodnutím učiněným dřív.
EnforceRoutes je jiný ovladač
EnforceRoutes zní jako striktní verze téže myšlenky a lidé oba vrství v přesvědčení, že víc klíčů znamená větší pokrytí. Apple dokumentuje, že se ignoruje, když je IncludeAllNetworks zapnutý, takže druhý klíč v této kombinaci nic nepřinese.
Berte jej jako alternativu pro konfigurace, které širší rozsah nepoužívají, ne jako posílení. Pokud nedokážete vysvětlit, co každý klíč dělá sám o sobě, přidání obou jen ztíží revizi profilu.
Na čem se musí shodnout brána a vlastník profilu
Nastavení klienta nemůže přimět server předávat provoz, na který nebyl nikdy nakonfigurován. Brána musí přijmout relaci, přidělit adresy, poskytnout zpáteční cestu pro prefixy, na které chcete dosáhnout, a obsluhovat DNS v jakémkoli uspořádání jste zvolili. Pokud směruje jen jeden prefix, široký rozsah klienta vytváří provoz, který dorazí a umře. Jeden požadavek na cíl mimo trasy brány to prokáže za minutu.
Tunel vlastněný aplikací je zase samostatný případ. Poskytovatel musí implementovat nebo vystavit podporované chování; instalace druhého nativního profilu IKEv2 neupravuje tunel, který už spravuje jiná aplikace, a klíč IKEv2 není direktiva OpenVPN, kterou by přečetl jiný klient.
Aktuální seznam klíčů a podmínky verzí najdete v referenci užitečného zatížení IKEv2 od Apple, ne v profilu, který někdo zkopíroval před lety.
Přijměte revizi profilu jako celek
Než změníte Mac spravovaný vzdáleně, zapište cílové verze macOS, zamýšlený výstup do internetu, soukromé prefixy, které musí zůstat dostupné, a každé vyloučení, které zapínáte. Pak zachovejte cestu pro obnovu, která nezávisí na tunelu, který se chystáte upravit.
Otestujte čerstvé veřejné požadavky, soukromé požadavky, obě adresní rodiny a překlad jmen a zkontrolujte nainstalovanou revizi, ne návrhový soubor. Pokud něco stále jde přímo, rozhodněte, zda je to zdokumentovaná výjimka, jiný kontext připojení, nebo skutečná chyba konfigurace, a změňte jednu z těch tří věcí, místo abyste rozšiřovali nesouvisející klíče.