Што робіць IncludeAllNetworks у профілі IKEv2 на Mac?
Ключ абмяжоўвае трафік тунелем з названымі выключэннямі. Гэта не маршрут па змаўчанні, ён ігнаруе EnforceRoutes, а шлюз павінен перасылаць тое, што прымае.
У родным профілі IKEv2 цікавы ключ — не сцяжок, а IncludeAllNetworks, і ён змяняе абсяг таго, што сістэме дазволена адпраўляць па-за тунелем. Пастаўце яго ў 1, і macOS лічыць тунель шляхам амаль для ўсяго IP-трафіку, за вылікам набору выключэнняў, якія ён вызначае і якія вы можаце пашырыць. Паколькі ён жыве ў слоўніку профілю, а не ў меню, ён таксама не азначае таго, што большасць людзей мяркуе, чытаючы фразу адпраўляць увесь трафік.
Што ключ змяняе ў сеткавым стэку
Без яго тунель паводзіць сябе як сеткавы інтэрфейс з далучанымі маршрутамі. Маршрут па змаўчанні праз гэты інтэрфейс перахоплівае большую частку трафіку, а любы больш дакладны маршрут на іншым інтэрфейсе ўсё яшчэ перамагае для свайго прэфікса. Гэта звычайная маршрутызацыя, і менавіта таму раздзеленае тунеляванне ўзнікае амаль выпадкова.
Калі ключ уключаны, абсяг перастае быць перавагай маршрутызацыі і становіцца палітыкай пра тое, якому трафіку дазволена выходзіць праз штосьці іншае, чым тунель. Сістэме ўсё яшчэ трэба дасягаць сеткі, каб трымаць злучэнне жывым, таму палітыка пастаўляецца з выключэннямі, а не робіць выгляд, што іх няма. Уключэнне ніколі не пакідае машыну зусім без працоўнага шляху. Вы атрымліваеце больш кароткі спіс шляхоў, чым меркавалі, і гэты спіс дакументаваны.
Практычны вынік у тым, што даданне маршруту больш не тлумачыць вынік. Калі прызначэнне ўсё яшчэ дасягаецца напрамую, пытанне не ў тым, які маршрут перамог, а ў тым, ці пакрывае яго выключэнне.
Выключэнні — частка налады
Apple дакументуе некалькі выключэнняў побач з асноўным ключом, якія ахопліваюць лакальныя сеткі, трафік Apple Push Notification, сотавыя паслугі і сувязь з прыладамі. Кожнае мае свае ўмовы платформы і версіі, таму адзін і той жа профіль можа паводзіць сябе па-рознаму ў розных выпусках macOS.
Некаторыя з гэтых выключэнняў неад'емныя. Трафік, патрэбны для ўсталявання і падтрымання сеткавага доступу, уключаючы апрацоўку captive portal, павінен быць дазволены, інакш машына можа апынуцца падключанай да нічога і не здольнай гэта выправіць.
Далей ідуць свядомыя выбары. Дазволіць хатні прынтар — не тое ж рашэнне, што дазволіць прэфікс працоўнага рэсурсу, і абодва адрозніваюцца ад таго, каб пакінуць APNs дасягальным, каб апавяшчэнні працягвалі прыходзіць. Запішыце, якія з іх вы ўключылі, у самім профілі, а не выяўляйце іх пазней з справаздачы пра памылку.
Чаму гэта не тое ж, што маршрут па змаўчанні
Маршрут па змаўчанні — гэта запіс у табліцы маршрутызацыі, а табліцы прайграюць. Больш дакладны прэфікс перамагае яго, злучэнне, прывязанае да праграмы, можа яго абысці, а другі інтэрфейс з лепшай метрыкай можа перахапіць, не кранаючы канфігурацыю VPN.
Кіраўніцтва Apple па маршрутызацыі робіць розніцу відавочнай: звычайныя маршруты па змаўчанні можна перакрыць больш дакладнымі маршрутамі, тады як налада шырэйшага абсягу вызначае, які трафік тунель абавязаны несці і што з яго выключана. Адно — перавага, другое — бліжэй да правіла.
Гэтая розніца змяняе і тое, як вы дыягнастуеце ўцечку. З маршрутам па змаўчанні вы аглядаеце маршруты і метрыкі. З ключом абсягу вы аглядаеце рэвізію профілю, усталяваныя выключэнні і паводзіны, спецыфічныя для версіі, бо табліца маршрутызацыі знаходзіцца ніжэй за рашэнне, прынятае раней.
EnforceRoutes — іншая ручка
EnforceRoutes гучыць як строгая версія той жа ідэі, і людзі складаюць абедзве, лічачы, што больш ключоў азначае большы ахоп. Apple дакументуе, што ён ігнаруецца, калі IncludeAllNetworks уключаны, таму другі ключ нічога не дае ў гэтай камбінацыі.
Разглядайце яго як альтэрнатыву для канфігурацый, якія не выкарыстоўваюць шырэйшы абсяг, а не як узмацненне. Калі вы не можаце патлумачыць, што кожны ключ робіць сам па сабе, даданне абодвух толькі робіць профіль цяжэйшым для разгляду.
Што павінны ўзгадніць шлюз і ўладальнік профілю
Налада кліента не можа прымусіць сервер перасылаць трафік, на які ён ніколі не быў наладжаны. Шлюзу трэба прыняць сеанс, выдаць адрасы, забяспечыць зваротны шлях для прэфіксаў, якіх вы хочаце дасягнуць, і абслугоўваць DNS у любым абраным вамі парадку. Калі ён маршрутызуе толькі адзін прэфікс, шырокі кліенцкі абсяг спараджае трафік, які прыходзіць і памірае. Адзін запыт да прызначэння па-за маршрутамі шлюза даказвае гэта за хвіліну.
Тунель, які належыць праграме, — зноў асобны выпадак. Пастаўшчык павінен рэалізаваць або адкрыць падтрымліваныя паводзіны; усталяванне другога роднага профілю IKEv2 не змяняе тунель, якім ужо кіруе іншая праграма, і ключ IKEv2 не з'яўляецца дырэктывай OpenVPN, якую прачытае іншы кліент.
Каб убачыць актуальны спіс ключоў і ўмовы версій, чытайце даведку па карыснай нагрузцы IKEv2 ад Apple, а не профіль, які нехта скапіяваў шмат гадоў таму.
Прымайце рэвізію профілю як цэлае
Перш чым змяніць Mac, якім кіруюць аддалена, запішыце мэтавыя версіі macOS, меркаваны выхад у інтэрнэт, прыватныя прэфіксы, якія павінны заставацца дасягальнымі, і кожнае выключэнне, якое вы ўключаеце. Затым захавайце шлях аднаўлення, які не залежыць ад тунеля, які вы збіраецеся змяніць.
Праверце свежыя публічныя запыты, прыватныя запыты, абедзве адрасныя сям'і і развязанне імён, і праверце ўсталяваную рэвізію, а не файл праекта. Калі нешта ўсё яшчэ ідзе напрамую, вырашыце, ці гэта дакументаванае выключэнне, іншы кантэкст злучэння ці сапраўдная памылка канфігурацыі, і змяніце адно з гэтых трох, а не пашырайце незвязаныя ключы.