En Uwendungscontainer, dee sech den Netzwierk-Nummraum vun engem VPN-Container deelt, huet keng eegen Interface, dofir ass et einfach unzehuelen, datt en näischt ka schécken, wann den Tunnel feelt. Dee Grond ass am Fehlermodus, deen zielt, falsch. Wann den VPN-Prozess stierft, wärend den Nummraum weiderliewt, behält d’App hir Sockets an den Nummraum behält seng Routen, an den Trafik geet weider op deem Wee, dee nach installéiert ass. En echte Kill-Switch ass eng explizit Filterpolitik plus Tester vum Liewenszyklus vun der Runtime, net eng Startofhängegkeet.

Firwat d’Deelen vun engem Nummraum kee Kill-Switch ass

En Nummraum deele bedeit, datt d’App d’Interface, d’Adressen an d’Routentabelle vum VPN-Container benotzt. Et hëlt dem App säin onofhängege Wee an d’Netz ewech, soulaang den gedeelten Nummraum intakt ass, an et seet näischt doriwwer, wat deen Nummraum wäert maachen, wann den Tunnel fortgeet.

D’Ofhängegkeetsbedingunge vum Compose kënnen den Ufank vun enger App verréckelen, bis eng Ofhängegkeet gesond ass. Dat deckt ee Moment an der Zäit an keen spéidere Fehler, also ass et en Instrument fir d’Startreihenfolge an net eng dauerhaft Ausgangsfeierwonn.

Wat wierklech geschitt, wann de Container erausgeet

Ënnerscheed dräi Evenementer. Den VPN-Prozess am Container kann stierwen, wärend de Container weiderleeft. De Container kann stoppen oder ewechgeholl ginn, wat den Nummraum zerstéiert. De Container kann nei erstallt ginn, wat en neien Nummraum an nei Reegelen opbaut.

Am éischte Fall bleift den Nummraum bestoen, de Standardwee kann nach op d’physesch Interface weisen, an d’App schéckt weider direkt. Am zweete Fall verléiert d’ofhängeg App meeschtens d’Verbindung komplett, well hire Nummraum verschwonnen ass. Am drëtte Fall kann d’App sech nach engem frëschen Nummraum verbannen, ier den Tunnel prett ass. All Fall brauch en aneren Test, an en Design, dee just den uerdentlechen Ofbroch deckt, deckt dee mannst interessanten.

Bau eng explizit Ausgangspolitik

Schreif d’Politik am gedeelten Nummraum, sou datt se fir d’Pakete vun der App gëllt. D’Form ass en Standard-Drop mat engen enke Ausnamen: loopback, d’Interface vum Tunnel, an déi spezifesch Endpunktadress an de Port, déi den Tunneltransport brauch.

D’Ausnam fir den Endpunkt muss stoen, ier den Tunnel eropkënnt, soss kann de VPN-Client säi Server net erreechen. Dofir erlaabt de Reegelsatz den äusseren Transport ausdrécklech, amplaz d’physesch Interface allgemeng z’erlaben. Setz och IPv6-Reegele derbäi, wann den Nummraum IPv6-Konnektivitéit huet, well eng Politik just fir IPv4 léisst déi aner Famill op.

DNS gehéiert och an d’Politik. Wann d’App Nimm iwwer en Resolver opléist, deen nëmmen am Tunnel erreechbar ass, brécht d’Drop-Reegel d’Opléisung, wann den Tunnel ënnen ass, wat dat richtegt Verhalen fir e Kill-Switch ass. Entscheet bewosst, ob et dat ass wat Dir wëllt.

Test de Liewenszyklus, net just den Ofbroch

Schéck eng frësch harmlos Ufro, wärend den Tunnel gesond ass, dréck dann den VPN-Prozess of a schéck nach eng. Widderhuel datselwecht no engem Containerstopp, no engem Neistart an no engem Nei-Erstellen. Eng frësch Ufro ass wichteg, well eng bestoend Verbindung eng Regelännerung iwwerliewe kann, déi nei blockéiert.

Verlooss dech net op en Health-Check oder en Ausgangs-IP-Noeschlag als Blockéiermechanismus. En Check observéiert den Zoustand an rappeléiert en; eng Politik steuert den Trafik. Béides gehéiert an deeselwechten Asaz, an se sinn net Ersatz.

Halt d’Reegele fest, sou datt den Test en Update iwwerlieft

Schreif dat erwaart Resultat fir all Fehlerfall an d’Asazdokumentatioun, zesumme mat de Reegele, déi et ëmsetzen. Dee Verzeechnes erlaabt, deeselwechten Test no engem Image-Update oder engem Runtime-Upgrade ze lafen, wann den Nummraumverhalen oder Standardweeër sech änneren, ouni datt een de Compose-Fichier ännert.

Hal de erfuerderlechen äussere Wee vum VPN-Endpunkt getrennt vum onbeschränkten App-Ausgang, an hal DNS an IPv6 bannent der virgesinnener Deckung. Wann d’Politik déi ganz physesch Interface fir d’Bequemlechkeet erlaabt, ass de Kill-Switch fort. D’Docker-Netzwierksdokumentatioun beschreift d’Arrangement vum gedeelten Nummraum, op deem d’Politik opbaut, an dat ass d’Referenz, déi een iwwerpréift, wann d’Verhalen vun der Runtime a Fro steet.

Ähnlech Artikelen