Een OpenVPN-Hub, dräi LANen: Adressplang an iroute-Fichieren
Véier disjoint Prefixen, eng Kernelroute pro Filial, een iroute pro Besëtzer. Eng Aarbechtsuerdnung fir een Hub mat dräi Standplazen, deen ouni Message feelt, wann en Numm falsch ass.
Dräi privat LANen kënnen sech op engem eenzegen Hub treffen, ouni datt eng Standplaz d'Internes vun den aneren muss kennen, an déi ganz Konzeptioun berout op véier kuerzen Konfiguratiounsentscheedungen. Wat et funktionéiert, ass net eng exotesch Protokollfunktioun, mä en Adressplang, deen een net muss roden, plus Client-spezifesch Route, déi dem Hub soen, wéi eng Filial wéi ee Prefix besëtzt. Wann ee vun deenen zwee falsch ass, kënnt den Tunnel trotzdem erop, an genau dat mécht de Feeler verwirrend.
Schaff d'Schrëtt an der Rei of. Jiddwereen hänkt vum Plang vum Schrëtt virdru of, an keen dovun brauch eng nei Zertifizéierungsautoritéit.
Fänk mat engem Plang un, deen een net muss roden
Schreif véier disjoint Prefixen op, ier s de eng Konfiguratiounsdatei beréiers: dem Hub seng eege LAN, all Filial hir LAN an de Pool, deen un roaming Clienten ausgeeet gëtt. D'Disjointness ass et, wat alles anescht einfach hält, well iwwerlappend Beräicher maachen d'Routing zu engem Puzzle vum längsten Treffer, dee keng Client-spezifesch Konfiguratioun reparéiert. Duerno confirméier, wéi eng Maschinn de Standardgateway fir all LAN ass, well ee Filialrouter, deen net de Gateway vu senger eegener LAN ass, d'Remote-Route komplett anescht muss installéieren. Schlussendlech fixéier d'authentifizéiert Nimm, déi all Filial identifizéieren, well déi Nimm d'Schlësselen sinn, mat deenen d'Client-spezifesch Fichieren nogekuckt ginn.
E illustrativen Plang hält de Pool wäit ewech vun den dräi LANen. Däin wäert anescht sinn, an déi eenzeg haart Regel ass, datt keng zwee Beräicher iwwerlappen.
Hub LAN 172.20.0.0/24
Branch A LAN 172.21.0.0/24
Branch B LAN 172.22.0.0/24
VPN pool 10.77.0.0/24
identity branch-a owns 172.21.0.0/24
identity branch-b owns 172.22.0.0/24Sot dem Kernel vum Hub, wou d'Filiale sinn
Den Hub brauch pro Filial zwou Informatiounen: eng Kernelroute, déi de Prefix an den Tunnelapparat schéckt, an en iroute-Agank, deen dem OpenVPN-Prozess seet, wéi ee Client en huet. Just d'Kernelroute bréngt d'Paketen an den Tunnel an hält do op, well den Daemon nach muss entscheeden, wéi ee Peer se soll kréien. Just den iroute-Agank léisst déi Paketen am Kernel ouni eng Route, déi een nogeet. Béid Zeile gehéieren an d'Konfiguratioun, déi den Daemon tatsächlech lued, an dat ass et wäert ze iwwerpréiwen, ier een eppes anescht debugt.
dev tun
topology subnet
server 10.77.0.0 255.255.255.0
disable-dco
route 172.21.0.0 255.255.255.0
push "route 172.20.0.0 255.255.255.0"
client-config-dir /etc/openvpn/ccd
route 172.22.0.0 255.255.255.0Looss client-to-client aus, wann de Kernel de Punkt soll sinn, wou d'Regelen duerchgesat ginn. Déi Optioun leet Peer-Traffic am Daemon ëm, wat bequem ass an och heescht, datt deng Forwarding-Regele de Flux ni gesinn. Alles hei drënner geet dovun aus, datt de Kernel all Paket tëscht de Filiale gesäit.
Gëff all Filial déi Route, déi se brauch
All Filial brauch Route fir déi aner Filialen an fir d'Hub-LAN, an et brauch keng fir hir eegen ugeschloss LAN. Dréck d'Remote-Prefixen vum Hub aus, amplaz se an all Router ze pechen, sou datt eng véiert Standplaz méi spéit eng nei Client-spezifesch Datei bedeit amplaz véier Ännerungen. D'Client-spezifesch Datei dréit och d'iroute-Zeile, wat d'Eegentum an d'Annonce op enger Plaz hält. Maach d'Verzeechnes an hir Fichieren liesbar ënnert dem Privileegiemodell vum Server, soss fällt d'Ufro ouni Message aus.
# /etc/openvpn/ccd/branch-a
iroute 172.21.0.0 255.255.255.0
push "route 172.22.0.0 255.255.255.0"Eng véiert Standplaz follegt dem selwechte Muster: en ënnerschiddlechen authentifizéierten Numm, e besëtzenen Prefix, eng Kernelroute um Hub, en iroute-Agank, an Annoncen nëmmen un d'Standplazen, déi se erreeche kënnen.
Test a béid Richtungen, éier s de et fäerdeg nenns
Aktivéier IPv4-Forwarding op allen dräi Routeren, duerno confirméier, datt d'Firewall déi virgesinn Flëss a béid Richtungen erlaabt, well en Een-Richtungs-Test mat engem gebrochene Retourwee méi dacks duerchkënnt, wéi een erwaart. Tëscht de Standplazen ass keng Quelladress-Iwwersetzung noutwenneg, an d'Originalquell ze behalwe ass grad dat, wat all Filial erlaabt, hir eege Politik op eng Ufro unzewenden.
Test vun engem Host op enger Filial-LAN op e Service op enger anerer, dréi duerno d'Richtung ëm, a test duerno vun enger Filial op d'Hub-LAN. Déi dräi Resultater sinn ënnerschiddlech Beweiser, an keen dovun implizéiert déi aner. Wann ee Filialrouter net de Standardgateway vu senger LAN ass, installéier d'Remote-Prefixen um richtege Gateway a füüg de Pool och bäi, wann Tunnel-Clienten d'Verbindungen an déi LAN musse starten.
Dokumentéier de Plang, d'Client-spezifesch Fichieren an d'Firewallregele als een Dokument, well déi nächst Standplaz dorun gemooss gëtt.
D'Konzeptioun hält zesummen, well all Schicht eng eenzeg Aufgab huet: de Plang hält d'Prefixen eenzegaarteg, d'Kernelroute beweegt d'Paketen, iroute nennt de Besëtzer, an d'Firewall entscheet, wat erlaabt ass. Wann eppes briechen geet, ass déi Lëscht och d'Reiefolleg, an där een et kontrolléiert.