Overlay N2N nie je proxy: nakreslite obe spojenia
Overlay dosiahne peer, zatiaľ čo prehliadač stále dostáva odmietnutie. To je chýbajúci listener alebo nesprávny bind, nie zlyhanie smerovania v N2N.
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.