Jedna brána prevádzkuje WireGuard pre vaše vlastné zariadenia a klienta OpenVPN do cudzej siete. Preposielanie medzi dvoma vnútornými rozhraniami funguje a ľahko sa dá usúdiť, že podradená podsieť je teraz súčasťou nadradenej služby. Nie je. Trasa, ktorú klient stiahne, hovorí vašej bráne, kam posielať požiadavky; nehovorí nič o tom, ako vzdialená sieť vracia prevádzku zariadeniam, o ktorých nikdy nepočula. Vyberte model návratu, ktorý nadradená služba skutočne podporuje, skôr než pridáte jediné pravidlo.

Rozhodnite o modeli návratu skôr, než sa dotknete smerovania

V tomto postupe používajú podradení klienti 10.90.0.0/24, bráne pridelená adresa nadradeného tunela je 10.80.0.6 a schválený vzdialený prostriedok je 172.20.0.30. Tomuto tvaru zodpovedajú dva modely: zachovať podradený zdroj a prinútiť vzdialenú stranu, aby ho smeroval, alebo preložiť zdroj na vlastnú adresu tunela brány. Všetko po tomto rozhodnutí je mechanické a rozhodnutie samo potrebuje vlastníka služby. Jeden riadok vyššie je dohoda o smerovaní so vzdialenou stranou; druhý je miestna zmena politiky, ktorú môžete urobiť sami. Práve zámena týchto dvoch mení desaťminútovú zmenu na rokovanie.

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

Vyberte jeden riadok a držte sa ho. Riadky sú alternatívy, nie kroky, a ich miešanie vytvára návrh, ktorý pri kontrole nikto nevysvetlí.

Zachovanie zdroja pomocou smerovania

Vzdialená strana dostáva požiadavku z podradenej adresy, takže potrebuje podporovanú trasu a vlastníctvo peer pre túto podsieť, plus oprávnenie ju prijať. To sú vzdialené nastavenia a žiadna miestna Linux trasa ich nevytvorí. Vyžiadajte ich výslovne a písomne, s prefixom a tým tunelovým peer, ktorý ju ponesie, a očakávajte, že odpoveď bude závisieť od toho, či služba vôbec podporuje usporiadania typu lokalita-lokalita.

Ak je odpoveď áno, miestna konfigurácia je malá: preposielanie zapnuté, allowed-ips peer WireGuard pokrývajúce podradený rozsah a firewallová politika, ktorá povoľuje prechod v oboch smeroch.

Zámerný preklad zdroja

Ak služba vracia prevádzku iba na adresu pripojeného klienta, preložte zdroj na túto adresu pri odchode a zachovajte stav conntrack, ktorý ho pre odpovede obráti. Obmedzte pravidlo na zamýšľané podradené zdroje, zamýšľané vzdialené ciele a nadradené rozhranie. Pravidlo, ktoré prekladá všetko odchádzajúce z každého rozhrania, je oveľa väčšia politika než táto požiadavka a neskôr vás prekvapí.

IPv6 potrebuje vlastný návrh; kopírovanie riadku masquerade pre IPv4 nie je architektúra. Otestujte preloženú cestu novým spojením, nie uloženým.

Miestna dátová cesta musí stále fungovať

Preklad neodstraňuje miestnu prácu: brána stále potrebuje trasu k podradeným cieľom, správne vlastníctvo zdroja peer WireGuard, zapnuté preposielanie a úzku firewallovú politiku medzi rozhraniami. Požiadavka vytvorená na samotnej bráne neprecvičí žiadne z týchto oprávnení, a preto miestne testy na bráne prechádzajú, kým podradené zariadenia stále zlyhávajú.

Testujte zo skutočného podradeného zariadenia, nie z brány. Zdrojová adresa je celý zmysel tohto cvičenia.

Jeden zdroj znamená jednu identitu relácie

Vzdialená služba vidí overenú reláciu brány a jej preloženú adresu, nie nezávislé overenie pre každé podradené zariadenie. Udržujte oprávnenia na zariadenie a identity aplikácií explicitné a potvrďte u vlastníka služby, že brána konajúca za niekoľko zariadení je vôbec povolená. Preklad nie je spôsob, ako obísť požiadavku na registráciu každého zariadenia; ak služba vyžaduje registráciu každého zariadenia, použite ten model alebo vyjednajte usporiadanie typu lokalita-lokalita.

Zapíšte to potvrdenie do runbooku vedľa pravidla, pretože ďalší recenzent sa opýta, či bol návrh schválený alebo len pohodlný.

Definujte stav prerušenia a potom otestujte tri požiadavky

Rozhodnite, čo sa stane, keď nadradený tunel spadne. Autorizovaná vzdialená prevádzka by nemala potichu nasledovať bežnú záložnú trasu WAN tam, kde je to zakázané, takže firewallová politika, ktorá povoľuje prechod, musí tiež zlyhať zatvorená. Potom otestujte tri prípady zo skutočného podradeného zariadenia: povolená požiadavka, ktorá funguje, zakázaná požiadavka, ktorá zlyhá, a výpadok na nadradenej strane, ktorý zastaví povolenú.

Zaznamenajte vrátenie zmien jedným riadkom na pravidlo, aby sa zmena dala zrušiť bez rekonštrukcie zámeru.

Súvisiace články