Zwéi OpenVPN-Cliente op engem Linux-Gateway: d’Politik opdeelen
Déi zwou Tunnellen kënnen allebéid eropkommen, während all Client eng benotzt. Entscheet no Quell, gitt all Grupp hir eegen Tabell, an dann erlaabt a setzt um op deem gewielten Apparat.
Zwéi OpenVPN-Daemone kënnen allebéid eng erfollegräich Tunnell mellen, während de Gateway all Client duerch dee selwechte schéckt. Nichts am Handshake entscheet, wéi eng Tunnell e Client benotzt; de Kernel entscheet et, Paket fir Paket, andeem en d’Politiksregelen duerchgeet an duerno d’Tabell, déi all Regel nennt. Wann ee et sou gesäit, hält d’Konfiguratioun op, iwwer OpenVPN-Optiounen ze goen, a gëtt eng Routingmatrix mat zwee Besëtzer.
De Kernel entscheet, net den Daemon
E weidergeleet Paket kënnt um LAN-Interface un an de Routingcode evaluéiert d’Regellëscht an der Prioritéitsuerdnung. Déi éischt Regel, där hire Selekter passt, nennt eng Tabell, an d’Route vun där Tabell wielt den Ausgabapparat. Wann d’Tabell keng passend Route huet, geet d’Sich an déi nächst Regel weider, an dat ass den Detail, deen eng hallef fäerdeg Konfiguratioun daach an net haart versoe léisst.
Den Tunnellprozess huet bei där Duerchgang näischt ze soen. En erstellt en Interface a kann Route installéieren, awer ob d’Paket vun engem bestëmmte Client an deen Interface kënnt, hänkt komplett vun der Tabell of, an déi et geschéckt gouf. Dowéinst konkurréiere zwou Tunnellen mat identeschen importéierten Route mateneen, an dee leschte Schreifenden gewënnt fir all. Dowéinst kann eng Konfiguratioun an den Dateien ausbalancéiert ausgesinn an awer all Client duerch een Daemon schécken.
Gitt all Instanz hir eege Ressourceset
Fänkt mat den Nimm un, well erëmbenotzt Nimm de Wee sinn, wéi déi zwou Instanzen zoufälleg ufänken, de Statut ze deelen. Gitt verschidden Tunnellapparater, verschidden Konfiguratiounsdateien, verschidden Authentifikatiounsdaten a verschidde Servicenunitéiten. Schreift den äusseren Endpunkt an d’Tunnelladress vun all Instanz an déiselwecht Tabell wéi d’Politiksmatrix, sou datt eng spéider Ännerung eng Plaz huet fir nozekucken.
dev tun-office
route-nopull
pull-filter ignore "redirect-gateway"
dev tun-lab
route-nopull
route-nopull hält d’Route vun engem Server aus der lokaler Tabell eraus, an dat ass genau dat, wat Dir wëllt, wann d’Politikstabellen explizit solle sinn. Ob e bestëmmte Server och eng redirect-gateway-Optioun dréckt, an ob Är Clientversioun d’Filterform ënnerstëtzt, ass et wäert am Handbuch nozekucken amplaz unzehuelen.
Schreift d’Matrix: Quell, Tabell, Apparat
Fir all Clientgrupp, füügt eng Regel derbäi, déi eng Tabell no der Quelladress auswielt, a setzt dann de gewielte Wee an déi Tabell:
ip rule add from 10.8.1.0/24 lookup 100 priority 1000
ip rule add from 10.9.1.0/24 lookup 200 priority 1000
ip route add default dev tun-office table 100
ip route add default dev tun-lab table 200
D’Tabell brauch d’Destinatiounsroute vun der Grupp, plus all lokal oder Verwaltungsausnamen, déi de Gateway benotzbar halen. Eng Tabell mat just enger Standardroute ass eng Full-Tunnell-Politik fir déi Grupp, wat vläicht genee richteg ass, awer et sollt eng Entscheedung sinn an net en Auslooss.
Den eegenen Transport vun der Tunnell ass net an enger Clientgrupp
D’verschlësselt Paket vun all Daemon entsti um Gateway selwer, adresséiert un de baussenzegen Peer. Eng Regel, déi just de Quellprefix vum Client entsprécht, léisst déi Pakete roueg, an dowéinst si quelllimitéiert Regele sécher wéi Regele fir alles. Eng Regel ouni Selekter kann den eegenen Transport vun der Tunnell fänken an en duerch eng Tunnell zréckschécken, an da versot d’Verbindung esou, datt et wéi e Providerprobleem ausgesäit.
Halt d’lokal Verwaltungssitzung an de Wee vun der Ënnerschicht ausdrécklech aus den Politikstabellen eraus. Schreift déi Ausnamen nieft d’Matrix; si si Deel vum Design, net eng Auswäich, déi wärend engem Tëschefall nei entdeckt muss ginn.
E Wee auswielen erlaabt en net
D’Erlaabnis fir weiderzeleeden ass eng zweet Entscheedung, déi méi spéit um Wee fällt. Eng Firewallregel, déi Paket akzeptéiert, déi duerch déi zweet Tunnell erausgoen, mécht net, datt de Routingcode si wielt, an eng korrekt Tabell gëtt keng Erlaabnis fir weiderzeleeden. Béides muss et ginn, an en Test, deen just engem beweist, wäert Iech iwwer déi aner täuschen. Wann eng Grupp funktionéiert an déi aner net, kontrolléiert déi zwou Schrëtt getrennt amplaz d’Tabellen nei ze schreiwen.
QuellIwwersetzung ass eng drëtt Entscheedung, an si soll op d’Quellgrupp an den Tunnellapparat limitéiert sinn, deen se tatsächlech dréit. Füügt eng eege Kette fir déi zwou Instanzen derbäi, amplaz d’postrouting-Kette ze läschen, well onverbonne Servicer kënnen do Aschreiwungen hunn an eng Läschung se stëll ewech hëlt.
Wat geschitt, wann eng Tunnell fält
Entscheet d’Feelerverhalen am Viraus. Wann eng Tunnelltabell hir Route verléiert, fält d’Sich op déi nächst Regel, an den Trafik vun der Grupp geet ouni all Feeler weider duerch déi aner Tunnell oder den normale Uplink. Wann dat net akzeptabel ass, füügt eng Ofschlossregel mat enger méi niddereger Prioritéitsnummer derbäi, déi fir déi Quell en onereechbart Resultat zréckgëtt, sou datt de Verloscht sichtbar ass amplaz opgesaugt ze ginn.
Schéckt eng nei Ufro vun all Quellgrupp a notéiert véier Fakten: déi gewielten Tabell, den Ausgabapparat, déi iwwersat Quell an ob d’Äntwert iwwer dee selwechte Wee zréckkoum. Dann hëlt eng Tunnell erof a widderhëlt. Zwou TUN-Apparater an enger Interfacelëscht beweisen, datt béid Daemone gestart sinn; si soen näischt doriwwer, wéi eng e bestëmmte Client benotzt huet. Déi zweet Ausféierung, mat enger Tunnell manner, ass déi, déi weist, ob Är Reserve-Regel dat mécht, wat Dir beabsichtegt hutt.