UDP праз SOCKS-порт Tor: што не перадаецца
Інтэрфейс SOCKS у Tor прымае патокавыя злучэнні, а не адвольныя датаграмы. Выканайце праверку па парадку, затым выбірайце транспарт, які праграма сапраўды падтрымлівае.
Направіць праграму на 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 звычайна падыходзіць лепш: ён перадае пакеты праграмы, не патрабуючы ад яе гаварыць на мове пратакола проксі, за кошт зусім іншых уласцівасцей ананімнасці. Выкарыстоўвайце кожны інструмент для таго, што ён дакументуе, і стаўцеся да любога моста паміж імі як да асобнай сістэмы, якая патрабуе ўласнага агляду. Запішыце ў канчатковай справаздачы, які ўзровень перадае які транспарт, каб наступны чалавек не пераадкрыў тую ж мяжу з іншай праграмай.