Konexio berriak VPN irteera berrian, fluxu zaharrak ukitu gabe
Planifikatutako hustuketa batek sailkatu gabeko fluxuak baino ez ditu mugitzen. Konparatu hori ibilbide aldaketa batekin, eta ikusi horri eusten dioten markak, taulak eta conntrack egoera.
Bi VPN irteera osasuntsu, jada martxan dagoen karga luze bat, eta hurrengo konexioak beste tunela erabiltzeko baldintza. Hori betetzeko bi modu daude, eta horietako bakarra da segurua martxan dagoen atebide batean. Bide lehenetsia aldatzeak pakete guztiak mugitzen ditu, kargari dagozkionak barne. Planifikatutako hustuketak konexio berrien hautua aldatzen du, jarraitutako fluxuak hasi ziren bidean utzita.
Irteera bat aldatzeko bi modu
Ibilbide aldaketa komando bakarra da eta segundoetan itzul daiteke, horregatik erabiltzen da gorabeheren ondorioz. Zorrotza ere ez da: lehendik dagoen kargaren paketeak bat-batean beste tunel batetik irteten dira, beste iturburu helbide publiko bat eta itzulpen egoera bereizi batekin.
Urruneko muturrak fluxuak iturburu helbidearen arabera jarraitzen baditu, karga agian ez da gehiago ezagutuko. Hustuketak hori saihesten du erabakia konexio bakoitzeko behin hartu eta gordez, karga zaharrak bere irteera mantentzen duelarik amaitu arte. Horixe da ariketaren balio osoa: urruneko muturrak ez du interpretatu beharreko aldaketarik ikusten. Jada ezagutzen duen konexioari dagozkion paketeak jasotzen jarraitzen du.
Kostua konplexutasuna da: bi bideratze taula, kako egokian exekutatzen den sailkatzaile bat, eta makina berean horiek erabiltzen dituen guztiarekin koordinatu beharreko markak.
Eman irteera bakoitzari bere taula
Erreserbatu bideratze taula bat irteera bakoitzeko eta marka balio edo bit bereiziak bi aukerentzat. Taula bakoitzak bere rolean egokiak diren ibilbideak behar ditu, ez soilik izen bat, eta huts egiteko emaitza deliberatu bat behar du falta den kasurako. Taula nagusira isilean erortzen den taula huts bat — horrela irteten da trafikoa inork hautatu ez duen irteera batetik.
ip rule add fwmark 0x10/0x10 table 101
ip rule add fwmark 0x20/0x20 table 102
ip route add default via 192.0.2.1 dev wg-a table 101
ip route add default via 198.51.100.1 dev wg-b table 102Gehitu blackhole ibilbide bat taula bakoitzaren amaieran, bat etortzerik aurkitzen ez duen bilaketak ozen huts egin dezan, hautatu ez duzun lehenespen batera ihes egin beharrean.
Hautatu behin, lehen paketean
Sailkatu konexio jarraipena existitzen denean eta garrantzitsua den ibilbide bilaketaren aurretik. Sailkatu gabeko LAN konexio berri baterako, hautatu irteera eta gorde konexioaren egoeran. Ondorengo paketeetan, berreskuratu gordetako balioa politika bideratzeak irakurtzen duen pakete markan.
Kontu fineko zatia da zer esan nahi duen berriak. Conntrack-ek oraindik NEW jakinarazi dezake hasierako paketeetarako eta errepikatutako bidalketetarako erantzuna ikusi aurretik, beraz, egoera horretan baino ez oinarritzen den sailkatzaile batek jada hartu duen hautua gainidatz dezake. Egiaztatu konexioarentzat irteerarik ez dagoela gordeta bat esleitu aurretik.
nftables-ek pakete eta konexio markak bereizita mantentzen ditu, eta metainformaziorako gidak haien arteko kopiatze esplizitua dokumentatzen du. Konexio marka ez da bere kasa bihurtzen zure arauak bat egiten duen pakete marka, eta hori da arretaz idatzitako sailkatzaile batek eraginik ez izateko arrazoi ohikoena.
Mugatu berreskurapena adierazi nahi duzun norabide eta trafikora. Internet irteerako marka itzultzen diren paketeei aplikatzeak erantzunak irteerara bidal ditzake LANera beharrean, eta sintoma norabide bakarreko konexio bat da, suebaki arazo baten itxura duena. Irakurri erantzunaren bidea suebaki arau bat ukitu aurretik, paketea bideratzen ari baita, baina ez bidaltzailearengana.
Hustuketa baten lau fase
Prestatu B A ukitu gabe: bideratzea, birbidaltzea, baimena, NAT eta itzulera bidea. Instalatu bere taula eta hautapen politika atebidearen lehendik dagoen konfigurazio jabearen bidez.
Aldatu sailkatzailea konexio berri eta sailkatu gabeek B hautatu dezaten, gordetako hautuak mantenduz. nftables eragiketa atomiko batek egoera zaharra garbitu behar den leihoa saihesten du.
Utzi A itxita bere fluxuak amaitzen diren bitartean. Bere interfazea, taula, urruneko irteera eta NAT mapak fluxu horien parte dira oraindik, eta NAT arau bat editatzeak ez ditu berreraikitzen jada existitzen diren loturak.
Erretiratu A hustuketa baldintza betetzen denean, konexio egoeraren eta aplikazioaren portaeraren arabera epaituta, eta ez tarte lasai bakar baten arabera.
Zer ezin duen hustuketa batek agindu
Nabigatzailearen eskaera ez da garraio konexio berri bat; elkartzeak zaharretik bidaltzen jarraitzen du. Alderantziz, UDP fluxu bat conntrack-etik zaharkitu daiteke eta geroagoko pakete bat berriro sailkatzen da. Hustuketak jarraitutako fluxuei jarraitzen die, ez aplikazio batek saioari buruz duen ideiari.
A fluxuak amaitu baino lehen huts egiten badu, gordetako markak ez ditu salbatzen. B bidez konektatzen dira berriro, edo ez dira batere konektatzen. Planifikatutako hustuketa batek jarraitutasuna erosten du jatorrizko bidea osasuntsu dagoen bitartean; ez da egoera erreplikazioa irteera independenteen artean.
Egiaztatu bi erdiak
Hasi baimendutako konexio iraunkor bat aldaketaren aurretik eta benetan berria den bat ondoren. Egiaztatu zein tunel erabiltzen duen bakoitzak eta zein iturburu helbide publiko ikusten duen urruneko muturrak, eta gero egiaztatu itzulera trafikoa itzultzen dela.
Ez hustu conntrack taula hautaketa berria agerrarazteko. Hori hustuketak gorde behar duen egoera zehazki suntsitzen du, eta migrazio kontrolatu bat etenaldi bihurtzen du proba garbi-itxurako batekin.