N2N overlay nije proxy: nacrtaj obje veze
Overlay može dosegnuti peer dok preglednik još uvijek dobiva odbijenicu. To je nedostajući listener ili pogrešan bind, a ne kvar usmjeravanja u N2N.
Firefox pokazuje na 127.0.0.1:8000, N2N edge je aktivan, peer odgovara na ping na svojoj overlay adresi, a preglednik i dalje javlja da je proxy odbio vezu. Ništa u tom lancu nije proturječno. Overlay daje hostu dostupnu adresu na privatnoj mreži; on ne stvara proces koji govori proxy protokol. Preglednik ne traži rutu do peera. On traži lokalni listener.
Ovdje se brkaju dvije veze, a njihovo odvojeno crtanje razrješava većinu zabune u minuti.
Dvije veze, ne jedna
Prva veza ide od preglednika do onoga što sluša na loopback portu. To je lokalni socket, i ako ga ništa ne posjeduje, veza se odbija prije nego i jedan paket stigne do N2N. Druga ide od proxy procesa do izvora koji dohvaća. Taj put bira usmjerivačka tablica proxy hosta, a to može biti uobičajeni uplink, drugi tunel ili policy ruta koja nema nikakve veze s overlayem.
Pinganje peera dokazuje da overlay može dostavljati pakete između edge adresa. Ne dokazuje ništa o listeneru na portu 8000, ni o tome može li taj host dosegnuti izvor. Odvojeni kvarovi, odvojene popravke.
Gdje listener mora živjeti
Proxy vezan na 127.0.0.1 namjerno je lokalni: prihvaća veze samo sa stroja na kojem radi. To je ispravan zadani izbor za osobni proxy i pogrešan oblik za dijeljenje preko overlaya. Posluživanje overlay peerova zahtijeva ili bind adresu na overlay sučelju ili komponentu za prosljeđivanje koja prekida loopback vezu i prosljeđuje je. U svakom slučaju, eksplicitna politika treba odlučiti koji overlay izvori smiju koristiti uslugu, jer je otvoreni proxy na dijeljenoj mreži pozivnica.
Provjerite stvarni bind popisom socketa, a ne konfiguracijskom datotekom. Daemon pokrenut prije nego što je overlay podignut može još uvijek biti vezan na adresu koja više ne postoji.
localhost nije peer
U polju proxyja u pregledniku localhost pokazuje na vlastiti stroj preglednika. To nije edge, nije supernode i nije host na dalekom kraju tunela. Ako proxy radi na drugom peeru, stavite dostupnu overlay adresu i port tog peera u polje, zatim potvrdite da listener prihvaća veze s vaše edge adrese.
Supernodeovi pomažu edgeovima da pronađu jedan drugoga; oni nisu proxy usluga. Tretiranje supernode adrese kao proxy odredišta daje istu odbijenicu s dodatnim skokom zabune.
Ruta ne može izvesti rukovanje
Čak i s ispravnom adresom, usmjeravanje nije proxyiranje. HTTP proxy veza počinje CONNECT zahtjevom ili zahtjevnom linijom apsolutnog oblika, a SOCKS proxy počinje pregovorom o verziji i metodi. Usmjerivač ili overlay prosljeđuje bajtove; on ne analizira te poruke i ne otvara sljedeću vezu umjesto vas. Zato ruta koja radi za ping i SSH može ipak zakazati za proxy u pregledniku: pregledniku treba proces koji surađuje, a ne samo dostupnost.
Ako je cilj samo dosegnuti uslugu na peeru, uklonite postavku proxyja i izravno upotrijebite overlay adresu usluge.
Testirajte granice redom
Potvrdite da overlay adresa odgovara, zatim potvrdite da na konfiguriranom portu postoji listener i zabilježite njegovu bind adresu. Napravite jedan kontrolirani zahtjev i pročitajte proxyjev dnevnik, kako biste znali je li kvar na listeneru ili pri daljnjem dohvaćanju. Na kraju provjerite rutu proxy hosta i DNS politiku za izvor.
Projekt N2N dokumentira edgeove i supernodeove kao overlay komponente. On ne pretvara edge u aplikacijski proxy, i nijedna konfiguracija usmjeravanja ne dodaje rukovatelja protokolom kojeg nitko nije pokrenuo.