N2N-ülekate ei ole puhverserver: joonista mõlemad ühendused
Ülekate jõuab peerini, samal ajal kui brauser saab endiselt keeldumise. See on puuduv kuulaja või vale sidumine, mitte N2N-i marsruutimise tõrge.
Firefox osutab 127.0.0.1:8000-le, N2N-i serv on üleval, peer vastab oma ülekatte aadressil pingile ja brauser teatab endiselt, et puhverserver keeldus ühendusest. Selles ahelas pole midagi vastuolulist. Ülekate annab hostile privaatvõrgus kättesaadava aadressi; see ei loo protsessi, mis räägiks puhverserveri protokolli. Brauser ei küsi marsruuti peerini. Ta küsib kohalikku kuulajat.
Siin aetakse segamini kaks ühendust, ja nende eraldi joonistamine selgitab suurema osa segadusest ühe minutiga.
Kaks ühendust, mitte üks
Esimene ühendus kulgeb brauserist selleni, mis kuulab loopback-pordil. See on kohalik sokkel, ja kui miski seda ei oma, keeldutakse ühendusest enne, kui ükski pakett N2N-ini jõuab. Teine kulgeb puhverserveri protsessist lähtekohani, mille see toob. Selle tee valib puhverserveri hosti marsruutimistabel, ja see võib olla tavaline ülesvooluühendus, teine tunnel või poliitikamarsruut, millel pole ülekattega midagi pistmist.
Peerile pingimine tõestab, et ülekate suudab pakette servaaadresside vahel edastada. See ei tõesta midagi kuulaja kohta pordil 8000 ega selle kohta, kas see host jõuab lähtekohani. Eraldi tõrked, eraldi parandused.
Kus kuulaja peab asuma
Aadressile 127.0.0.1 seotud puhverserver on meelega kohalik: see võtab ühendusi vastu ainult masinast, kus see töötab. See on personaalse puhverserveri õige vaikeväärtus ja vale kuju selle ülekatte kaudu jagamiseks. Ülekatte peeride teenindamiseks on vaja kas ülekatte liidesel sidumisaadressi või edastuskomponenti, mis lõpetab loopback-ühenduse ja edastab selle. Igal juhul peaks selgesõnaline poliitika otsustama, millised ülekatte allikad tohivad teenust kasutada, sest avatud puhverserver jagatud võrgus on kutse.
Kontrollige tegelikku sidumist socketite loendiga, mitte konfiguratsioonifailiga. Enne ülekatte tõusmist käivitatud deemon võib olla endiselt seotud aadressiga, mida enam ei ole.
localhost ei ole peer
Brauseri puhverserveri väljal osutab localhost brauseri enda masinale. See ei ole serv, mitte supernode ja mitte tunneli otsas olev host. Kui puhverserver töötab teisel peeril, pange väljale selle peeri kättesaadav ülekatte aadress ja port, seejärel kinnitage, et kuulaja võtab ühendusi vastu teie serva aadressilt.
Supernode'id aitavad servadel üksteist leida; need ei ole puhverserveri teenus. Supernode'i aadressi käsitlemine puhverserveri otspunktina annab sama keeldumise koos täiendava segaduse sammuga.
Marsruut ei saa kätlust sooritada
Isegi õige aadressiga ei ole marsruutimine puhverserveriks olemine. HTTP-puhverserveri ühendus algab CONNECT-päringuga või absoluutvormis päringureaga ning SOCKS-puhverserver algab versiooni ja meetodi läbirääkimisega. Ruuter või ülekate edastab baite; see ei parsir neid sõnumeid ega ava teie eest edasist ühendust. Seetõttu võib pingi ja SSH jaoks töötav marsruut brauseri puhverserveri jaoks siiski ebaõnnestuda: brauser vajab koostööd tegevat protsessi, mitte ainult kättesaadavust.
Kui eesmärk on lihtsalt peeril olevale teenusele jõuda, eemaldage puhverserveri säte ja kasutage teenuse ülekatte aadressi otse.
Testige piire järjekorras
Kinnitage, et ülekatte aadress vastab, seejärel kinnitage, et konfigureeritud pordil on kuulaja, ja märkige üles selle sidumisaadress. Tehke üks kontrollitud päring ja lugege puhverserveri logi, et teada, kas tõrge on kuulajas või edasises toomises. Lõpuks kontrollige puhverserveri hosti marsruuti ja lähtekoha DNS-poliitikat.
N2N-projekt dokumenteerib servad ja supernode'id ülekatte komponentidena. See ei muuda serva rakenduse puhverserveriks ja ükski marsruutimiskonfiguratsioon ei lisa protokollitöötlejat, mida keegi ei käivitanud.