Firefox mieri na 127.0.0.1:8000, hrana N2N je aktívna, peer odpovedá na ping na svojej overlay adrese a prehliadač stále hlási, že proxy odmietla spojenie. V tom reťazci nie je nič protirečivé. Overlay dáva hostiteľovi dosiahnuteľnú adresu v súkromnej sieti; nevytvára proces, ktorý hovorí protokolom proxy. Prehliadač nežiada trasu k peerovi. Žiada lokálny listener.

Tu sa pletú dve spojenia a ich samostatné nakreslenie vyjasní väčšinu zmätku za minútu.

Dve spojenia, nie jedno

Prvé spojenie vedie z prehliadača k tomu, čo počúva na loopback porte. To je lokálny socket, a ak ho nič nevlastní, spojenie je odmietnuté skôr, než jediný paket dorazí do N2N. Druhé vedie z procesu proxy k originu, ktorý sťahuje. Tú cestu vyberá smerovacia tabuľka hostiteľa proxy, a môže to byť bežný uplink, iný tunel alebo policy route, ktorá s overlay nemá nič spoločné.

Ping na peera dokazuje, že overlay dokáže doručovať pakety medzi adresami hrán. Nič nedokazuje o listeneri na porte 8000 ani o tom, či sa tento hostiteľ dostane k originu. Oddelené poruchy, oddelené opravy.

Kde musí listener žiť

Proxy naviazaná na 127.0.0.1 je zámerne lokálna: prijíma spojenia len zo stroja, na ktorom beží. To je správne predvolené nastavenie pre osobnú proxy a nesprávny tvar na jej zdieľanie cez overlay. Obsluha peerov overlaya vyžaduje buď bind adresu na rozhraní overlaya, alebo forwardovací komponent, ktorý ukončí loopback spojenie a prepošle ho. V každom prípade by explicitná politika mala rozhodnúť, ktoré zdroje overlaya smú službu používať, pretože otvorená proxy v zdieľanej sieti je pozvánka.

Skutočný bind skontrolujte výpisom socketov, nie konfiguračným súborom. Démon spustený pred nábehom overlaya môže byť stále naviazaný na adresu, ktorá už neexistuje.

localhost nie je peer

V poli proxy v prehliadači localhost ukazuje na stroj samotného prehliadača. Nie je to hrana, nie je to supernode a nie je to hostiteľ na vzdialenom konci tunela. Ak proxy beží na inom peerovi, vložte do poľa dosiahnuteľnú overlay adresu a port tohto peera a potom overte, že listener prijíma spojenia z adresy vašej hrany.

Supernody pomáhajú hranám nájsť sa navzájom; nie sú to proxy služba. Zaobchádzanie s adresou supernody ako s koncovým bodom proxy dáva rovnaké odmietnutie s ďalším krokom zmätku.

Trasa nemôže vykonať handshake

Aj so správnou adresou nie je smerovanie proxying. Spojenie HTTP proxy začína požiadavkou CONNECT alebo riadkom požiadavky v absolútnom tvare a proxy SOCKS začína vyjednávaním verzie a metódy. Router alebo overlay preposiela bajty; neparsuje tie správy ani za vás neotvorí nasledujúce spojenie. Preto trasa, ktorá funguje pre ping a SSH, môže u proxy v prehliadači zlyhať: prehliadač potrebuje spolupracujúci proces, nie len dosiahnuteľnosť.

Ak je cieľom len dosiahnuť službu na peerovi, odstráňte nastavenie proxy a použite overlay adresu služby priamo.

Testujte hranice po poriadku

Overte, že overlay adresa odpovedá, potom overte, že na nakonfigurovanom porte existuje listener, a poznamenajte si jeho bind adresu. Urobte jednu riadenú požiadavku a prečítajte log proxy, aby ste vedeli, či je porucha v listeneri alebo v nasledujúcom sťahovaní. Nakoniec skontrolujte trasu hostiteľa proxy a politiku DNS pre origin.

Projekt N2N dokumentuje hrany a supernody ako komponenty overlaya. Nepremieňa hranu na aplikačnú proxy a žiadna konfigurácia smerovania nepridáva obsluhu protokolu, ktorú nikto nespustil.

Súvisiace články