Zwee gesond VPN-Ausgäng, en laangen Upload dee schonn leeft, an d’Fuerderung datt déi nächst Verbindung den aneren Tunnel benotzt. Et gëtt zwee Weeër fir dat ze erfëllen, an nëmmen een dovun ass op enger aktiver Gateway sécher. Den Tausch vun der Standardroute verréckelt all Paket, och déi déi zum Upload gehéieren. En geplangten Drain ännert d’Auswiel fir nei Verbindungen an léisst déi verfollegt Flëss op deem Wee, op deem se ugefaang hunn.

Zwee Weeër fir en Ausgang ze wiesselen

Den Routentausch ass een eenzege Befehl an ass a Sekonnen zréckzemaachen, dofir gëtt en bei Incidente benotzt. En ass och onënnerscheedlech: Pakete vum existéierenden Upload ginn op eemol duerch en aneren Tunnel eraus, mat enger anerer ëffentlecher Quelladress an engem separaten Iwwersetzungszoustand.

Wann déi wäit Enn d’Flëss no Quelladress verfollegt, kann den Upload einfach ophale erkannt ze ginn. Den Drain verhënnert dat, andeem en d’Entscheedung eng Kéier pro Verbindung hëlt an se späichert, sou datt den alen Upload säin Ausgang behält bis en eriwwer ass. Dat ass de ganze Wäert vun der Übung: dat wäit Enn gesäit keng Ännerung déi et muss interpretéieren. Et kritt weider Paketen déi zu der Verbindung passen déi et schonn kennt.

De Präis ass Komplexitéit: zwou Routingtabellen, en Klassifizéierer deen um richtegen Hook leeft, a Marken déi mat allem aneren op der Maschinn ofgestëmmt musse ginn wat se benotzt.

Gitt all Ausgang seng eege Tabell

Reservéiert eng Routingtabell pro Ausgang an ënnerschiddlech Markwäerter oder Bits fir déi zwou Optiounen. All Tabell brauch d’Routen déi zu hirer Roll passen, net just en Numm, an se brauch en absichtlecht Feelresultat fir de fehlenden Fall. Eng eidel Tabell déi roueg an d’Haapttabell fält — sou verléisst den Traffic en Ausgang deen keen ausgewielt huet.

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 102

Füügt eng blackhole-Route um Enn vun all Tabell derbäi, sou datt eng Sich ouni Iwwereneestëmmung haart feelt amplaz an en Default ze flüchten deen Dir net ausgewielt hutt.

Wielt eng Kéier, um éischte Paket

Klassifizéiert nodeems et Verbindungsverfolgung gëtt an ier déi wichteg Routensich geschitt. Fir eng nei, onklassifizéiert LAN-Verbindung, wielt den Ausgang a späichert en am Verbindungszoustand. Op spéideren Pakete stellt de gespäicherte Wäert an der Paketmark erëm hier, déi d’Politikrouting liest.

Den delikaten Deel ass wat nei heescht. Conntrack kann nach ëmmer NEW mellen fir fréi Pakete a Widderhuelungen ier eng Äntwert gesi gëtt, also kann en Klassifizéierer deen nëmmen op deen Zoustand setzt eng Auswiel iwwerschreiwen déi en schonn getraff huet. Kontrolléiert datt keen Ausgang fir d’Verbindung gespäichert ass ier Dir een zouweist.

nftables hält Paket- a Verbindungsmarken getrennt, an de Guide fir Metainformatiounen dokumentéiert d’explizit Kopie tëschent hinnen. Eng Verbindungsmark gëtt net vun sech aus déi Paketmark op déi Är Regel passt, an dat ass dee heefegste Grond firwat en suergfälteg geschriwwene Klassifizéierer keng Wierkung huet.

Begrenzt d’Wiederherstellung op d’Richtung an den Traffic deen Dir mengt. Eng Internet-Ausgangsmark op zréckkommend Pakete aplikéieren kann Äntwerten zum Ausgang schécken amplaz an d’LAN, an de Symptom ass eng eesäiteg Verbindung déi wéi e Firewallproblem ausgesäit. Liest den Äntwertswee ier Dir eng Firewallregel beréiert, well de Paket gëtt geroutet, just net zréck zum Sender.

Véier Phase vun engem Drain

  1. Bereet B vir ouni A ze beréieren: Routing, Weiderleedung, Autorisatioun, NAT an den Zréckwee. Installéiert seng Tabell a seng Auswielspolitik iwwer den existéierende Konfiguratiounseigentümer vun der Gateway.

  2. Wiesselt de Klassifizéierer sou datt nei, onklassifizéiert Verbindungen B wielen, an déi gespäichert Auswielen erhale bleiwen. Eng atomar nftables-Transaktioun vermeit eng Fenster an där den ale Zoustand muss geläscht ginn.

  3. Loosst A lafen bis seng Flëss fäerdeg sinn. Seng Interface, Tabell, wäit Ausgang an NAT-Mappinge sinn nach ëmmer Deel vun deene Flëss, an eng NAT-Regel z’änneren baut net d’Bindungen nei op déi schonn existéieren.

  4. Huelt A aus dem Betrib wann d’Drain-Bedingung erfëllt ass, beurteelt no Verbindungszoustand an Applikatiounsverhalen an net no enger eenzeger roueger Period.

Wat en Drain net verspriechen kann

Eng Browserufro ass keng nei Transportverbindung; d’Pooling schéckt Ufroe weider iwwer déi al. Ëmgekéiert kann en UDP-Floss aus conntrack erausalteren an e spéidere Paket gëtt frësch klassifizéiert. Den Drain verfollegt verfollegt Flëss, net d’Iddi vun enger Applikatioun vun enger Sitzung.

Wann A feelt ier seng Flëss fäerdeg sinn, rett déi gespäichert Mark se net. Se verbannen sech erëm iwwer B, oder se verbannen sech guer net. En geplangten Drain kaaft Kontinuitéit wärend den ursprénglechen Wee gesond ass; et ass keng Zoustandsreplikatioun tëschent onofhängegen Ausgäng.

Iwwerpréift béid Hälften

Start eng laangfristeg erlaabt Verbindung virun der Ännerung an eng wierklech nei duerno. Bestätegt wéi en Tunnel all eenzel benotzt a wéi eng ëffentlech Quelladress dat wäit Enn gesäit, a kontrolléiert duerno datt den Zrécktraffic zréckkënnt.

Maacht d’conntrack-Tabell net eidel fir déi nei Auswiel ze weisen. Dat zerstéiert genee deen Zoustand deen den Drain soll erhalen, an et mécht aus enger kontrolléierter Migratioun en Ausfall mat engem propper ausgesinnenden Test.

Ähnlech Artikelen