E Web-UI an engem VPN-Container erreechen: de Port-Besëtzer auswielen
D’App deelt de VPN-Namnraum, also gehéiert de Port zum VPN-Container. Bind den Nolauschterer richteg, publizéier beim Besëtzer a hal den Wee schmuel.
Un der App ass näischt falsch an um Tunnel ass näischt falsch, an nach luedt den Dashboard net. Wann e Service mat network_mode: service:vpn leeft, deelt en den Netzwierk-Namnraum vum VPN-Container, dat heescht säin Nolauschterer a seng publizéiert Porte gehéieren zu deem Namnraum an net zum Service. Dräi Entscheidungen entstinn doraus: wou d’App sech bindt, wéi en Container de Port publizéiert a wéi schmuel de Verwaltungswee ass. Maach se an der falscher Reihenfolge a jiddwer eenzel Astellung gesäit richteg aus, wärend d’Kombinatioun net ka funktionéieren.
Wien de Port-Namnraum besëtzt
An engem gedeelte Namnraum bréngt et näischt, eng ports:-Entrée beim ofhängege Service derbäizesetzen, a verschidde Netzwierkoptiounen ginn dofir vun der Konstruktioun net ënnerstëtzt. Publizéier amplaz um Container, deen den Namnraum besëtzt. Dee Container ass och deen, deem seng Adress um Host erschéngt, also gëtt d’Mapping als eng Entrée gelies an net als eng pro Service.
services:
vpn:
image: vpn-client-image
cap_add: [NET_ADMIN]
ports:
- "127.0.0.1:8080:8080"
app:
network_mode: "service:vpn"
Kuckt d’Adress lénks vum Mapping un. D’Bindung un 127.0.0.1 hält de publizéierte Port um Loopback vum Host, wat eng Verwaltungsschnittstell normalerweis wëllt. D’Bindung un 0.0.0.0 leet en op all Host-Schnittstell op, an dat ass eng aner Sécherheetsentscheedung, net eng Bequemlechkeet.
Loos d’App do lauschteren, wou den Namnraum et erwaart
En Nolauschterer, deen am Namnraum un 127.0.0.1 gebonne ass, ass just vum Bannen vum Namnraum erreechbar. Publizéiert Hostporte kommen vu baussen, also muss d’App eng méi breet Adress binden, fir datt d’Mapping funktionéiert. Dat ass bei de meeschte Serveren eng Ännerung vun enger Linn, an et ass genee dee Schrëtt, deen d’Leit iwwersprangen, nodeem si eng Härtungsguide kopéiert hunn, déi fir eng Déploiement ouni Container geschriwwe gouf.
docker compose exec app ss -lntp
docker port vpn
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/
D’Lëscht vun den Nolauschterer an der App seet d’Wourecht iwwer d’Bindungsadress, an docker port seet, wat de Besëtzer tatsächlech publizéiert huet. Wann déi éischt 127.0.0.1 weist an déi zweet eng Host-Mapping, hutt Dir d’Differenz fonnt, ouni d’VPN-Konfiguratioun unzepaken.
Wielt, wéi de Verwaltungswee erakënnt
Et ginn dräi vernünfteg Arrangements. Publizéier um VPN-Container a komm vum Host oder aus dem LAN druf. Setz e Reverse-Proxy virun den Namnraum a gëff dem Proxy deen eenzege offene Port. Oder hal den Dashboard just vum Bannewäite vum Namnraum iwwer eng exec-Sitzung oder en SSH-Tunnel erreechbar, wat déi mannst Expositioun an de mannste Komfort ass.
Wéi eng passt, hänkt dovun of, wien d’Schnittstell brauch a vu wou. Ee eenzegen Administrateur um selwechte Host kënnt mat enger Loopback-Bindung duer. En Team, deen en iwwer de VPN erreecht, brauch e bewosste Wee an e genannte Besëtzer. Wann Dir d’Proxy-Optioun wielt, kritt Dir TLS an Zougangsloggen, awer en anert Komponent muss aktualiséiert gemaach ginn.
Maach de Verwaltungsport op, ouni alles opzemaachen
D’Politik vum VPN-Client fir lokalen Zougang oder Spär kann eng ukommend Verwaltungsufro fale loossen, och wärend den auslafenden Tunnel perfekt funktionéiert. Erlaab eng dokumentéiert Ausnam fir déi virgesinn Quell an de Port, a bestätegt duerno, datt de gewéinleche Schutz vum Tunnel onverännert ass. De Kill-Switch ofschalten, fir en Dashboard lueden ze loossen, tauscht eng richteg Kontroll géint en Browser-Tab.
Looss d’Authentifizéierung vun der App selwer ageschalt. An engem VPN-verbonnen Stack ze sinn autoriséiert net all lokale Benotzer an net all Apparat, deen den Host erreeche kann, an en onauthentifizéierte Administratiounspanel hannert engem Tunnel bleift en onauthentifizéierte Administratiounspanel.
Verifizéier vum Verwaltungsapparat aus a verifizéier duerno nach eng Kéier
Test vun der Maschinn, déi de Service tatsächlech verwäerte gëtt, net vum Host, a verifizéier duerno den Internetwee, deen d’App brauch, separat. En Erfolleg an der Verwaltung beweist eng Richtung a seet näischt iwwer den Ausgang.
Test nach eng Kéier, nodeem de Stack nei erstallt gouf. En ersetzten Netzwierkbesëtzer ännert den Namnraum, un deen d’App sech hänkt, an eng URL, déi virun engem Update funktionéiert huet, kann duerno op näischt weisen. Schreif d’publizéiert Mapping an d’Bindungsadress op, fir datt den nächste Neibau eng Kontroll vun zwou Minutten ass an net eng widderholl Enquête.