VPN alebo proxy: čo každé pokrýva a čo nie
VPN pokrýva smerovanú prevádzku aplikácií; proxy pokrýva len aplikáciu, ktorú sami nakonfigurujete. Pred výberom skontrolujte pokrytie, šifrovanie, DNS a správanie pri zlyhaní.
Aj VPN, aj dopredné proxy menia adresu, ktorú vidí web, a práve tam sa končí väčšina porovnaní. Rozdiel, ktorý rozhoduje o vašom nastavení, je pokrytie: dopredné proxy je sprostredkovateľ, ktorý si vaša aplikácia sama zvolí, na rozdiel od reverzného proxy stojaceho pred webom, zatiaľ čo VPN presúva všetko, čo operačný systém smeruje do tunela. Šifrovanie, práca s DNS aj správanie pri zlyhaní vyplývajú z tohto rozdelenia. Vykonajte týchto päť kontrol v poradí a prvé zlyhanie vám povie, ktorý nástroj vlastne potrebujete.
Ktoré aplikácie sprostredkovateľ pokrýva?
Rozšírenie proxy v prehliadači platí len pre tento profil prehliadača. Poštoví klienti, správcovia balíčkov a druhý prehliadač naďalej používajú vlastné nastavenia a niektoré aplikácie systémové premenné proxy úplne ignorujú. VPN pokrýva to, čo smerovacia tabuľka pošle do tunela, a to môžu byť všetky aplikácie alebo podmnožina pri rozdelenom tuneli podľa trás a politiky klienta.
Testujte aplikácie, na ktorých záleží, namiesto toho, aby ste zovšeobecňovali z jedného načítania stránky. curl https://ifconfig.me sa riadi premennými proxy v prostredí; desktopová aplikácia možno nie. Vo Windows netsh winhttp show proxy vypíše proxy WinHTTP, ktoré používajú služby, a to je iné nastavenie než v prehliadači.
Je skok šifrovaný a kde končí TLS?
Protokol proxy je miesto stretnutia, nie záruka. SOCKS5 preposiela TCP bez šifrovania a obyčajné HTTP proxy prenáša riadok požiadavky a hlavičky ako čistý text. HTTPS cez proxy používa CONNECT, takže vaša TLS relácia stále končí v cieli, nie na proxy. Príručka MDN o proxy serveroch a tunelovaní opisuje tento rozdiel zo strany protokolu.
VPN šifruje úsek medzi vaším zariadením a jeho koncovým bodom. Za koncovým bodom platia rovnaké pravidlá ako na akejkoľvek inej sieti, a preto tunel sám nechráni aplikáciu, ktorá posiela prihlasovacie údaje cez obyčajné HTTP. Ani jeden z návrhov neskrýva prihlásený účet, cookie ani odtlačok prehliadača.
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
Podrobný výstup ukazuje, či curl poslal CONNECT na port 443 alebo obyčajný GET s úplnou URL. S socks5h:// dostane proxy názov hostiteľa vnútri požiadavky SOCKS5 a potom prenáša TLS, ktoré nedokáže čítať, takže vidí názov a počet bajtov. Cez proxy http:// je adresa https:// CONNECT, takže aj táto proxy vidí názov a objem cieľa, ale nie požiadavku ani telo odpovede.
Ktorý resolver vidí názov?
Preloženie názvov môže prebehnúť lokálne predtým, než požiadavka odíde, alebo vzdialene na proxy. S curl socks5h:// posiela názov hostiteľa proxy, zatiaľ čo socks5:// ho najprv preloží lokálne. Nastavenia proxy v prehliadači ponúkajú porovnateľnú voľbu DNS a súbory PAC môžu rôzne hostiteľa smerovať rôzne.
Dva protokoly môžu obísť proxy bez akéhokoľvek nesprávneho nastavenia. WebRTC zhromažďuje kandidátov cez STUN a QUIC prevádzkuje HTTP/3 cez UDP, čo TCP proxy nedokáže preniesť. Prehliadač sa vráti k TCP, ak je UDP 443 zablokovaný, preto je blokovanie UDP 443 na firewalle hostiteľa (alebo na routeri pre celú sieť), a nie prepínač v prehliadači, spoľahlivý spôsob, ako udržať HTTP/3 na ceste cez proxy.
Kontrolujte resolver z pohľadu cieľa, nie svojho notebooku. Požiadavka, ktorá prichádza s výstupnou adresou proxy, ale s lokálne preloženým názvom, stále hovorí lokálnemu resolveru, ktoré stránky navštevujete.
Čo sa stane, keď sprostredkovateľ zlyhá?
Explicitné proxy zlyháva zatvorene: zastavte proces proxy a prehliadač alebo aplikácia vráti chybu pripojenia namiesto priameho prístupu. Nastavenia PAC a WPAD sú tie, ktoré zlyhávajú otvorene - ak sa skript nedá získať, klient sa vráti k DIRECT a web opäť vidí vašu skutočnú adresu. VPN môže zlyhať otvorene alebo zatvorene podľa klienta a podľa toho, či je aktívny kill switch alebo pravidlo firewallu.
Otestujte prípad zlyhania zámerne: zastavte službu proxy a znova načítajte stránku; ak dostanete chybovú stránku namiesto priameho načítania, nasmerujte URL PAC na nedostupného hostiteľa, aby ste videli záložné správanie. Ak sa stránka stále načítava vašou obvyklou cestou, proxy neponúka žiadnu ochranu pred vlastným výpadkom, a to je vlastnosť, ktorú by ste mali poznať predtým, než sa naň spoliehate.
Poradie rozhoduje o tom, čo web vidí. Proxy, ktorého odchádzajúca prevádzka ide cez VPN, nechá web vidieť adresu koncového bodu VPN; umiestnite proxy mimo tunela (VPN k proxy na vzdialenom hostiteľovi) a web namiesto toho uvidí výstupnú adresu tejto proxy. V oboch prípadoch môžu dva skoky zaznamenávať rôzne veci.
Päť kontrol, v poradí
Kontrolný zoznam nižšie je celé rozhodnutie na jednom mieste. Pokrytie je prvé, pretože odstraňuje väčšinu nezhôd: ak aplikácia, ktorá má byť pokrytá, nastavenie nerešpektuje, nič ďalej v zozname ju nezachráni.
| 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 |
Potom potvrďte výsledok aplikáciou, ktorá zmenu vyvolala. Načítajte stránku v nastavenom prehliadači, stiahnite tú istú stránku pomocou curl a porovnajte adresu, ktorú každý hlási. Ak sa líšia, stále pôsobí rozšírenie, pravidlo PAC alebo prepísanie na úrovni aplikácie, a žiadne ladenie tunela to nespraví.
Zapíšte si, čo ste nastavili: ktoré aplikácie proxy používajú, či je DNS lokálny alebo vzdialený, či je UDP zablokované a aké je správanie pri zlyhaní. Práve tento malý zoznam umožňuje ďalšie porovnanie, pretože „IP sa zmenila“ vám nikdy nepovedalo, ktorá z týchto piatich kontrol prešla.