Zwee Duerchgäng, eng VPN: firwat OpenVPN de falschen Uplink wielt
Den Tunnel ass gutt; de Socket geet iwwer de falschen WAN eraus. Liest d'aktiv Peeradress, fixéiert eng Hostroute a kontrolléiert als éischt d'Politikregelen.
Zwou Verbindungen no uewen, een Tunnel, an den Trafic geet iwwer déi eraus, déi Dir net gewielt hutt. D'privat Subnetze sinn erreechbar, de Log mëddelt eng erfollegräich Verbindung, an et ass de gemoossene Link, deen en dréit. Näischt an der Ausgab vum OpenVPN nennt eng Duerchgang, well de Client ni eng gewielt huet. Hien huet e Socket op eng distanziert Adress opgemaach an huet de Kernel entscheeden gelooss, wéi déi Adress erreecht gëtt.
D'Tunneladress ass net den Endpunkt
An all Sessioun ginn et zwee verschidde Weeër. De baussenwege Wee dréit den verschlësselten Transport bis op d'ëffentlech Adress vum Server. De bannenwege Wee dréit alles, wat de Server an den Tunnel dréckt, an d'Routingregele vun engem hunn keen Effekt op deen aneren.
Den remote-Agang am Profil nennt d'baussenzeg Destinatioun, also ass dat d'Adress, déi fixéiert muss ginn. Et ass och de Wäert, dee sech ännert, wann en Hostnumm anescht opgeléist gëtt oder de Profil méi remote oplëscht.
Fannt d'Adress, déi de Client tatsächlech ugeruff huet
Liest de liewegen Socket amplaz vun der Konfiguratiounsdatei. D'Socket-Tabell weist de Peer, mat deem de Prozess tatsächlech verbonnen ass, an dat ass de Wäert, deen eng Ausnam treffe muss. E Profil kann no dem Start vun der Sessioun editéiert ginn, an de Socket ass deen eenzegen Noweis dofir, wat ugeruff gouf:
ss -tunp | grep -i openvpn
journalctl -u openvpn-client@work --no-pager | grep -i "Peer Connection Initiated"
D'Loglinn nennt d'Peeradress an de Port zum Zäitpunkt vun der Verbindung. Wann se net mam Profil iwwerenee stëmmt, schreift eppes virum Client d'Destinatioun ëm, ier d'Verbindung ufänkt.
Kontrolléiert och d'Adressfamill. En Dual-Stack-Profil kann iwwer IPv6 verbannen, während Är Ausnam nëmmen IPv4 deckt, an dann follegt den Trafic enger anerer Regel wéi där, déi Dir geschriwwen hutt. Datselwecht gëllt fir e Proxy, deen am Numm vum Endpunkt äntwert. Béid Fäll erginn en Tunnel, deen funktionéiert, während Är Route näischt mécht.
Fixéiert den Endpunkt a liest d'Uerdnung vun der Politik
Eng Hostroute ass spezifescher wéi all Standardroute. Dowéinst gewënnt eng /32 fir d'Peeradress bannent der Tabell, déi se enthält. Déi gewéinlech Form nennt den Duerchgang an d'Gerät ausdrécklech:
ip route add 203.0.113.40/32 via 192.168.10.1 dev eth0
Déi Route hëlleft nëmmen, wann d'Sich déi Tabell erreecht. Politikregele ginn an der Uerdnung evaluéiert an déi éischt Iwwerenee stëmmt, also geet eng Regel, déi alles an eng zweet Tabell schéckt, Ër Hostroute an main ëm. Liest d'Regele, ier Dir unhëlt, d'Route wier maassgeblech:
ip rule show
ip route get 203.0.113.40
Frot deen zweeten Kommando mat der selwechter Quelladress oder Markéierung, déi de Client benotzt, wann d'Politik dovun ofhänkt. En mëddelt d'Route, déi de Kernel wéilt, wat e Beweis iwwer d'Sich ass an keen Beweis, datt de liewegen Socket dee Wee benotzt.
Wann den Endpunkt sech beweegt
En Hostnumm, deen op méi Adressen opgeléist gëtt, entkräftegt eng permanent /32 soubal d'Äntwert sech ännert. E Profil mat méi remote-Linnen huet datselwecht Problem, well de Client op jiddwerengem lande kann. Erfrëscht d'Route aus de Lifecycle-Hooks vum Client selwer, amplaz se vun Hand derbäizesetzen. E up-Skript, deen de verhandelte Peer liest an d'Hostroute installéiert, hält d'Ausnam mat der Realitéit am Gläichgewiicht, an e passenden down-Skript hëlt se eraus.
Registréiert d'Erfrëschung op der selwechter Plaz wéi de Rescht vun der Routingkonfiguratioun vum Host. Eng Route, déi nëmmen bis zur nächster Neistart existéiert, ass en Test, keng Korrektur.
Halt déi bannenzeg Politik getrennt
De baussenwege Wee ze verréckelen gëtt keen Zougang zu engem neie private Subnetz an ännert net, wéi eng Destinatiounen de Server an den Tunnel dréckt. D'Route vun der ënneschter Schicht wielt den Drot; déi gedréckt Route wielen, wat an den Tunnel kënnt. Genau dës zwou Entscheidungen getrennt ze halen, mécht d'Deelung viraussobar.
Wann d'Zil nëmmen ass, den verschlësselten Transport vun engem gemoossenen Link fort ze halen, loosst d'Standardroute a Rou a füügt déi eenzeg Hostausnam derbäi. D'Standardroute vun der ganzer Maschinn ze ersetzen, fir eng eenzeg VPN-Verbindung ze verréckelen, brécht all aner Applikatioun um Host.
Bestätegt d'Resultat mat zwou onofhängegen Observatiounen: der lokaler Adress an dem Gerät vum Socket, an der Route, op déi d'privat Destinatioun opgeléist gëtt. Wa béid mat Ärer Absicht iwwerenee stëmmen, ass d'Deelung reell. Den OpenVPN-2.6-Handbuch deckt d'remote- an d'lokal Bindungsoptiounen of, déi entscheeden, wéi eng Adress de Client uféiert.