Usmeravanje aplikacije na SOCKS port radi za pregledač, a ne radi za igru, i razlog nije konfiguracija. SOCKS5 definiše nekoliko naredbi, a implementacija je slobodna da podrži samo neke od njih; Torov interfejs prihvata strujne veze i razrešavanje imena, ne proizvoljno prosleđivanje datagrama. Klijent koji šalje UDP i očekuje da ih proxy prenese traži naredbu koju server ne implementira. Uputstvo ispod to proverava za nekoliko minuta, a zatim bira transport koji zaista može da radi.

Proverite šta aplikacija zaista šalje

Počnite prepoznavanjem transporta, a ne naziva protokola. Glasovni klijent može da se prijavi preko HTTPS-a i zatim prenosi medije preko UDP-a; igra može da se autentifikuje preko TCP-a i igra preko UDP-a; prenos datoteka može koristiti TCP za kontrolu i UDP za otkrivanje. Prva dva ponašanja izgledaju isto dok prijava ne uspe, a poziv i dalje ne radi, zato „povezao se“ nije dokaz da cela aplikacija radi. Neki klijenti se sami vraćaju sa UDP-a na TCP, što čini delimično radnu sesiju sličnom nestabilnoj mreži, a ne blokiranom transportu.

Zapišite odredišni port i transport za deo koji ne radi. Taj jedan red odlučuje može li proxy uopšte da pomogne.

Šta će Torov SOCKS interfejs prihvatiti

Tor implementira naredbu SOCKS5 CONNECT za strujne veze i ekstenzijske naredbe za razrešavanje imena, zato pregledač kroz njega radi nepromenjen. UDP ASSOCIATE, naredba koja bi klijentu omogućila da preda datagrame proxyju na prosleđivanje, nije deo onoga što Tor nudi. Dokumentacija za ekstenzije nalazi se u specifikaciji SOCKS ekstenzija projekta i kratka je. Odsustvo naredbe za datagrame je namerno: prosleđivanje proizvoljnog UDP-a dalo bi mreži ulogu prosleđivača za koju nikada nije bila projektovana.

To je i odgovor za WireGuard, koji je po dizajnu UDP i nema TCP rezervu. Ne postoji podržan put koji WireGuard usmerava na SOCKS port, i sve što tvrdi suprotno je omotač sa sopstvenom pričom o poverenju i održavanju, a ne osobina bilo kog od dva alata.

OpenVPN je delimična iznimka, jer može da se konfiguriše da tunelira preko TCP-a i razume SOCKS proxy opciju. To ipak zahteva server konfigurisan za TCP i svesnu odluku o posledicama na performanse i otisak, pa je to dizajnerski izbor, a ne popravka kompatibilnosti.

Pokrenite proveru po redu

Najpre potvrdite da proxy radi za struje, kako se kasniji neuspeh ne bi pripisao nedostupnom portu. Zatim potvrdite sopstveni saobraćaj aplikacije i pogledajte koje utičnice zaista otvara.

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'

Uspešna prva naredba i uspostavljena struja u drugom redu pokazuju da put kroz proxy radi kako je projektovan. Treća naredba traži lokalne utičnice za datagrame koje pripadaju aplikaciji; ako klijent otvori jednu i šalje izravno na udaljenu adresu, proxy nikada nije konsultovao i nikakvo proxy podešavanje to neće promeniti. Ako ne uspe na prvom koraku, zaustavite se i popravite put kroz proxy pre nego što istražite aplikaciju, jer dve greške odjednom daju izveštaj sa kojim niko ne može da postupi.

Vratite unazad i izaberite pravi alat

Uklonite sve proxy promenljive okruženja ili proxy postavke po aplikaciji koje su usmeravale UDP klijenta na SOCKS port; ako ih ostavite, kasniji testovi postaju dvosmisleni. Vratite prethodnu konfiguraciju iz kopije, ponovo pokrenite aplikaciju i potvrdite da se izvorno ponašanje vraća kako bi poređenje bilo čisto. Vraćanje koje nije provereno samo je nada da se stanje promenilo.

Za transport koji mora ostati UDP, VPN je obično bolji izbor: prenosi pakete aplikacije ne tražeći od nje da govori proxy protokol, po ceni sasvim drugačijih svojstava anonimnosti. Koristite svaki alat za ono što dokumentuje i tretirajte svaki most između njih kao zaseban sistem koji treba sopstveni pregled. Zapišite u završnom izveštaju koji sloj prenosi koji transport, da sledeća osoba ne otkrije istu granicu sa drugom aplikacijom.

Povezani članci