Å peike eit program mot ein SOCKS-port fungerer for ein nettlesar og feilar for eit spel, og årsaka er ikkje konfigurasjon. SOCKS5 definerer fleire kommandoar, og ein implementasjon står fritt til å støtte berre nokre av dei; grensesnittet til Tor tek imot straumtilkoplingar og namneoppslag, ikkje vilkårleg videresending av datagram. Ein klient som sender UDP og ventar at proxyen videresender det, ber om ein kommando serveren ikkje implementerer. Retteleiinga nedanfor kontrollerer dette på nokre minutt og vel deretter ein transport som faktisk kan fungere.

Kontroller kva programmet faktisk sender

Byrja med å identifisere transporten i staden for protokollnamnet. Ein taleklient kan logge inn over HTTPS og deretter bere mediet over UDP; eit spel kan autentisere over TCP og spele over UDP; ei filoverføring kan bruke TCP til kontroll og UDP til oppdaging. Dei to første åtferdene ser identiske ut heilt til innlogginga lukkast og samtalen framleis feilar, og difor er «det kopla til» ikkje bevis for at heile programmet verkar. Nokre klientar fell òg av seg sjølv tilbake frå UDP til TCP, noko som får ei delvis fungerande økt til å sjå ut som eit ustabilt nettverk i staden for ein blokkert transport.

Skriv ned målporten og transporten for den delen som feilar. Den eine linja avgjer om ein proxy i det heile kan hjelpe.

Kva grensesnittet til Tor tek imot

Tor implementerer kommandoen SOCKS5 CONNECT for straumtilkoplingar og utvidingskommandoar for namneoppslag, og difor verkar ein nettlesar gjennom det utan endringar. UDP ASSOCIATE, kommandoen som ville late ein klient overlate datagram til proxyen for videresending, er ikkje ein del av det Tor tilbyr. Dokumentasjonen for utvidingane finst i spesifikasjonen for SOCKS-utvidingar til prosjektet, og han er kort. Fråværet av ein datagramkommando er medvite: videresending av vilkårleg UDP ville gje nettverket ei videresendarrolle det aldri var designa for.

Dette er òg svaret for WireGuard, som er UDP av design og ikkje har nokon TCP-fallback. Det finst ingen støtta veg som peikar WireGuard mot ein SOCKS-port, og alt som hevdar noko anna er ei innpakning med si eiga historie om tillit og vedlikehald, ikkje ein funksjon i nokon av dei to verktya.

OpenVPN er det delvise unntaket, fordi det kan konfigurerast til å tunnelere over TCP og det forstår eit SOCKS-proxyval. Det krev framleis ein server konfigurert for TCP og eit medvite val om konsekvensane for yting og fingeravtrykk, så det er eit designval og ikkje ei kompatibilitetsretting.

Køyr kontrollen i rekkefølgje

Stadfest først at proxyen verkar for straumar, slik at ein seinare feil ikkje kan skuldast på ein uoppnåeleg port. Stadfest deretter den eigen trafikken til programmet, og legg merke til kva sockets det faktisk opnar.

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'

Ein vellukka første kommando og ein etablert straum i andre linje viser at proxyvegen verkar som designa. Den tredje kommandoen leitar etter lokale datagram-sockets som høyrer til programmet; dersom klienten opnar ein og sender direkte til ei ekstern adresse, har han aldri spurt proxyen, og ingen proxyinnstilling vil endre det. Dersom det feilar allereie på første trinn, stopp og reparer proxyvegen før du granskar programmet, fordi to feil samstundes gjev ein rapport ingen kan handle på.

Rull tilbake og vel rett verkty

Fjern alle proxy-miljøvariablar eller proxyinnstillingar per program som peika UDP-klienten mot SOCKS-porten; å la dei stå gjer seinare testar tvitydige. Gjenopprett den førre konfigurasjonen frå ein kopi, start programmet på nytt og stadfest at den opphavlege åtferda kjem tilbake, slik at samanlikninga blir rein. Ei tilbakerulling som ikkje er verifisert, er berre eit håp om at tilstanden endra seg.

For ein transport som må halde fram som UDP, passar ein VPN vanlegvis betre: det ber pakkane til programmet utan å krevje at programmet snakkar ein proxyprotokoll, mot at heilt andre anonymitetseigenskapar følgjer med. Bruk kvart verkty til det det dokumenterer, og handsam kvar bru mellom dei som eit eige system som treng si eiga gjennomgang. Skriv i sluttrapporten kva lag som ber kva transport, slik at neste person ikkje oppdagar den same grensa på nytt med eit anna program.

Relaterte artiklar