D'VPN verbënnt sech, an dräi onofhängeg Geschier versoen op dräi verschidde Manéieren dee selwechten Nomëtteg. mitmproxy gesäit keng Ufroe méi, Chrome refuséiert den Debugger, a Gradle geheit BindException beim Bannen vun engem lokale Socket. Den gemeinsamen Verdacht ass, datt den Tunnel localhost blockéiert. Dat kann en net: 127.0.0.1 gëtt am Kernel behandelt an erreecht ni en Adapter, geschweige dann eng Paart.

Dräi Schichten, dräi verschidde Feeler

Wat sech mam Client geännert huet, ass net de Wee op loopback. Et sinn en lokale Proxy, en Trauensspäicher vun der Maschinn an e Pakettfilter, a jiddwereen brécht en aneren Deel vum Aarbechtsfloss vun engem Entwéckler. E Symptom an déi richteg Rei ze setzen ass de gréissten Deel vun der Diagnos:

SymptomLayerFirst check
Proxy sees no trafficLocal proxy or listenerss -lntp, or netstat -ano on Windows
TLS error in one tool onlyTrust storeWhich CA bundle does that runtime read?
Local bind or connect refusedPacket filter or port ownerWho holds the port, and what rule drops it?

Bal all Bericht vun dëser Aart fänkt bei der leschter Rei un a schafft sech no uewen, wat verkéiert ass. Den Tunnel ass déi eenzeg Schicht, déi beweisbar kee loopback-Trafic ka gesinn, dofir verdéngt en de mannste Verdacht. Fänkt domat un, wat de Prozess gebonnen huet, freet dann, wéi eng Zertifikater e vertraut, a kuckt erscht duerno op d'Politik op der Maschinn.

Fänkt beim Nolauschterer un, net beim Tunnel

Wann e Proxy op 127.0.0.1:8080 keen Trafic méi kritt, ass eng vun dräi Saachen geschitt: en ass ni gestart, en huet en anere Port gebonnen, oder de Filter huet d'loopback-Verbindung fale gelooss. D'Nolauschterer-Sockets opzezielen äntwert dorop mat engem eenzege Kommando, an et weist och, wéi ee Prozess de Port huet, wann zwee Geschier sech net eens sinn, wien als éischte war.

Eng lokal Adress an enger Routen-Sich bestätegt datselwecht aus der anerer Richtung. ip route get géint en loopback-Zil mellt den loopback-Geschir, ni den Tunnel, wat en nëtzleche Saz ass, deen een bereet hält, wann een eng Routenännerung als Léisung virschléit.

D'Proxy-Schicht: Ëmfeld ass keng Konfiguratioun

Vill Firmenclienten bedreiwen en HTTP-Proxy an erwaarden, datt Applikatiounen en benotzen. D'Setze vun HTTPS_PROXY an enger Shell reparéiert Kommandozeil-Geschier, déi en respektéieren, an et mécht näischt fir e Geschier, dat seng eege Astellungsdatei liest. Gradle, Selenium a gRPC konsultéieren jiddwereen seng eege Konfiguratioun, an e Proxy, deen an engem Terminal exportéiert gëtt, ass onsichtbar fir en Daemon, deen d'IDE gestart huet.

Container-Geschier sinn déi gewinnt Plaz, wou dat sichtbar gëtt. De loopback vun engem Container ass sengen eegene, also 127.0.0.1 bannent dem Container heescht ni de Proxy vum Host; d'Adress vum Host oder eng Host-Netzwierk-Astellung ass néideg. Eng Reparatur, déi an der Shell funktionéiert an am Build versot, ass meeschtens dës Rei, net den Tunnel.

D'Trauens-Schicht: d'Geschier liest en aneren Späicher

D'Interceptioun ass déi zweet Ännerung, an et produzéiert déi meescht misleading Feeler. De Client presentéiert säin eegent Zertifikat fir iwwerpréifte Verbindungen, also en Browser, deen der Firmenwuerzel vertraut, geléngt, während e Geschier mat engem agebaute CA-Späicher versot. Pythons requests iwwer certifi ass de klassesche Fall: de Späicher vum Betribssystem ka richteg sinn an d'Ufro versot nach ëmmer, well déi Laufzäit en ni liest. Den Feelertext ernimmt d'Interceptioun selten, dofir gëtt dës Rei falsch als gebrochene Endpunkt diagnostizéiert.

Vergläicht, wat den Endpunkt tatsächlech presentéiert, mat deem, wat d'Geschier validéiert huet. openssl s_client weist d'Kette, déi de Server geschéckt huet; dem Geschier seng eegen Validéierungsausgab weist, wat et decidéiert huet. Wa se net iwwerenee stëmmen, REQUESTS_CA_BUNDLE oder SSL_CERT_FILE ass den Hebel fir déi Laufzäit, an d'Firmenwuerzel gehéiert an de Späicher, deen déi Laufzäit liest, an net op eng global Plaz, déi nëmmen e puer Geschier respektéieren.

Eng Versiounsännerung, déi en SSL-Feeler reparéiert, ass e Beweis iwwer Trauens- a Chifferpolitik, net iwwer d'VPN. En Python-Downgrade, deen e SOAP-Client schafft, huet den agebaute CA-Späicher an d'Standard-TLS-Astellunge geännert; den Netzwierkwee huet sech net geréckelt.

D'Filter-Schicht: si ka loopback och fale loossen

Déi drëtt Ännerung ass e Pakettfilter, an e puer Produkter installéieren Reegelen, déi Trafic fale loossen, deen net an den Tunnel kënnt. Lokal Nolauschterer kënnen abegraff sinn. Dat mécht aus engem funktionéierende Socket eng refuséiert oder ofgelaf Verbindung, an de resultéierende Feeler gesäit aus wéi e Feeler an der Applikatioun, net wéi eng Politik op der Maschinn.

D'Portbesëtz ass déi aner Halschent vun dëser Schicht. BindException bedeit, datt de Socket net konnt opgemaach ginn, wat en anere Feeler ass wéi eng refuséiert Verbindung. Préift, ob en anere Prozess de Port schonn hält, ier dir de Filter beschëllegt, sicht dann no enger Regel, déi lokalen Trafic fale léisst, a füügt déi engst Erlaabnes derbäi, déi d'Produkt ënnerstëtzt. Zwee Geschier, déi ëm dee selwechten Debug-Port konkurréieren, produzéieren genau déiselwecht Noriicht wéi eng Politikblockade, an nëmmen ee vun hinne gëtt duerch eng Firewall-Ännerung reparéiert.

Dem Chrome säin Debug-Port versot an der selwechter Famill. De Browser start, den Treiber kann den DevTools-Endpunkt net erreechen, an d'Noriicht nennt DevTools amplaz vum Netzwierk. Zousätzlech Startfändelen an en iwwerflëssege Treibermanager änneren, wéi ee Prozess de Port huet, dofir gesäit et heiansdo aus, wéi wann d'Entferne se d'VPN reparéiert.

Reparéiert d'Schicht, déi versot huet

Reparéiert d'Schicht, déi versot huet, net den Tunnel. En onereechbaren loopback-Nolauschterer brauch eng Korrektur vu sengem Nolauschterer oder sengem Port. En onvertraut Zertifikat brauch d'Firmenwuerzel installéiert do, wou déi spezifesch Laufzäit kuckt, mat der Ausnam enk gehal. E Filter, deen lokalen Trafic fale léisst, brauch eng spezifesch Erlaabnesregel amplaz vun engem deaktivéierte Filter, well d'Deaktivéiere och alles anescht erëm opmécht, wat en geschützt huet.

D'VPN nei verbannen testet keng vun dësen Schichten. Et leeft just d'Ännerung nach eng Kéier, déi se gebrach huet, dofir komme déiselwecht dräi Feeler no all Verbindung zréck a verschwanne no all Neistart, dee de Client inaktiv léisst.

Ähnlech Artikelen