De Pi vu Wi-Fi op e Kabel ëmstellen gesäit aus wéi eng Aarbecht vu fënnef Minutten, an et bleift nëmmen esou, wanns de de Plënneren als véier getrennt Astellungen behandelt a just als eng. Den Endpunktnumm, deen deng Cliente wielen, kann genee deeselwechte bleiwen, wärend d’Adress dorënner anescht gëtt. Wat tatsächlech briecht, ass e Listener, deen un déi al Adress gebonnen ass, eng Portweiderleedung, déi nach op de drahtlosen Lease weist, oder en Zréckwee, den duerch d’Interface geet, déi s de geduecht hues, s de hätts ofgeschaf. Dës Duergang hält bei all Schrëtt e Recuperatiounswee op, sou datt en deierend Iwwergang just en Neistart kascht.

Schreif déi véier Verantwortlech op, ier s de eppes ofkäppst

Véier Astellungen entscheeden, ob den Iwwergang iwwerlieft: d’Pi-Adress, d’OpenVPN-Bindadress, d’Router-Weiderleedungsziel an de Wee, deen d’Äntwerten huelen. Schreif all véier op, ier s de de Kabel beréiers, well wann den drahtlosen Lease fort ass, kanns de déi al Wäerter net méi vun der Maschinn ofliesen. D’Kabelinterface ierft den drahtlose Profil net, an op Bookworm wunnt d’Adress am NetworkManager, während Bullseye se am dhcpcd.conf behält. Eng Reservatioun, déi d’drahtlos MAC-Adress festgehalen huet, seet näischt iwwer eth0. Behandel déi nei Adress als eng nei Zousetzung, déi hire eegene Beweis braucht.

Old wireless lease:   10.42.7.24/24 on wlan0
New wired address:    10.42.7.31/24 on eth0
Client endpoint:      vpn.lab.example:1194/udp

Den Listener ass den zweete Verantwortlechen. Wann den Déngscht mat enger spezifescher Bindadress gestart gouf, stierft de Socket mat der aler Interface; wann en all Adresse bindet, iwwerlieft de Socket an d’Router-Reeg gëtt dat eenzegt, wat nach ze maache bleift.

D’Weiderleedungsziel an de Réckwee sinn d’Verantwortlech, déi d’Leit iwwersprangen. Eng Weiderleedung, déi nach op 10.42.7.24 weist, schéckt ukommend Handshakes op eng Adress, déi de Pi net méi huet, sou datt d’Cliente mat engem Timeout ophalen, ouni eng eenzeg Serverlog-Zeil. De Réckwee zielt, wann béid Linken kuerz gläichzäiteg aktiv sinn, well de Pi vun der Interface äntwert, déi d’Routingtabell virzitt, an dat ass net ëmmer déi, op déi de Paket ukomm ass. D’Routofro hei ënnen weist, wéi eng Quell de Kernel wielt.

Lies den tatsächleche Socket, ier s de der neier Adress vertraus

Konfiguratiounsfichëren beschreiwen d’Absicht, an de Socket beschreift d’Wierklechkeet. Fro den lafenden Déngscht, wourop en gebonnen ass, amplaz der Konfiguratioun ze vertrauen, déi s de am Kapp hues. OpenVPN 2.6-Handbuch definéiert --local als Bindung un eng Adress a bemierkt, datt d’Ewechloossen all Interface bind.

sudo systemctl cat openvpn-server@server | grep -n -- '--local'
sudo ss -lunp '( sport = :1194 )'

Lies d’Kolonn vun der lokaler Adress amplaz vun der Statuskolonn. Eng Zeil, déi 10.42.7.24:1194 weist, heescht, datt de Socket un d’Adress gebonnen ass, déi s de just ewechhuele wëlls, während 0.0.0.0:1194 oder *:1194 heescht, datt den Daemon der Interfaceännerung vu selwer follegt. Wann d’Adress gebonnen ass, beaarbecht de Profil a start d’Eenheet nei, amplaz de lafende Socket mat der Hand nei ze schreiwen, a bestätegt duerno, datt den Déngscht seng Zertifikat- a Schlësselfichëren nach erreecht.

Gang de Plënneren an enger Reiefolleg, déi dech erreechbar hält

D’Reiefolleg zielt hei méi wéi d’Tempo. Bréng de Kabel-Link erop, während deen drahtlosen nach fonctionéiert, bestäteg déi nei Adress an de Réckwee, an schaf duerno den drahtlose Profil of. Déi Sequenz hält eng funktionnend Sëtzung op, bis den Ersatz bewisen ass.

ip -br addr show eth0
ip route get 203.0.113.10
nmcli -g ipv4.method,ipv4.addresses con show "Wired connection 1"

Den éischte Kommando äntwert, ob eth0 d’Adress kritt huet, déi s de geduecht hues, an den zweete dréckt d’Quelladress aus, déi de Kernel fir en Zil baussent dem Netz géif benotzen, also lafe s de virun an no der Ännerung. Wann déi Quell nach déi drahtlos Adress ass, ass de Kabel-Link nach net de bevorzugte Wee, an den Test vu baussen schléit aus engem Grond fehl, deen näischt mat OpenVPN ze dinn huet. Maach d’Routing-Präferenz richteg, ier s de d’Weiderleedung beréiers.

Mat béide Linken ugeet de Pi vläicht der drahtloser Standardroute vir, well se als éischt installéiert gouf oder well de Kabel-Link eng méi héich Metrik dréit. Op Bookworm ass dee ënnerstëtzte Schalter ipv4.route-metric op der Verbindung, an op Bullseye ass den Äquivalent eng interface-spezifesch metric-Zeil am dhcpcd.conf. Degradéier de drahtlose Link, amplaz en auszeschalten, sou datt de Rollback-Wee ee Kommando wäit bleift.

Beweis den Tunnel vu baussen, net vum LAN

Eng VPN-Verbindung, déi vun der Kanapee aus fonctionéiert, beweist manner, wéi et schéngt. Verkéier aus dem LAN op d’ëffentlech Adress geet duerch Hairpin- oder Reflexiounsregele, déi Routeren inkonsistent ëmsetzen, sou datt en bestandenen LAN-Test mat engem futti Wee vu baussen zesumme ka bestoen. Benotz en Telefon mat mobilen Donnéeën oder en Host baussent dem Netz fir den Akzeptanztest. Halt de LAN-Versuch als separat optional Diagnose.

Lies duerno de Log an der Reiefolleg, an där d’Paketen ukommen. Ganz näischt heescht, datt den Handshake de Pi ni erreecht huet, also ass d’Weiderleedungsziel oder d’Host-Firewall falsch. En Handshake, deen ufänkt an hänke bleift, weist op Schlësselen, Zertifikater oder MTU. Eng Sëtzung, déi fäerdeg gëtt an dann ofbriecht, heescht meeschtens de Réckwee oder eng zweet Standardroute, an d’Logzeil vum Client Initialization Sequence Completed seet dir, datt den Tunnel selwer eropkomm ass.

sudo journalctl -u openvpn-server@server -n 40 --no-pager
sudo tcpdump -ni any udp port 1194 -c 20

Wann am Serverlog näischt erschéngt, während de Client et nach eng Kéier probéiert, hief op, d’OpenVPN-Konfiguratioun ze liesen, a géi zréck op d’Weiderleedungsziel. D’Opnam beäntwert d’Ukommesfro a Sekonnen, an ukommend Pakete mat keng Äntwert engen de Problem op d’Route an.

Halt eng Rollback an engem Schrëtt a schaf den drahtlose Profil of

Loos den drahtlose Profil installéiert, bis d’Kabelarrangement en Neistart iwwerstanen huet. nmcli con show listet d’Profilnummen op, déi s de brauchs, an en geläschte Profil muss am schlëmmsten Ament aus dem Gediechtnes nei opgebaut ginn. Schreif den Interface-Numm, d’Adressmethod an d’Metrik nieft deenen anere véier Wäerter op. Eng Rollback, déi s de aus enger Notiz tippe kanns, ass méi wäert wéi eng, déi s de muss rekonstruéieren.

Déi drahtlos Ofhängegkeet ofzeschafen ass eng Eegeschaftsännerung amplaz eng Läschung. Wann s de connection.autoconnect no setz, bleiwen d’Zougangsdaten an d’Adresshistorik intakt, während de Pi dovu ofgehale gëtt, sech nach eng Kéier mat engem Netz ze verbannen, vun deem s de fortgeplënnert bass.

nmcli con show
sudo nmcli con up "Wired connection 1"
sudo nmcli con mod "previously-used-wifi" connection.autoconnect no

Ier s de d’Aarbecht als fäerdeg bezeechnes, bestäteg véier Saachen: d’Weiderleedungsziel passt zu der Kabeladress, den Listener huet en Neistart iwwerlieft, e Client vu baussen hält en Handshake of, an de Pi äntwert no engem Neistart nach op der Kabeladress. En Neistart ass dee bëlligste Wee, eng Zousetzung ze erwëschen, déi just am lafende Kernel existéiert huet. Wann eng vun deene véier fehlschléit, bréng den drahtlose Profil mat sudo nmcli con up erëm erop a vergläich d’opgeschriwwe Wäerter mat deene lafenden.

Ähnlech Artikelen