Firefox osoittaa 127.0.0.1:8000:hen, N2N-reuna on pystyssä, vertainen vastaa pingiin peiteverkko-osoitteessaan, ja selain ilmoittaa silti, että välityspalvelin hylkäsi yhteyden. Mikään tuossa ketjussa ei ole ristiriitaista. Peiteverkko antaa isännälle tavoitettavan osoitteen yksityisessä verkossa; se ei luo prosessia, joka puhuu välityspalvelimen protokollaa. Selain ei pyydä reittiä vertaiseen. Se pyytää paikallista kuuntelijaa.

Tässä sekoitetaan kaksi yhteyttä, ja niiden piirtäminen erikseen selvittää suurimman osan sekaannuksesta minuutissa.

Kaksi yhteyttä, ei yksi

Ensimmäinen yhteys kulkee selaimesta siihen, mikä kuuntelee loopback-portissa. Se on paikallinen socket, ja jos mikään ei omista sitä, yhteys hylätään ennen kuin yksikään paketti saavuttaa N2N:n. Toinen kulkee välityspalvelinprosessista lähteeseen, jonka se noutaa. Sen polun valitsee välityspalvelimen isännän reititystaulu, ja se voi olla tavallinen ylävirta, toinen tunneli tai käytäntöreitti, jolla ei ole mitään tekemistä peiteverkon kanssa.

Vertaisen pingaaminen todistaa, että peiteverkko voi toimittaa paketteja reunaosoitteiden välillä. Se ei todista mitään kuuntelijasta portissa 8000 eikä siitä, voiko kyseinen isäntä tavoittaa lähteen. Erilliset viat, erilliset korjaukset.

Missä kuuntelijan on elettävä

Osoitteeseen 127.0.0.1 sidottu välityspalvelin on tarkoituksella paikallinen: se hyväksyy yhteyksiä vain koneesta, jossa se toimii. Se on henkilökohtaisen välityspalvelimen oikea oletus ja väärä muoto sen jakamiseen peiteverkon yli. Peiteverkon vertaisten palveleminen vaatii joko sidontaosoitteen peiteverkon liitännässä tai edelleenlähetyskomponentin, joka lopettaa loopback-yhteyden ja välittää sen. Kummassakin tapauksessa nimenomaisen käytännön pitäisi päättää, mitkä peiteverkon lähteet saavat käyttää palvelua, koska avoin välityspalvelin jaetussa verkossa on kutsu.

Tarkista todellinen sidonta socket-luettelosta, älä asetustiedostosta. Ennen peiteverkon nousua käynnistetty daemon voi olla yhä sidottu osoitteeseen, jota ei enää ole.

localhost ei ole vertainen

Selaimen välityspalvelinkentässä localhost osoittaa selaimen omaan koneeseen. Se ei ole reuna, ei supernode eikä tunnelin kauimmassa päässä oleva isäntä. Jos välityspalvelin toimii toisessa vertaisessa, laita kenttään kyseisen vertaisen tavoitettava peiteverkko-osoite ja portti ja varmista sitten, että kuuntelija hyväksyy yhteyksiä reunaosoitteestasi.

Supernodet auttavat reunoja löytämään toisensa; ne eivät ole välityspalvelu. Supernoden osoitteen käsitteleminen välityspalvelimen päätepisteenä tuottaa saman hylkäyksen ylimääräisellä sekaannuksen askeleella.

Reitti ei voi suorittaa kättelyä

Vaikka osoite olisi oikein, reititys ei ole välittämistä. HTTP-välityspalvelinyhteys alkaa CONNECT-pyynnöllä tai ehdottomassa muodossa olevalla pyyntörivillä, ja SOCKS-välityspalvelin alkaa version ja menetelmän neuvottelulla. Reititin tai peiteverkko välittää tavuja; se ei jäsennä näitä viestejä eikä avaa seuraavaa yhteyttä puolestasi. Siksi reitti, joka toimii pingille ja SSH:lle, voi silti epäonnistua selaimen välityspalvelimelle: selain tarvitsee yhteistyöhaluisen prosessin, ei pelkkää tavoitettavuutta.

Jos tavoitteena on vain tavoittaa palvelu vertaisessa, poista välityspalvelinasetus ja käytä palvelun peiteverkko-osoitetta suoraan.

Testaa rajat järjestyksessä

Varmista, että peiteverkko-osoite vastaa, varmista sitten, että määritetyssä portissa on kuuntelija, ja kirjaa sen sidontaosoite. Tee yksi valvottu pyyntö ja lue välityspalvelimen loki, jotta tiedät, onko vika kuuntelijassa vai seuraavassa noudossa. Tarkista lopuksi välityspalvelimen isännän reitti ja lähteen DNS-käytäntö.

N2N-projekti dokumentoi reunat ja supernodet peiteverkon komponenteiksi. Se ei tee reunasta sovelluksen välityspalvelinta, eikä mikään reititysasetus lisää protokollankäsittelijää, jota kukaan ei käynnistänyt.

Aiheeseen liittyvät artikkelit