N2N давхарга нь прокси биш: хоёр холболтыг зур
Давхарга нь хань руу хүрч чадах ч хөтөч нь татгалзал хүлээсээр байна. Энэ нь сонсогч байхгүй эсвэл буруу bind гэсэн үг, N2N-ийн чиглүүлэлтийн алдаа биш.
Firefox 127.0.0.1:8000 руу зааж байна, N2N ирмэг ажиллаж байна, хань нь өөрийн давхаргын хаяг дээр ping-д хариулж байна, гэвч хөтөч прокси холболтыг татгалзсан гэж мэдээлсээр байна. Энэ гинжид ямар ч зөрчил байхгүй. Давхарга нь хостод хувийн сүлжээнд хүрэх боломжтой хаяг өгдөг; энэ нь прокси протоколоор ярьдаг процесс үүсгэдэггүй. Хөтөч хань руу чиглэл гуйхгүй байна. Тэр локал сонсогч гуйж байна.
Энд хоёр холболт андуурч байна, тэдгээрийг тусад нь зурах нь будлианы ихэнхийг нэг минутад тодруулна.
Хоёр холболт, нэг биш
Эхний холболт хөтчөөс loopback порт дээр сонсож буй зүйл рүү явна. Энэ нь локал сокет бөгөөд хэрэв үүнийг эзэмших зүйл байхгүй бол нэг ч пакет N2N-д хүрэхээс өмнө холболт татгалзагдана. Хоёр дахь нь прокси процессоос түүний авч буй эх рүү явна. Тэр замыг прокси хостын чиглүүлэлтийн хүснэгт сонгох бөгөөд энэ нь ердийн uplink, өөр туннель эсвэл давхаргатай ямар ч хамаагүй бодлогын зам байж болно.
Хань руу ping хийх нь давхарга ирмэгийн хаягуудын хооронд пакет хүргэж чадахыг батална. Энэ нь 8000 порт дээрх сонсогчийн талаар юу ч батлахгүй, тэр хост эх рүү хүрч чадах эсэхийг ч батлахгүй. Тусдаа эвдрэл, тусдаа засвар.
Сонсогч хаана амьдрах ёстой
127.0.0.1-д бэхлэгдсэн прокси санаатайгаар локал: энэ нь ажиллаж буй машинаас л холболт хүлээн авна. Энэ нь хувийн проксид зөв өгөгдмөл бөгөөд давхаргаар хуваалцахад буруу хэлбэр юм. Давхаргын хань нарт үйлчлэхийн тулд давхаргын интерфейс дээрх bind хаяг эсвэл loopback холболтыг дуусгаж дамжуулдаг компонент хэрэгтэй. Ямар ч тохиолдолд хуваалцсан сүлжээнд нээлттэй прокси урилга учраас аль давхаргын эх сурвалж үйлчилгээг ашиглаж болохыг тодорхой бодлого шийдэх ёстой.
Бодит bind-ийг конфигурацийн файл биш сокетуудын жагсаалтаар шалгана уу. Давхарга босохоос өмнө эхэлсэн демон одоо байхгүй хаягт бэхлэгдсэн хэвээр байж болно.
localhost бол хань биш
Хөтчийн прокси талбарт localhost нь хөтчийн өөрийн машиныг заана. Энэ нь ирмэг ч биш, супернод ч биш, туннелийн алслагдсан төгсгөлийн хост ч биш. Хэрэв прокси өөр хань дээр ажиллаж байгаа бол тэр хань руу хүрэх боломжтой давхаргын хаяг, портыг талбарт оруулаад, сонсогч таны ирмэгийн хаягаас холболт хүлээн авдаг гэдгийг батална уу.
Супернодууд ирмэгүүдэд бие биенээ олоход тусалдаг; тэд прокси үйлчилгээ биш. Супернодын хаягийг прокси төгсгөлийн цэг гэж үзэх нь мөн тэр татгалзалыг нэмэлт будлианы алхамтай өгнө.
Чиглэл handshake хийж чадахгүй
Хаяг зөв байсан ч чиглүүлэлт нь прокси хийх биш. HTTP прокси холболт нь CONNECT хүсэлт эсвэл абсолют хэлбэрийн хүсэлтийн мөрөөр эхэлдэг, SOCKS прокси нь хувилбар, аргын хэлэлцээрээр эхэлдэг. Чиглүүлэгч эсвэл давхарга байтуудыг дамжуулдаг; энэ нь тэдгээр мессежийг шинжлэхгүй, таны өмнөөс дараагийн холболтыг нээхгүй. Тиймээс ping болон SSH-д ажилладаг зам хөтчийн проксид бүтэлгүйтэж болно: хөтөчд хамтран ажилладаг процесс хэрэгтэй, зөвхөн хүрэх боломж биш.
Зорилго нь зөвхөн хань дээрх үйлчилгээнд хүрэх бол прокси тохиргоог хасаж, үйлчилгээний давхаргын хаягийг шууд ашиглана уу.
Хязгааруудыг дарааллаар шалгана уу
Давхаргын хаяг хариулж байгааг баталж, дараа нь тохируулсан порт дээр сонсогч байгааг баталж, түүний bind хаягийг тэмдэглэнэ үү. Нэг хяналттай хүсэлт хийж проксигийн лог уншина уу, алдаа сонсогч дээр эсвэл дараагийн таталт дээр байгааг мэдэхийн тулд. Эцэст нь прокси хостын чиглэл болон эх сурвалжийн DNS бодлогыг шалгана уу.
N2N төсөл ирмэгүүд болон супернодуудыг давхаргын бүрэлдэхүүн хэсэг гэж баримтжуулдаг. Энэ нь ирмэгийг аппликейшн прокси болгодоггүй бөгөөд ямар ч чиглүүлэлтийн тохиргоо хэн ч эхлүүлээгүй протоколын зохицуулагч нэмдэггүй.