Kerio op Linux: dem kvnet d'MAC ginn, déi de Server erwaart
kvnet gëtt bei all Verbindung nei ugeluecht, sou datt eng eemoleg Adressännerung verluer geet. Liest de Wäert, deen de Client geloggt huet, a wende en aus engem Hook no der Verbindung un.
Dräi Saachen musse sech eens ginn, ier e Kerio-Tunnel Verkéier dréit: d'Adress um kvnet-Interface, de Wäert, deen de Client geloggt huet, an dat, wat d'Serverpolitik oder DHCP erwaart. Wa se sech net eens ginn, authentifizéiert den Tunnel sech nach ëmmer a kënnt nach ëmmer erop, an genau dat mécht de Feeler verwirrend. Den Interface gëtt pro Verbindung ugeluecht, also gehéiert eng Adress, déi vun Hand gesat gouf, zu där Sessioun an zu näischt anescht. Dat ass d'Form vum Problem, an d'Léisung ass en Hook an net eng Konfiguratiounsdatei. De Rescht ass, wou de Wäert gelies a wou en ugewannt gëtt.
Firwat d'Adress ëmmer erëm zréckkënnt
kvnet ass en virtuelle Adapter, deen de Client uleet, wann eng Verbindung ufänkt, an deen en ewechhëlt, wann se ophält. Eng manuell ip link set iwwerlieft dofir genee sou laang wéi d'Sessioun, op déi se ugewannt gouf, an déi nächst Verbindung fänkt mat deem un, wat de Client zoudeelt. Op enger Maschinn, op där de Client déi erwaart Adress net ugewannt kritt, bréngt all nei Verbindung déiselwecht Onstëmmegkeet erëm, an d'Lease- oder Zougriffsregel verwëllt d'Gerät nach eng Kéier.
Dëst Muster ass fir sech selwer diagnostesch. En Tunnel, deen eng Sessioun fonctionnéiert an an der nächster feelt, ass kee Problem mat den Umeldungsdaten, well déi änneren sech net tëscht de Verbindungen.
Liest de Wäert beim Client, net beim Interface
De Linux-Client schreift Verhandlungsdetailer a säin Debug-Log, an d'Adress, déi en ze benotze gedenkt, erschéngt do als leschten adressfërmegen Token vun der Verbindungsserie. Vergläicht dat mat deem, wat de Kernel tatsächlech hält, wat ee readlink wäit ewech ass: cat /sys/class/net/kvnet/address.
Wann déi zwee sech ënnerscheeden, huet de Client de richtege Wäert kannt a konnt en net uwenden, an en Hook, deen en nom Bestoe vum Interface uwent, schléisst dës Lück. Wann de Log guer keng Adress enthält, ass de Problem méi fréi a gehéiert zu der Clientversioun oder dem Serverprofil an net zu engem Skript.
Wend en un, nodeems den Interface besteet
Benotzer vum NetworkManager kënnen e Skript an säin Dispatcher-Verzeechnes leeën an nëmmen handelen, wann den VPN-Interface eropkënnt. E Client, dee vun systemd geréiert gëtt, brauch méi Suergfalt: en Drop-in, deen beim Déngschtstart leeft, lëscht normalerweis aus, ier den Adapter besteet, also muss den Hook op den Interface waarden, amplaz en unzehuelen. Setzt d'Adress duerno, an wann de Kernel refuséiert, wärend de Link erop ass, hëlt en erof, setzt d'Adress a bréngt en zréck erop. Liest den extrahéierten Token iwwer e MAC-Muster zréck, éier Dir en un ip link gitt, sou datt eng onerwaart Logzeil keen Argument ka ginn.
Alles, wat als root aus dem Log vun engem Client leeft, verdéngt enge Besëtz: eng Datei am Besëtz vum root, net vun aneren iwwerschreifbar, an näischt Shell-Interpolatioun iwwer déi validéiert Adress eraus. Halt d'Musterprüfung am Skript. Loosst den Inhalt vum Log net decidéieren, wéi eng Kommando leeft.
Verifizéiert de Lease an net de Link
ip -4 -o addr show dev kvnet soll eng Adress am erwaarte Beräich weisen, ip neigh show dev kvnet soll de Gateway weisen, an een Déngscht hannert dem VPN soll äntweren. Trennt dann d'Verbindung a verbënnt eemol nei; wann d'Adress zréckkënnt, lëscht den Hook um falschen Event aus oder guer net.
En Interface, dee mat der richteger Adress erschéngt an ni e Lease kritt, weist op d'Serverlinn. Dat ass eng aner Prüfung an normalerweis en anert Team. Bestätegt, datt de Kont erlaabt ass an datt de Pool nach eng Adress huet, éier Dir den Hook nach eng Kéier ännert.
Iwwerdenkt d'Ëmgehungsmëttel no engem Upgrade
E Client-Build, deen d'Adress richteg setzt, léisst Ären Hook en ale Wäert uwenden, wat en neie Feeler ass, dee vun enger Korrektur agefouert gouf. Kopéiert och ni eng MAC vun enger anerer Maschinn oder engem Forumsbäitrag; benotzt de Wäert, deen dëse Client fir dëse Kont loggt, a notéiert den Datum, op deem Dir en iwwerpréift hutt.
Halt d'Skript kuerz genuch, fir et an enger Sëtzung ze liesen. Ëmgehungsmëttelen, déi Logs analyséieren, si vun Natur aus temporär. Déi, déi iwwerliewen, sinn déi, déi en zukünftege Lieser ouni den ursprénglechen Thread versteet.