N2N pārklājums nav starpniekserveris: uzzīmējiet abus savienojumus
Pārklājums var sasniegt partneri, kamēr pārlūkprogramma joprojām saņem atteikumu. Tas ir trūkstošs klausītājs vai nepareizs bind, nevis N2N maršrutēšanas kļūda.
Firefox norāda uz 127.0.0.1:8000, N2N mala darbojas, partneris atbild uz ping savā pārklājuma adresē, un pārlūkprogramma joprojām ziņo, ka starpniekserveris atteica savienojumu. Šajā ķēdē nekas nav pretrunīgs. Pārklājums piešķir resursdatoram sasniedzamu adresi privātā tīklā; tas neveido procesu, kas runā starpniekservera protokolā. Pārlūkprogramma neprasa maršrutu uz partneri. Tā prasa vietēju klausītāju.
Šeit tiek sajaukti divi savienojumi, un to atsevišķa uzzīmēšana novērš lielāko daļu apjukuma vienas minūtes laikā.
Divi savienojumi, nevis viens
Pirmais savienojums iet no pārlūkprogrammas uz to, kas klausās loopback portā. Tas ir vietējs socket, un, ja nekas to neapkalpo, savienojums tiek atteikts, pirms pat viens pakets sasniedz N2N. Otrais iet no starpniekservera procesa uz oriģinālu, ko tas iegūst. Šo ceļu izvēlas starpniekservera resursdatora maršrutēšanas tabula, un tas var būt parastais uplink, cits tunelis vai politikas maršruts, kam nav nekāda sakara ar pārklājumu.
Ping uz partneri pierāda, ka pārklājums var piegādāt paketus starp malas adresēm. Tas neko nepierāda par klausītāju 8000 portā un neko par to, vai šis resursdators var sasniegt oriģinālu. Atsevišķi bojājumi, atsevišķi labojumi.
Kur klausītājam jādzīvo
Starpniekserveris, kas piesaistīts 127.0.0.1, apzināti ir vietējs: tas pieņem savienojumus tikai no mašīnas, kurā darbojas. Tas ir pareizais noklusējums personīgam starpniekserverim un nepareizā forma tā koplietošanai pār pārklājumu. Lai apkalpotu pārklājuma partnerus, ir vajadzīga vai nu bind adrese pārklājuma saskarnē, vai pārsūtīšanas komponente, kas izbeidz loopback savienojumu un pārsūta to. Jebkurā gadījumā skaidrai politikai jāizlemj, kuri pārklājuma avoti drīkst izmantot pakalpojumu, jo atvērts starpniekserveris koplietotā tīklā ir ielūgums.
Pārbaudiet faktisko bind ar socket sarakstu, nevis konfigurācijas failu. Dēmons, kas palaists pirms pārklājuma pacelšanas, joprojām var būt piesaistīts adresei, kuras vairs nav.
localhost nav partneris
Pārlūkprogrammas starpniekservera laukā localhost norāda uz pašas pārlūkprogrammas mašīnu. Tas nav mala, nav supernode un nav resursdators tuneļa tālajā galā. Ja starpniekserveris darbojas citā partnerī, ievietojiet laukā šī partnera sasniedzamo pārklājuma adresi un portu, pēc tam pārliecinieties, ka klausītājs pieņem savienojumus no jūsu malas adreses.
Supernode palīdz malām atrast vienai otru; tie nav starpniekservera pakalpojums. Supernode adreses uzskatīšana par starpniekservera galapunktu dod tādu pašu atteikumu ar papildu apjukuma soli.
Maršruts nevar veikt handshake
Pat ar pareizu adresi maršrutēšana nav starpniekošana. HTTP starpniekservera savienojums sākas ar CONNECT pieprasījumu vai pieprasījuma rindu absolūtā formā, un SOCKS starpniekserveris sākas ar versijas un metodes sarunām. Maršrutētājs vai pārklājums pārsūta baitus; tas neanalizē šos ziņojumus un neatver nākamo savienojumu jūsu vietā. Tāpēc maršruts, kas darbojas ping un SSH, joprojām var neizdoties pārlūkprogrammas starpniekserverim: pārlūkprogrammai vajadzīgs sadarbojošs process, nevis tikai sasniedzamība.
Ja mērķis ir vienkārši sasniegt pakalpojumu partnerī, noņemiet starpniekservera iestatījumu un izmantojiet pakalpojuma pārklājuma adresi tieši.
Pārbaudiet robežas secībā
Pārliecinieties, ka pārklājuma adrese atbild, pēc tam pārliecinieties, ka konfigurētajā portā ir klausītājs, un pierakstiet tā bind adresi. Veiciet vienu kontrolētu pieprasījumu un izlasiet starpniekservera žurnālu, lai zinātu, vai kļūda ir klausītājā vai turpmākajā iegūšanā. Visbeidzot pārbaudiet starpniekservera resursdatora maršrutu un oriģināla DNS politiku.
N2N projekts dokumentē malas un supernode kā pārklājuma komponentes. Tas nepārvērš malu par lietojumprogrammas starpniekserveri, un neviena maršrutēšanas konfigurācija nepievieno protokola apdarinātāju, ko neviens nav palaidis.