Tiek VPN, tiek tiesioginis proxy keičia adresą, kurį mato svetainė, ir čia dauguma palyginimų sustoja. Skirtumas, lemiantis jūsų sąranką, yra aprėptis: tiesioginis proxy yra tarpininkas, kurį naudoti pasirenka pati programa, priešingai nei atvirkštinis proxy, stovintis prieš svetainę, o VPN perkelia viską, ką operacinė sistema maršrutuoja į tunelį. Šifravimas, DNS tvarkymas ir elgsena gedimo atveju kyla būtent iš šio padalijimo. Atlikite šiuos penkis patikrinimus iš eilės, ir pirmasis, kuris nepavyks, pasakys, kokio įrankio jums iš tikrųjų reikia.

Kokias programas apima tarpininkas?

Naršyklės proxy plėtinys galioja tik tam naršyklės profiliui. Pašto klientai, paketų tvarkyklės ir antroji naršyklė toliau naudoja savo nustatymus, o kai kurios programos visiškai nepaiso sistemos proxy kintamųjų. VPN apima tai, ką maršrutavimo lentelė siunčia į tunelį, ir tai gali būti visos programos arba porinkis, kai tunelis skaidomas, priklausomai nuo maršrutų ir kliento politikos.

Bandykite programas, kurios svarbios, o ne darykite išvadas iš vieno puslapio įkėlimo. curl https://ifconfig.me vadovaujasi aplinkos proxy kintamaisiais; darbalaukio programa gali ir nesivadovauti. Windows sistemoje netsh winhttp show proxy išspausdina WinHTTP proxy, kurį naudoja tarnybos, ir tai yra kitas nustatymas nei naršyklės.

Ar šuolis užšifruotas, ir kur baigiasi TLS?

Proxy protokolas yra susitikimo vieta, o ne garantija. SOCKS5 persiunčia TCP jo neužšifruodamas, o paprastas HTTP proxy perduoda užklausos eilutę ir antraštes atviru tekstu. HTTPS per proxy naudoja CONNECT, todėl jūsų TLS sesija vis tiek baigiasi paskirties vietoje, o ne proxy serveryje. MDN vadovas apie proxy serverius ir tuneliavimą apibūdina šį skirtumą iš protokolo pusės.

VPN užšifruoja atkarpą tarp jūsų įrenginio ir jo galinio taško. Už galinio taško galioja tos pačios taisyklės kaip bet kuriame kitame tinkle, todėl vien tunelis neapsaugo programos, kuri siunčia prisijungimo duomenis paprastu HTTP. Nė vienas dizainas neslepia prisijungusios paskyros, slapuko ar naršyklės pirštų atspaudo.

curl -v -x http://127.0.0.1:3128 https://example.com/ -o /dev/null
curl -v -x socks5h://127.0.0.1:1080 https://example.com/ -o /dev/null

Išsami išvestis parodo, ar curl išsiuntė CONNECT į 443 prievadą, ar paprastą GET su visu URL. Naudojant socks5h:// prieglobos vardas perduodamas proxy serveriui SOCKS5 užklausos viduje, o po to jis persiunčia TLS, kurio negali perskaityti, taigi mato vardą ir baitų skaičių. Per http:// proxy https:// URL yra CONNECT, todėl tas proxy taip pat mato paskirties vardą ir apimtį, bet ne užklausą ar atsakymo turinį.

Kuris sprendėjas mato vardą?

Vardų sprendimas gali vykti vietoje prieš užklausai išeinant, arba nuotoliniu būdu proxy serveryje. Naudojant curl, socks5h:// siunčia prieglobos vardą proxy serveriui, o socks5:// pirmiausia jį išsprendžia vietoje. Naršyklės proxy nustatymai siūlo panašią DNS parinktį, o PAC failai gali skirtingus prieglobus maršrutuoti skirtingai.

Du protokolai gali apeiti proxy be jokios klaidingos konfigūracijos. WebRTC renka kandidatus per STUN, o QUIC vykdo HTTP/3 per UDP, ko TCP proxy negali perduoti. Naršyklė grįš prie TCP, jei UDP 443 užblokuotas, todėl UDP 443 blokavimas prieglobos užkardoje (arba maršrutizatoriuje visam tinklui), o ne naršyklės vėliavėlė, yra patikimas būdas išlaikyti HTTP/3 proxy kelyje.

Tikrinkite sprendėją paskirties vietos požiūriu, o ne savo nešiojamojo kompiuterio. Užklausa, kuri atkeliauja su proxy išėjimo adresu, bet vietoje išspręstu vardu, vis tiek pasako vietiniam sprendėjui, kokias svetaines lankotės.

Kas atsitinka, kai tarpininkas sugenda?

Aiškus proxy sugenda užsidarydamas: sustabdykite proxy procesą, ir naršyklė ar programa grąžins ryšio klaidą, o ne eis tiesiogiai. PAC ir WPAD sąrankos yra tos, kurios sugenda atsiversdamos - jei scenarijaus negalima gauti, klientas grįžta prie DIRECT ir svetainė vėl mato jūsų tikrąjį adresą. VPN gali sugesti atsiversdamas arba užsidarydamas, priklausomai nuo kliento ir nuo to, ar aktyvus avarinis jungiklis ar užkardos taisyklė.

Išbandykite gedimo atvejį tyčia: sustabdykite proxy tarnybą ir įkelkite iš naujo; jei gaunate klaidos puslapį, o ne tiesioginį įkėlimą, nukreipkite PAC URL į nepasiekiamą prieglobą, kad pamatytumėte atsarginį variantą. Jei puslapis vis tiek įkeliamas įprastu maršrutu, proxy nesiūlo jokios apsaugos nuo savo paties sutrikimo, ir tai savybė, kurią verta žinoti prieš juo pasikliaunant.

Tvarka lemia, ką mato svetainė. Proxy, kurio išeinantis srautas eina per VPN, palieka svetainei VPN galinio taško adresą; padėkite proxy už tunelio ribų (VPN į proxy nuotoliniame prieglobe) ir svetainė matys to proxy išėjimo adresą. Bet kuriuo atveju du šuoliai gali registruoti skirtingus dalykus.

Penki patikrinimai, iš eilės

Žemiau pateiktas kontrolinis sąrašas yra visas sprendimas vienoje vietoje. Aprėptis pirmoji, nes ji pašalina daugumą neatitikimų: jei programa, kurią reikia apimti, nepaiso nustatymo, niekas toliau sąraše jos neišgelbės.

CheckForward proxyVPN
What is coveredThe app or browser you configureTraffic the OS routes into the tunnel, all or split
Encryption scopeProtocol-dependent; SOCKS5 alone encrypts nothingDevice to VPN endpoint
DNS pathLocal or remote, depending on the settingNormally inside the tunnel
Failure modeExplicit config: connection error; PAC/WPAD: DIRECT fallbackClient policy: fail-open or kill switch
What the site seesThe proxy's exit addressThe VPN endpoint's exit address

Tada patvirtinkite rezultatą ta programa, kuri paskatino pakeitimą. Įkelkite puslapį sukonfigūruotoje naršyklėje, gaukite tą patį puslapį su curl ir palyginkite adresus, kuriuos kiekvienas praneša. Jei jie nesutampa, vis dar veikia plėtinys, PAC taisyklė ar programos lygmens nepaisymas, ir joks tunelio derinimas to nepataisys.

Užsirašykite, ką sukonfigūravote: kurios programos naudoja proxy, ar DNS vietinis, ar nuotolinis, ar UDP užblokuotas ir kokia elgsena gedimo atveju. Būtent šis mažas sąrašas leidžia atlikti kitą palyginimą, nes „IP pasikeitė“ niekada nepasakė, kuris iš šių penkių patikrinimų pavyko.

Susiję straipsniai