Клијенти низводно иза надређеног VPN-а: рута или NAT?
Надређени VPN зна само адресу клијента, па прослеђивање друге подмреже захтева договорену руту или намерно превођење извора.
Један гејтвеј покреће WireGuard за ваше уређаје и OpenVPN клијента ка нечијој другој мрежи. Прослеђивање између два унутрашња интерфејса ради, и лако је закључити да је доња подмрежа сада део надређене услуге. Није. Рута коју клијент повуче говори вашем гејтвеју куда да шаље захтеве; не говори ништа о томе како удаљена мрежа враћа саобраћај уређајима за које никада није чула. Изаберите модел враћања који надређена услуга заиста подржава пре него што додате и једно правило.
Одлучите о моделу враћања пре него што дирнете рутирање
У овом прегледу доњи клијенти користе 10.90.0.0/24, гејтвеју додељена адреса надређеног тунела је 10.80.0.6, а одобрени удаљени ресурс је 172.20.0.30. Два модела одговарају том облику: сачувати доњи извор и натерати удаљену страну да га рутира, или превести извор у сопствену адресу тунела гејтвеја. Све после ове одлуке је механичко, а сама одлука захтева власника услуге. Један ред горе је споразум о рутирању са удаљеном страном; други је локална промена политике коју можете да урадите сами. Управо мешање тих двеју претвара десетоминутну промену у преговоре.
preserved: 10.90.0.23 -> 172.20.0.30
translated: 10.80.0.6 -> 172.20.0.30Изаберите један ред и држите га се. Редови су алтернативе, не кораци, и њихово мешање даје дизајн који нико не може да објасни на прегледу.
Очување извора рутирањем
Удаљена страна прима захтев са доње адресе, па јој треба подржана рута и власништво peer-а за ту подмрежу, уз овлашћење да је прихвати. То су удаљена подешавања, и ниједна локална Linux рута их не ствара. Затражите их изричито и писмено, са префиксом и оним тунелским peer-ом који ће га носити, и очекујте да ће одговор зависити од тога да ли услуга уопште подржава аранжмане од локације до локације.
Ако је одговор да, локална конфигурација је мала: прослеђивање укључено, allowed-ips WireGuard peer-а који покривају доњи опсег, и firewall политика која дозвољава прелаз у оба смера.
Намерно превођење извора
Ако услуга враћа саобраћај само на адресу повезаног клијента, преведите извор на ту адресу при излазу и задржите conntrack стање које га окреће за одговоре. Ограничите правило на предвиђене доње изворе, предвиђена удаљена одредишта и надређени интерфејс. Правило које преводи све што излази са сваког интерфејса много је већа политика од овог захтева и изненадиће вас касније.
IPv6 захтева сопствени дизајн; копирање IPv4 masquerade реда није архитектура. Тестирајте преведену путању новом везом, а не кешираном.
Локална путања података ипак мора да ради
Превођење не уклања локални посао: гејтвеју и даље треба рута ка доњим одредиштима, исправно власништво извора WireGuard peer-а, укључено прослеђивање и уска firewall политика између интерфејса. Захтев настао на самом гејтвеју не проверава ниједно од тих овлашћења, зато локални тестови на гејтвеју пролазе, а доњи уређаји и даље падају.
Тестирајте са стварног доњег уређаја, не са гејтвеја. Адреса извора је цео смисао вежбе.
Један извор значи један идентитет сесије
Удаљена услуга види аутентификовану сесију гејтвеја и његову преведену адресу, а не независну аутентификацију за сваки доњи уређај. Држите дозволе по уређају и идентитете апликација експлицитним и потврдите са власником услуге да је гејтвеј који делује за неколико уређаја уопште дозвољен. Превођење није начин да се заобиђе захтев за регистрацију сваког уређаја; ако услуга захтева да се сваки уређај региструје, користите тај модел или преговарајте аранжман од локације до локације.
Запишите ту потврду у runbook поред правила, јер ће следећи прегледач питати да ли је дизајн одобрен или је само био згодан.
Дефинишите стање прекида, затим тестирајте три захтева
Одлучите шта се дешава када надређени тунел падне. Овлашћени удаљени саобраћај не треба тихо да следи обичну WAN резервну путању тамо где је то забрањено, па firewall политика која дозвољава прелаз мора такође да падне затворена. Затим тестирајте три случаја са стварног доњег уређаја: дозвољени захтев који ради, забрањени захтев који пада, и надређени квар који зауставља дозвољени.
Запишите враћање у једном реду по правилу, да промена може да се поништи без реконструкције намере.