N2N perdanga nėra proxy: nubrėžkite abu ryšius
Perdanga gali pasiekti partnerį, o naršyklė vis tiek gauna atmetimą. Tai trūkstamas klausytojas arba neteisingas bind, o ne N2N maršrutizavimo gedimas.
Firefox nurodo 127.0.0.1:8000, N2N kraštas veikia, partneris atsako į ping savo perdangos adresu, o naršyklė vis dar praneša, kad proxy atmetė ryšį. Šioje grandinėje nieko prieštaringo nėra. Perdanga suteikia mazgui pasiekiamą adresą privačiame tinkle; ji nesukuria proceso, kuris kalba proxy protokolu. Naršyklė neprašo maršruto į partnerį. Ji prašo vietinio klausytojo.
Čia painiojami du ryšiai, o nubrėžus juos atskirai didžioji dalis painiavos išnyksta per minutę.
Du ryšiai, o ne vienas
Pirmasis ryšys eina nuo naršyklės iki to, kas klausosi loopback prievade. Tai vietinis socket, ir jei niekas jo neturi, ryšys atmetamas dar prieš vienam paketui pasiekiant N2N. Antrasis eina nuo proxy proceso iki šaltinio, kurį jis gauna. Tą kelią parenka proxy mazgo maršrutizavimo lentelė, ir tai gali būti įprasta uplink linija, kitas tunelis arba politikos maršrutas, neturintis nieko bendra su perdanga.
Ping į partnerį įrodo, kad perdanga gali perduoti paketus tarp krašto adresų. Tai nieko neįrodo apie klausytoją 8000 prievade ir nieko apie tai, ar tas mazgas gali pasiekti šaltinį. Atskiri gedimai, atskiri pataisymai.
Kur turi gyventi klausytojas
Proxy, susietas su 127.0.0.1, sąmoningai yra vietinis: jis priima ryšius tik iš mašinos, kurioje veikia. Tai teisinga numatytoji reikšmė asmeniniam proxy ir netinkama forma norint jį bendrinti per perdangą. Perdangos partneriams aptarnauti reikia arba bind adreso perdangos sąsajoje, arba persiuntimo komponento, kuris užbaigia loopback ryšį ir jį perduoda. Bet kuriuo atveju aiški politika turėtų nuspręsti, kurie perdangos šaltiniai gali naudotis paslauga, nes atviras proxy bendrame tinkle yra kvietimas.
Tikrąjį bind patikrinkite socket sąrašu, o ne konfigūracijos failu. Daemonas, paleistas prieš perdangai pakylant, gali vis dar būti susietas su adresu, kurio nebėra.
localhost nėra partneris
Naršyklės proxy lauke localhost nurodo pačios naršyklės mašiną. Tai nėra kraštas, nėra supernode ir nėra mazgas tolimajame tunelio gale. Jei proxy veikia kitame partneryje, įrašykite į lauką to partnerio pasiekiamą perdangos adresą ir prievadą, tada patvirtinkite, kad klausytojas priima ryšius iš jūsų krašto adreso.
Supernode padeda kraštams rasti vienas kitą; jie nėra proxy paslauga. Supernode adreso traktavimas kaip proxy galinio taško duoda tą patį atmetimą su papildomu painiavos žingsniu.
Maršrutas negali atlikti handshake
Net ir su teisingu adresu, maršrutizavimas nėra proxing. HTTP proxy ryšys prasideda CONNECT užklausa arba absoliučios formos užklausos eilute, o SOCKS proxy prasideda versijos ir metodo derybomis. Maršrutizatorius arba perdanga persiunčia baitus; jis neanalizuoja tų pranešimų ir neatidaro tolesnio ryšio už jus. Štai kodėl maršrutas, veikiantis ping ir SSH, vis tiek gali nepavykti naršyklės proxy: naršyklei reikia bendradarbiaujančio proceso, o ne vien pasiekiamumo.
Jei tikslas yra tiesiog pasiekti partnerio paslaugą, pašalinkite proxy nustatymą ir naudokite paslaugos perdangos adresą tiesiogiai.
Tikrinkite ribas iš eilės
Patvirtinkite, kad perdangos adresas atsako, tada patvirtinkite, kad sukonfigūruotame prievade yra klausytojas, ir užrašykite jo bind adresą. Atlikite vieną kontroliuojamą užklausą ir perskaitykite proxy žurnalą, kad žinotumėte, ar gedimas yra klausytoje, ar tolesniame gavime. Galiausiai patikrinkite proxy mazgo maršrutą ir šaltinio DNS politiką.
N2N projektas dokumentuoja kraštus ir supernode kaip perdangos komponentus. Jis nepaverčia krašto programos proxy, ir jokia maršrutizavimo konfigūracija neprideda protokolo apdorotojo, kurio niekas nepaleido.