Vienas tinklų sietuvas paleidžia WireGuard savo įrenginiams ir OpenVPN klientą į kito žmogaus tinklą. Persiuntimas tarp dviejų vidinių sąsajų veikia, ir lengva padaryti išvadą, kad pasroviui esantis potinklis dabar yra prieš srovę esančios paslaugos dalis. Taip nėra. Kliento gautas maršrutas pasako jūsų tinklų sietuvui, kur siųsti užklausas; jis nieko nesako apie tai, kaip nuotolinis tinklas grąžina srautą įrenginiams, apie kuriuos niekada negirdėjo. Pasirinkite grąžinimo modelį, kurį prieš srovę esanti paslauga tikrai palaiko, prieš pridėdami bent vieną taisyklę.

Nuspręskite dėl grąžinimo modelio, prieš liesdami maršrutus

Šiame apraše pasroviui esantys klientai naudoja 10.90.0.0/24, tinklų sietuvui priskirtas prieš srovę esančio tunelio adresas yra 10.80.0.6, o patvirtintas nuotolinis išteklius yra 172.20.0.30. Šią formą atitinka du modeliai: išsaugoti pasroviui esantį šaltinį ir priversti tolimąją pusę jį maršrutizuoti, arba išversti šaltinį į paties tinklų sietuvo tunelio adresą. Viskas po šio sprendimo yra mechaniška, o pačiam sprendimui reikia paslaugos savininko. Viena eilutė aukščiau yra maršrutų susitarimas su tolimąja puse; kita yra vietinis politikos pakeitimas, kurį galite atlikti vienas. Būtent šių dviejų sumaišymas dešimties minučių pakeitimą paverčia derybomis.

preserved:  10.90.0.23 -> 172.20.0.30
translated: 10.80.0.6  -> 172.20.0.30

Pasirinkite vieną eilutę ir jos laikykitės. Eilutės yra alternatyvos, o ne žingsniai, ir jų maišymas duoda projektą, kurio peržiūroje niekas negali paaiškinti.

Maršrutizuotas šaltinio išsaugojimas

Tolimoji pusė gauna užklausą iš pasroviui esančio adreso, todėl jai reikia palaikomo maršruto ir peer nuosavybės tam potinkliui, taip pat leidimo jį priimti. Tai nuotoliniai nustatymai, ir joks vietinis Linux maršrutas jų nesukuria. Paprašykite jų aiškiai ir raštu, su priešdėliu ir tuo tunelio peer, kuris jį neš, ir tikėkitės, kad atsakymas priklausys nuo to, ar paslauga apskritai palaiko svetainių ryšio sprendimus.

Jei atsakymas teigiamas, vietinė konfigūracija nedidelė: įjungtas persiuntimas, pasroviui esantį diapazoną apimantys WireGuard peer allowed-ips, ir ugniasienės politika, leidžianti kirtimą abiem kryptimis.

Sąmoningas šaltinio vertimas

Jei paslauga grąžina srautą tik prisijungusio kliento adresui, išvesdami išverskite šaltinį į tą adresą ir išsaugokite conntrack būseną, kuri ją apverčia atsakymams. Apribokite taisyklę numatomais pasroviui esančiais šaltiniais, numatomais nuotoliniais tikslais ir prieš srovę esančia sąsaja. Taisyklė, verčianti viską, kas išeina iš kiekvienos sąsajos, yra daug didesnė politika nei šis reikalavimas, ir ji jus nustebins vėliau.

IPv6 reikia atskiro projekto; IPv4 masquerade eilutės kopijavimas nėra architektūra. Išbandykite išverstą kelią nauju ryšiu, o ne podėlyje esančiu.

Vietinis duomenų kelias vis tiek turi veikti

Vertimas nepašalina vietinio darbo: tinklų sietuvui vis dar reikia maršruto į pasroviui esančius tikslus, teisingos WireGuard peer šaltinio nuosavybės, įjungto persiuntimo ir siauros ugniasienės politikos tarp sąsajų. Užklausa, sukurta pačiame tinklų sietuveyje, neišbando nė vieno iš tų leidimų, todėl vietiniai testai sietuveyje praeina, o pasroviui esantys įrenginiai vis tiek nepavyksta.

Testuokite iš tikro pasroviui esančio įrenginio, o ne iš sietuvo. Šaltinio adresas yra visa šio pratimo esmė.

Vienas šaltinis reiškia vieną sesijos tapatybę

Nuotolinė paslauga mato autentifikuotą sietuvo sesiją ir jo išverstą adresą, o ne nepriklausomą autentifikavimą kiekvienam pasroviui esančiam įrenginiui. Laikykite aiškiais leidimus pagal įrenginį ir programų tapatybes ir patvirtinkite paslaugos savininkui, kad sietuvas, veikiantis kelių įrenginių vardu, apskritai leidžiamas. Vertimas nėra būdas apeiti reikalavimą registruoti kiekvieną įrenginį; jei paslauga reikalauja, kad kiekvienas įrenginys registruotųsi, naudokite tą modelį arba derėkitės dėl svetainių ryšio sprendimo.

Įrašykite tą patvirtinimą į runbook šalia taisyklės, nes kitas peržiūrėtojas klaus, ar projektas buvo patvirtintas, ar tik patogus.

Apibrėžkite atjungtą būseną, tada išbandykite tris užklausas

Nuspręskite, kas nutinka, kai prieš srovę esantis tunelis nukrenta. Leidžiamas nuotolinis srautas neturi tyliai sekti įprastu WAN atsarginiu keliu ten, kur tai draudžiama, todėl ugniasienės politika, leidžianti kirtimą, taip pat turi nepavykti uždarai. Tada išbandykite tris atvejus iš tikro pasroviui esančio įrenginio: veikianti leidžiama užklausa, nepavykstanti draudžiama užklausa ir prieš srovę esantis gedimas, sustabdantis leidžiamą.

Užrašykite atšaukimą viena eilute kiekvienai taisyklei, kad pakeitimą būtų galima atšaukti nerekonstruojant ketinimo.

Susiję straipsniai