Ee klengt Programm, dat eng bestoend VPN verbënnt, brauch e Controller, net eng nei VPN-Implementéierung. Déi ënnerstëtzt Engine soll d'Verhandlung an den Tunnelverkéier iwwerhuelen; däi Programm soll d'Ufro vum Benotzer ausdrécken an d'Resultat éierlech erklären. Op Linux gëtt d'NetworkManager-D-Bus-Schnittstell deem Controller e konkrete Modell fir ze verfollegen.

Véier Kontrollen hëllefen dem Controller, e gespäicherte Profil, eng Aktivéierungsufro an eng funktionéierend Sitzung net ze verwiesselen.

Kontroll éischt: wéi eng Identitéit ausgewielt gëtt

Halt d'UUID vum Profil als dauerhaft Identitéit, a léis se iwwer de Manager op, wann s de de Wee vum Objet brauchs. En ugewisene Numm kënnen zwee Profiler deelen, an ee Buswee zur Lafzäit ass keng verständlech Benotzerastellung fir ze späicheren. Schréif d'Auswiel an deng eege Konfiguratioun, net an e Kommentar driwwer, wéi en Aschreiwung déi zweet an der Lëscht war.

Iwwerpréif, wat de Manager zréckgëtt, ier s de et eng Iwwereneestëmmung nenns. Eng UUID, déi et net méi gëtt, gëtt e Sichfeeler, an dat ass en anere Codewee wéi e Profil, deen et gëtt an d'Aktivéierung verweigert.

Kontroll zweet: wat den Aktivéierungsopruff zréckgëtt

Den dokumentéierten Aktivéierungsopruff hëlt de Wee vum Objet vun enger bestoender Verbindung, e Gerätewee an en spezifeschen Objet. En gëtt de Wee vun enger aktiver Verbindung zréck, an déi Äntwert ass en Händel, net en Resultat iwwer d'Fäerdegkeet. Setz den Fäerdeg-Fändel vun denger Applikatioun net aus dem zréckgëwwene Wäert; abonnéier dech amplaz op den Zoustand an de Grond vun der aktiver Verbindung.

Fir eng VPN wielt de spezifeschen Objet déi aktiv Basisverbindung. Wann s de de Wuerzelwee gëss, léis s de d'Wiel vum Gerät dem NetworkManager, deen dat hëlt, wat am Moment Standard ass. Dat ass eng Entscheedung iwwer de Routingkontext an net e Passwuertfeld, an et ännert, op wéi engem Gerät den Tunnel läit.

Huel keng allgemeng Beispill vu Bäisetzen an Aktivéieren a waart drop, datt et e VPN-Profil schaaf. Den dokumentéierten Hëllefsmëttel schléisst VPN-Verbindungen aus, dofir ass d'Virbereedung oder den Import vum Profil ee getrennte, iwwerpréifte Schrëtt. Dat ass wichteg, well d'Virbereedung eng Autorisatioun an eng Iwwerpréiwung brauch, déi eng Verbindungsknäppchen net gëtt. Behandel den Import als administrativ Aktioun mat senger eegener Loglinn a sengem eegene Genehmeger.

Kontroll drëtt: wéi den Zoustand duergestallt gëtt

Eng aktiv Verbindung geet duerch Aktivéieren, aktiv, Deaktivéieren an deaktivéiert, an d'Grondfeld seet firwat. All dat an en boolesche Wäert mam Numm loggedIn ze pressen, verléiert d'Informatioun, déi de Benotzer brauch an déi den Support froe wäert. Weist op d'mannst, ob d'Verbindung op der Waard ass, opgebaut oder fort, a behält de Grondstrang fir de Feelfall.

Verbind asynchron Äntwerten mat der Ufro, déi se erstallt huet. Eng spéit Ofschléissung vun engem eelere Versuch däerf eng méi nei Benotzeraktioun net iwwerschreiwen, an en duebele Klick op Connect soll entweder ignoréiert oder als Ofbriechen an nach eng Kéier probéieren mat enger siichtbarer Politik behandelt ginn.

Kontroll véiert: wat no engem Neistart geschitt

Wann de Manager nei start oder däi Controller sech nees un de Bus verbënnt, bau den observéierten Zoustand vum Besëtzer nei op. Fuert net weider, eng gecacht Sitzung als aktiv ze weisen, well en ale Wee vum Objet nach am Späicher ass. D'Signaler vum Zoustandsännerung existéieren just dofir, datt e Controller sech nei synchroniséiere kann, amplaz ze roden.

Wiel, wat et heescht, den Controller zouzemaachen. Eng bestoend Verbindung am Besëtz vun der Maschinn opzeloossen kann richteg sinn, an eng bewosst kuerzlieweg Sitzung ze ofbriechen och. Eng bestoend Verbindung am Besëtz vun der Maschinn opzeloossen kann richteg sinn; eng bewosst kuerzlieweg Sitzung ze ofbriechen och. Schréif dee Besëtzvertrag an d'Schnittstell, amplaz ze ugehollen, datt den Ausgang vum Prozess d'Netzwierkaktioun mécht. D'Benotzer sollten net roden, ob d'Zoumaache vum Fënster hiren Tunnel fale léisst. Setz d'Äntwert an den Text vun der Schnittstell, net just an e Codekommentar.

Halt d'Autoritéit an d'Geheimnisser bei hire Besëtzer

D'Erlaabnesser komme wéi jo, auth oder nee zréck, an d'Schnittstell soll den Ënnerscheed tëscht erlaabt, no der Authentifikatioun erlaabt an ofgeleent weisen. Den Controller als root lafe loossen implementéiert keng Erlaabnespolitik; et hëlt d'Fro ewech.

D'Berechtegungen gehéieren zum ënnerstëtzte Geheimagent oder zur Client-Integratioun fir déi konfiguréiert Authentifikatiounsmethod. E Passwuert am Quellcode, an engem Argument oder an engem Log ass e Befund, an eng lokal administrativ Autorisatioun ass net déi selwecht Evenement wéi d'Authentifikatioun um Gateway.

Zum Schluss mellt den Zoustand vun der Verbindung getrennt vun der Aufgab, déi de Benotzer wëll maachen. En Tunnel kann aktiv sinn, während en private Numm oder eng Applikatioun onerreichbar bleift, an deen zweeten Ausfall verdéngt seng eege Message a säin eegene Status. Ee Controller, deen genau seet, wéi eng Schicht ausgefall ass, ass méi nëtzlech wéi een, deen seet, d'VPN wier erof.

Ähnlech Artikelen