I VPN i forward proxy mijenjaju adresu koju web-stranica vidi, i tu se većina poređenja zaustavlja. Razlika koja određuje vaše postavke jest pokrivenost: forward proxy je posrednik koji vaša aplikacija sama odluči koristiti, za razliku od reverse proxyja koji stoji ispred web-stranice, a VPN prenosi sve što operativni sistem usmjeri u tunel. Enkripcija, rad s DNS-om i ponašanje pri kvaru sve slijede iz te podjele. Izvedite ovih pet provjera po redu, a prva koja ne uspije reći će vam koji vam alat zapravo treba.

Koje aplikacije posrednik pokriva?

Proširenje za proxy u pregledniku vrijedi samo za taj profil preglednika. Poštanski klijenti, upravitelji paketa i drugi preglednik nastavljaju koristiti vlastite postavke, a neke aplikacije potpuno zanemaruju sistemske varijable za proxy. VPN pokriva ono što tabela rutiranja šalje u tunel, a to mogu biti sve aplikacije ili podskup kod podijeljenog tunela, zavisno od ruta i politike klijenta.

Testirajte aplikacije koje su važne umjesto da zaključujete na osnovu jednog učitavanja stranice. curl https://ifconfig.me slijedi varijable okruženja za proxy; desktop aplikacija možda neće. Na Windowsima netsh winhttp show proxy ispisuje WinHTTP proxy koji koriste servisi, a to je druga postavka od one u pregledniku.

Je li skok šifrovan i gdje završava TLS?

Proxy protokol je mjesto susreta, a ne garancija. SOCKS5 prosljeđuje TCP bez šifrovanja, a obični HTTP proxy prenosi liniju zahtjeva i zaglavlja kao čist tekst. HTTPS kroz proxy koristi CONNECT, pa vaša TLS sesija i dalje završava na odredištu, a ne na proxyju. MDN vodič kroz proxy servere i tuneliranje opisuje tu razliku sa strane protokola.

VPN šifruje segment između vašeg uređaja i njegove krajnje tačke. Iza krajnje tačke vrijede ista pravila kao na bilo kojoj drugoj mreži, zbog čega tunel sam po sebi ne štiti aplikaciju koja šalje akreditive preko običnog HTTP-a. Nijedan dizajn ne skriva prijavljeni račun, kolačić ili otisak preglednika.

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

Detaljni izlaz pokazuje je li curl poslao CONNECT na port 443 ili obični GET s punim URL-om. S socks5h:// proxy dobija ime hosta unutar SOCKS5 zahtjeva i zatim prenosi TLS koji ne može čitati, pa vidi ime i broj bajtova. Kroz http:// proxy, https:// URL je CONNECT, pa i taj proxy vidi ime i obim odredišta, ali ne zahtjev ni tijelo odgovora.

Koji resolver vidi ime?

Razrješavanje imena može se dogoditi lokalno prije nego zahtjev krene, ili udaljeno na proxyju. S curl-om socks5h:// šalje ime hosta proxyju, dok ga socks5:// prvo razrješava lokalno. Proxy postavke preglednika nude uporedivu DNS opciju, a PAC datoteke mogu različite hostove usmjeravati na različite načine.

Dva protokola mogu zaobići proxy bez ikakve greške u konfiguraciji. WebRTC prikuplja kandidate preko STUN-a, a QUIC pokreće HTTP/3 preko UDP-a, što TCP proxy ne može prenijeti. Preglednik će se vratiti na TCP ako je UDP 443 blokiran, pa je blokiranje UDP-a 443 na firewallu hosta (ili na ruteru za cijelu mrežu), a ne zastavica u pregledniku, pouzdan način da HTTP/3 ostane na proxy putu.

Provjerite resolver iz perspektive odredišta, a ne svog laptopa. Zahtjev koji stigne s izlaznom adresom proxyja, ali s lokalno razriješenim imenom, ipak govori lokalnom resolveru koje stranice posjećujete.

Šta se događa kada posrednik zakaže?

Eksplicitni proxy pada zatvoreno: zaustavite proxy proces i preglednik ili aplikacija vraća grešku veze umjesto da ide direktno. PAC i WPAD postavke su one koje padaju otvoreno - ako se skripta ne može dohvatiti, klijent se vraća na DIRECT i stranica ponovo vidi vašu stvarnu adresu. VPN može pasti otvoreno ili zatvoreno zavisno od klijenta i toga je li aktivan kill switch ili pravilo firewall-a.

Namjerno testirajte slučaj kvara: zaustavite proxy servis i ponovo učitajte; ako dobijete stranicu greške umjesto direktnog učitavanja, usmjerite PAC URL na nedostupan host da vidite rezervno ponašanje. Ako se stranica ipak učita vašom uobičajenom rutom, proxy ne nudi zaštitu od vlastitog ispada, i to je svojstvo koje trebate znati prije nego se na njega oslonite.

Redoslijed određuje šta stranica vidi. Proxy čiji izlazni promet ide kroz VPN ostavlja stranici adresu VPN krajnje tačke; stavite proxy izvan tunela (VPN do proxyja na udaljenom hostu) i stranica će umjesto toga vidjeti izlaznu adresu tog proxyja. U oba slučaja dva skoka mogu bilježiti različite stvari.

Pet provjera, po redu

Kontrolna lista ispod je cijela odluka na jednom mjestu. Pokrivenost je prva jer uklanja većinu neslaganja: ako aplikacija koja mora biti pokrivena ne poštuje postavku, ništa kasnije na listi je ne spašava.

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

Zatim potvrdite rezultat aplikacijom koja je izazvala promjenu. Učitajte stranicu u konfigurisanom pregledniku, dohvatite istu stranicu pomoću curl-a i uporedite adresu koju svaki prijavi. Ako se razlikuju, proširenje, PAC pravilo ili nadjačavanje na nivou aplikacije još djeluje, i nikakvo podešavanje tunela to neće popraviti.

Zapišite šta ste konfigurisali: koje aplikacije koriste proxy, je li DNS lokalni ili udaljen, je li UDP blokiran i kakvo je ponašanje pri kvaru. Upravo taj mali popis omogućava sljedeće poređenje, jer „IP se promijenio“ nikada vam nije reklo koja je od ovih pet provjera prošla.

Povezani članci