Een deurwagter laat WireGuard vir jou eie toestelle loop, en 'n OpenVPN-kliënt na iemand anders se netwerk. Aanstuur tussen die twee binne-interfaces werk, en dit is maklik om af te lei dat die stroomaf-subnet nou deel van die stroomop-diens is. Dit is nie. 'n Roete wat deur die kliënt onttrek word, vertel vir jou deurwagter waarheen om versoeke te stuur; dit sê niks oor hoe die afgeleë netwerk verkeer terugstuur na toestelle waarvan dit nog nooit gehoor het nie. Kies 'n terugkeermodel wat die stroomop werklik ondersteun voordat jy 'n enkele reël byvoeg.

Besluit oor die terugkeermodel voordat jy aan roetes raak

Vir hierdie deurloop gebruik kliënte stroomaf 10.90.0.0/24, die stroomop-tonneladres wat aan die deurwagter toegeken is, is 10.80.0.6, en die goedgekeurde afgeleë hulpbron is 172.20.0.30. Twee modelle pas by daardie vorm: behou die stroomaf-bron en kry die verre kant om dit te roeteer, of vertaal die bron na die deurwagter se eie tonneladres. Alles stroomaf van hierdie besluit is meganies, en die besluit self vereis die diens se eienaar. Die een ry hierbo is 'n roete-ooreenkoms met die verre kant; die ander is 'n plaaslike beleidsverandering wat jy alleen kan maak. Om die twee te verwar, is wat 'n verandering van tien minute in 'n onderhandeling omskep.

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

Kies een ry en verbind jou daartoe. Die rye is alternatiewe, nie stappe nie, en om hulle te meng lewer 'n ontwerp op wat niemand by die nasien kan verduidelik nie.

Gerouteerde bronbehoud

Die verre kant ontvang 'n versoek van 'n stroomaf-adres, so dit het 'n ondersteunde roete en peer-eienaarskap vir daardie subnet nodig, plus magtiging om dit te aanvaar. Dit is afgeleë instellings, en geen plaaslike Linux-roete skep hulle nie. Vra dit eksplisiet en skriftelik, saam met die voorvoegsel en die tonnel-peer wat dit sal dra, en verwag dat die antwoord daarvan sal afhang of die diens terrein-tot-terrein-reëlings hoegenaamd ondersteun.

As die antwoord ja is, is die plaaslike konfigurasie klein: aanstuur geaktiveer, die WireGuard-peer se allowed-ips wat die stroomaf-reeks dek, en 'n firewall-beleid wat die kruising in beide rigtings toelaat.

Doelbewuste brontranslasie

As die diens verkeer slegs na die gekoppelde kliëntadres terugstuur, vertaal die bron op die uitpad na daardie adres en behou die conntrack-toestand wat dit vir antwoorde omkeer. Beperk die reël tot die beoogde stroomaf-bronne, die beoogde afgeleë bestemmings en die stroomop-koppelvlak. 'n Reël wat alles vertaal wat elke koppelvlak verlaat, is 'n veel groter beleid as hierdie vereiste, en dit sal jou later verras.

IPv6 benodig sy eie ontwerp; om 'n IPv4-masquerade-reël te kopieer is nie 'n argitektuur nie. Toets die vertaalde pad met 'n nuwe verbinding eerder as 'n gekasde een.

Die plaaslike datapad moet steeds werk

Translasie verwyder nie die plaaslike werk nie: die deurwagter het steeds 'n roete vir stroomaf-bestemmings nodig, die korrekte WireGuard-peer-broneienaarskap, aanstuur geaktiveer, en 'n noue firewall-beleid oor koppelvlakke. 'n Versoek wat op die deurwagter self geskep word, oefen nie een van daardie toestemmings uit nie, en daarom slaag toetse op die deurwagter self terwyl toestelle stroomaf steeds faal.

Toets vanaf 'n werklike toestel stroomaf, nie vanaf die deurwagter nie. Die bronadres is die hele punt van die oefening.

Een bron beteken een sessie-identiteit

Die afgeleë diens sien die deurwagter se geauthentiseerde sessie en sy vertaalde adres, nie onafhanklike verifikasie vir elke toestel stroomaf nie. Hou per-toestel-toestemmings en toepassingsidentiteite eksplisiet, en bevestig by die diens se eienaar dat 'n deurwagter wat vir verskeie toestelle optree, hoegenaamd toegelaat word. Translasie is nie 'n manier om 'n vereiste vir per-toestel-inskrywing te omseil nie; as die diens vereis dat elke toestel inskryf, gebruik daardie model of onderhandel 'n terrein-tot-terrein-reëling.

Skryf daardie bevestiging in die runbook langs die reël, want die volgende nasien sal vra of die ontwerp goedgekeur is of bloot gerieflik.

Definieer die ontkoppelde toestand en toets dan drie versoeke

Besluit wat gebeur wanneer die stroomop-tonnel val. Gemagtigde afgeleë verkeer moet nie stilweg 'n gewone WAN-terugval volg waar dit verbode is nie, so die firewall-beleid wat die kruising toelaat, moet ook geslote faal. Toets dan drie gevalle vanaf 'n werklike toestel stroomaf: 'n toegelate versoek wat werk, 'n verbode versoek wat faal, en 'n stroomop-fout wat die toegelate een stop.

Teken die terugrol in een reël per reël op, sodat die verandering ongedaan gemaak kan word sonder om die bedoeling te rekonstrueer.

Verwante artikels