Насочувањето на апликација кон SOCKS порта работи за прелистувач и не успева за игра, а причината не е конфигурацијата. SOCKS5 дефинира неколку команди, а имплементацијата е слободна да поддржува само некои од нив; интерфејсот на Tor прифаќа струјни врски и разрешување имиња, а не произволно препраќање на датаграми. Клиент што праќа UDP и очекува посредникот да го пренесе бара команда што серверот не ја имплементира. Упатството подолу го проверува тоа за неколку минути и потоа избира транспорт што навистина може да работи.

Проверете што всушност праќа апликацијата

Започнете со идентификување на транспортот, а не со името на протоколот. Гласовен клиент може да се најави преку HTTPS и потоа да го пренесува медиумот преку UDP; игра може да се автентицира преку TCP и да игра преку UDP; пренос на датотеки може да користи TCP за контрола и UDP за откривање. Првите две однесувања изгледаат исто додека најавата не успее, а повикот сѐ уште не успева, затоа „се поврза“ не е доказ дека работи целата апликација. Некои клиенти сами се враќаат од UDP на TCP, што прави делумно работна сесија да изгледа како нестабилна мрежа, а не како блокиран транспорт.

Запишете ја целната порта и транспортот за делот што не успева. Токму таа една линија одлучува дали посредникот воопшто може да помогне.

Што ќе прифати SOCKS интерфејсот на Tor

Tor ја имплементира командата SOCKS5 CONNECT за струјни врски и командите за проширување за разрешување имиња, затоа прелистувачот работи преку него без промена. UDP ASSOCIATE, командата што би му овозможила на клиентот да му ги предаде датаграмите на посредникот за препраќање, не е дел од она што Tor го нуди. Документацијата за проширувањата е во спецификацијата за SOCKS проширувања на проектот и е кратка. Отсуството на команда за датаграми е намерно: препраќањето произволен UDP би ѝ дало на мрежата улога на препраќач за која никогаш не била проектирана.

Ова е и одговорот за WireGuard, кој по дизајн е UDP и нема резервен пат преку TCP. Нема поддржан пат што го насочува WireGuard кон SOCKS порта, а сѐ што тврди спротивното е обвивка со сопствена приказна за доверба и одржување, а не функција на кој било од двата алати.

OpenVPN е делумен исклучок, бидејќи може да се конфигурира да тунелира преку TCP и ја разбира опцијата за SOCKS посредник. Тоа сѐ уште бара сервер конфигуриран за TCP и свесна одлука за последиците врз перформансите и отпечатокот, па тоа е дизајнерски избор, а не поправка на компатибилноста.

Извршете ја проверката по ред

Прво потврдете дека посредникот работи за струи, за да не се припише подоцнежниот неуспех на недостапна порта. Потоа потврдете го сопствениот сообраќај на апликацијата и забележете кои сокети навистина ги отвора.

curl --socks5-hostname 127.0.0.1:9050 -sS https://check.torproject.org/api/ip
ss -tupn | grep 9050
ss -aun | grep -E ':(3478|5060|27015)\b'

Успешната прва команда и воспоставената струја во вториот ред покажуваат дека патот преку посредникот работи како што е проектиран. Третата команда бара локални сокети за датаграми што ѝ припаѓаат на апликацијата; ако клиентот отвори еден и праќа директно до оддалечена адреса, никогаш не го прашал посредникот и ниедно поставување на посредникот тоа нема да го смени. Ако не успее уште на првиот чекор, запрете и поправете го патот преку посредникот пред да ја истражувате апликацијата, бидејќи две грешки истовремено даваат извештај со кој никој не може да постапи.

Вратете назад и изберете го вистинскиот алат

Отстранете ги сите променливи на околината за посредник или поставувања на посредник по апликација што го насочуваа UDP клиентот кон SOCKS портата; ако ги оставите, подоцнежните тестови стануваат двосмислени. Вратете ја претходната конфигурација од копија, рестартирајте ја апликацијата и потврдете дека првичното однесување се враќа за споредбата да биде чиста. Непровереното враќање е само надеж дека состојбата се сменила.

За транспорт што мора да остане UDP, VPN обично е посоодветен: ги пренесува пакетите на апликацијата без да бара од неа да зборува протокол за посредник, по цена на сосема поинакви својства на анонимноста. Користете го секој алат за она што го документира и третирајте го секој мост меѓу нив како одделен систем што бара сопствен преглед. Запишете во завршниот извештај кој слој пренесува кој транспорт, за да не го открие следниот човек истиот случај со друга апликација.

Поврзани статии