Looss een OpenVPN-Client iwwer SSH op en aneren erakommen, ouni de Pool opzemaachen
Looss client-to-client aus, loos de Kernel ee Flux weiderleeden, an loos de Rescht vum Pool zou. Zwee Regelen um Server plus eng um Zil.
Ee Client muss den SSH-Service vun engem anere Client erreechen, an de Rescht vum Pool soll sou isoléiert bleiwen wéi haut. Den attraktiven Schalter ass client-to-client, dee Peer-Zougang fir alleguer op ee Mol aschalt an d'Entscheedung un OpenVPN amplaz vum Kernel gëtt. Eng méi enk Äntwert hält dee Schalter aus an iwwerléisst dem Server sengem eegenen Routing a Firewall genee ee Flux.
De Mechanismus zielt méi wéi den Text vun der Regel, well déi zwou Approchen de Paket op verschidde Plaze setzen. Ze wëssen, wien s de gewielt hues, erkläert souwuel d'Regel déi näischt ze maachen schéngt wéi och de Peer, deen ouni si verbënnt.
Wou client-to-client de Paket verréckelt
Mat client-to-client ageschalt leet de Server e Peer-Paket intern weider, amplaz et nees duerch den Tunnelapparat erauszeschécken, sou datt de Paket ni op de Weiderleeungswee vum Kernel kënnt. Dat ass bequem an et heescht och, datt deng Firewall de Flux ni gesäit, deen s soll iwwerwaachen. Looss d'Optioun aus an de Server leet de Paket nees duerch déiselwecht Schnëttstell eraus, wat en virun netfilter setzt. Déiselwecht Schnëttstell eran, déiselwecht eraus, an d'FORWARD-Kette kritt d'Stëmm.
Den Tausch ass kloer: du gewënns e Politikpunkt a s du huelst d'Routing- a Weiderleeungsaarbecht, déi d'Ofkierzung fir dech gemaach huet. Dës Aarbecht ass kleng fir ee Flux a wiisst mat all Ausnam, déi s derbäi setz. Ziel d'Ausnamen elo, well am Reegelsaz wunnt tatsächlech d'Peer-Politik.
De Wee, deen e Peer-Paket tatsächlech hëlt
Unzehuelen e Linux Community OpenVPN 2.6-Service, Userspace-TUN-Verarbechtung amplaz DCO, Subnet-Topologie, tun0 an e Pool vun 10.44.0.0/24 mam Client A op 10.44.0.21 a mam Client B op 10.44.0.37. Bei Subnet-Topologie decken d'Adress an d'Netmask, déi A kritt huet, de Pool schonn of, sou datt A de Paket ouni zousätzlech geschobene Route op den Tunnelapparat schéckt. Iwwerpréif déi effektiv Route op A, amplaz eng unzehuelen.
Um Server kënnt de Paket u B adresséiert un, wat keng lokal Adress ass, also gëtt et weidergeleet. IPv4-Weiderleeung muss ageschalt sinn, fir datt dat iwwerhaapt geschitt, an d'Routensich muss de Paket nees duerch tun0 schécken. D'Firewall gesäit also e weidergeleetene Flux mat därselwechter Schnëttstell op béide Säiten, an dat ass den Detail, deen déi meescht Reegelsätz iwwersinn. Hei brauch een keng Quellübersetzung, an d'Adress vum A intakt ze halen ass et, wat dem B erlaabt seng eegen quellbaséiert Regel unzewenden.
Zwee Regelen um Server, an dëser Reihenfolg
Dräi Reegelen droen déi ganz Erlabnes: Weiderleeung, d'Ausnam vum Paar an e Standard-Drop fir d'Tunnelpaar. D'Accept-Regel nennt d'Paar an de Service, sou datt d'Erlabnes e Pool iwwerlieft, dee wiisst. Setz se virun all pauschal Oflehnung vum Tunnel-zu-Tunnel-Verkehr, well déi éischt Übereestëmmung gewënnt:
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i tun0 -o tun0 -s 10.44.0.21 -d 10.44.0.37 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -j DROPDéi Kommandoen sinn illustrativ an gehéieren an de Mechanismus, mat deem däin Host d'Reegelen dauerhaft späichert; eng Afügung zur Lafzäit verschwënnt beim nächsten Start. D'Stateful-Regel ass et, déi dem B seng Äntwerten an den TCP-Handshake ouni eng zweet, gespigelt Accept-Regel zeréckkënnt.
Iwwerpréif duerno d'Zieler amplaz d'Reegellëscht, well eng Regel, déi ni trëfft, gesäit identesch aus wéi eng, déi funktionéiert. Bleiwen d'Zieler op Null, hëlt de Paket net de Wee, vun deem s du mengs.
Wat de B nach muss erlaben
De B bedreift den SSH-Service, also entscheet de B, ob eppes op der Tunneladress lauschtert an ob seng eege Host-Firewall d'Quell akzeptéiert. Eng Netzwierkerlabnes um Server ass keng Erlaabnes fir en Kont um B, an d'Hostschlësselprüfung an d'Benotzerauthentifikatioun gëllen nach ëmmer wéi vu soss ëmmer.
Test fir d'éischt de positiven Fall: eng frësch SSH-Verbindung vum A op d'Tunneladress vum B, akzeptéiert mam erwaarte Hostschlëssel. Test duerno en anere Peer oder en anere Port a bestäteg, datt e verworf gëtt, well eng Erlabnes, déi stiell alles erlaabt, net vun enger ze ënnerscheede ass, déi funktionéiert, bis et drop ukommt. Béid Hallefdeeler vun deem Test sinn néideg, an déi zweet ass déi, déi d'Leit iwwersprangen.
Schreif déi zougewisen Adressen, déi effektiv Routen op béide Cliente souwéi déi genee Reegelen um Server an um B op. E gelungenen Ping op de Gateway oder en oppene Port um Server beweist dovun näischt, well béides kann stëmmen, während d'Weiderleeung tëschent Peeren nach blockéiert ass. Schreif déi Zuelen op, während den Tunnel steet, well d'Adress, déi e Client no enger Neiverbindung kritt, kann eng aner sinn.