VPN naspram proxyja: šta svaki pokriva, a šta ne
VPN pokriva rutirani promet aplikacija; proxy pokriva aplikaciju koju sami konfigurišete. Provjerite pokrivenost, enkripciju, DNS i ponašanje pri kvaru prije nego što odaberete.
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.
| Check | Forward proxy | VPN |
|---|---|---|
| What is covered | The app or browser you configure | Traffic the OS routes into the tunnel, all or split |
| Encryption scope | Protocol-dependent; SOCKS5 alone encrypts nothing | Device to VPN endpoint |
| DNS path | Local or remote, depending on the setting | Normally inside the tunnel |
| Failure mode | Explicit config: connection error; PAC/WPAD: DIRECT fallback | Client policy: fail-open or kill switch |
| What the site sees | The proxy's exit address | The 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.