Шта ради IncludeAllNetworks у IKEv2 профилу на Mac рачунару?
Кључ ограничава саобраћај на тунел са именованим изузецима. Није подразумевана рута, игнорише EnforceRoutes, а гејтвеј мора да проследи оно што прихвати.
У изворном IKEv2 профилу занимљив кључ није поље за означавање, то је IncludeAllNetworks, а оно што мења јесте обим онога што систем сме да пошаље изван тунела. Поставите га на 1 и macOS третира тунел као пут за практично сав IP саобраћај, минус скуп изузетака које сам дефинише и које можете проширити. Пошто живи у речнику профила, а не у менију, он такође не значи оно што већина претпоставља када прочита фразу пошаљи сав саобраћај.
Шта кључ мења унутар мрежног стека
Без њега, тунел се понаша као мрежни интерфејс са придодатим рутама. Подразумевана рута кроз тај интерфејс хвата већину саобраћаја, а специфичнија рута на другом интерфејсу и даље побеђује за свој префикс. То је нормално рутирање и зато се подељено тунеловање дешава готово случајно.
Када је кључ омогућен, обим престаје да буде рутирајућа преференција и постаје политика о томе који саобраћај сме да изађе кроз било шта осим тунела. Систем и даље мора да достигне мрежу да би одржао везу, па политика долази са изузецима уместо да се претвара да они не постоје. Омогућавање га никада не оставља машину потпуно без радног пута. Оно што добијате је краћа листа путева него што сте претпоставили, а та листа је документована.
Практична последица је да додавање руте више не објашњава исход. Ако се одредиште и даље достиже директно, питање није која је рута победила, већ да ли га изузетак покрива.
Изузеци су део подешавања
Apple документује неколико искључења поред главног кључа, која покривају локалне мреже, саобраћај Apple Push Notification, ћелијске услуге и комуникацију са уређајем. Свако има своје услове платформе и верзије, па исти профил може да се понаша различито међу издањима macOS-а.
Нека од тих искључења су суштинска. Саобраћај потребан за успостављање и одржавање приступа мрежи, укључујући обраду captive портала, мора бити дозвољен, иначе машина може да заврши повезана са ничим и неспособна да то поправи.
Затим долазе намерне одлуке. Дозволити кућни штампач није иста одлука као дозволити префикс радног ресурса, и обе се разликују од остављања APNs достижним да би обавештења наставила да пристижу. Забележите које сте омогућили, у самом профилу, уместо да их касније откривате из извештаја о грешци.
Зашто то није исто што и подразумевана рута
Подразумевана рута је ставка у табели рутирања, а табеле рутирања губе. Специфичнији префикс је побеђује, веза везана за апликацију може да је заобиђе, а други интерфејс са бољом метриком може да преузме без да ико дирне VPN конфигурацију.
Apple смернице за рутирање то јасно разликују: обичне подразумеване руте могу бити надјачане специфичнијим рутама, док шире подешавање обима дефинише који саобраћај тунел мора да носи и шта је из њега издвојено. Једно је преференција, друго је ближе правилу.
Та разлика мења и начин на који дијагностикујете цурење. Са подразумеваном рутом прегледате руте и метрику. Са кључем обима прегледате ревизију профила, инсталиране изузетке и понашање специфично за верзију, јер је табела рутирања последица одлуке донете раније.
EnforceRoutes је другачије дугме
EnforceRoutes звучи као строга верзија исте идеје, и људи слажу оба у уверењу да више кључева значи већу покривеност. Apple документује да се игнорише када је IncludeAllNetworks омогућен, па други кључ у тој комбинацији неће ништа донети.
Третирајте га као алтернативу за конфигурације које не користе шири обим, а не као појачање. Ако не можете да објасните шта сваки кључ ради сам за себе, додавање оба само чини профил тежим за преглед.
Око чега гејтвеј и власник профила морају да се сложе
Подешавање клијента не може да натера сервер да проследи саобраћај за који никада није конфигурисан. Гејтвеј мора да прихвати сесију, додели адресе, обезбеди повратни пут за префиксе које намеравате да достигнете и служи DNS у распореду који сте изабрали. Ако рутира само један префикс, широки обим клијента производи саобраћај који стигне и умре. Један захтев ка одредишту изван рута гејтвеја то доказује за минут.
Тунел у власништву апликације је опет посебан случај. Добављач мора да имплементира или изложи подржано понашање; инсталирање другог изворног IKEv2 профила не мења тунел којим друга апликација већ управља, а IKEv2 кључ није OpenVPN директива коју ће други клијент читати.
За актуелну листу кључева и услове верзија, читајте Apple-ову референцу IKEv2 корисног терета, а не профил који је неко копирао пре година.
Прихватите ревизију профила као целину
Пре него што промените Mac којим се управља на даљину, запишите циљне верзије macOS-а, намеравани излаз на интернет, приватне префиксе који морају остати достижни и свако искључење које омогућавате. Затим сачувајте пут опоравка који не зависи од тунела који ћете изменити.
Тестирајте нове јавне захтеве, приватне захтеве, обе адресне фамилије и разрешавање имена, и проверите инсталирану ревизију, а не пројектни фајл. Ако нешто и даље иде директно, одредите да ли је то документовани изузетак, другачији контекст везе или стварна грешка у конфигурацији, и промените једно од та три уместо да шири неспојене кључеве.