VPN i dopředné proxy mění adresu, kterou web vidí, a právě tam většina srovnání končí. Rozdíl, který rozhoduje o vašem nastavení, je pokrytí: dopředné proxy je prostředník, který si vaše aplikace sama zvolí, na rozdíl od reverzního proxy, které stojí před webem, zatímco VPN přesouvá vše, co operační systém směruje do tunelu. Šifrování, práce s DNS i chování při selhání z tohoto rozdělení vyplývají. Proveďte těchto pět kontrol v pořadí a první selhání vám řekne, který nástroj vlastně potřebujete.

Které aplikace prostředník pokrývá?

Rozšíření proxy v prohlížeči platí jen pro tento profil prohlížeče. Poštovní klienti, správci balíčků a druhý prohlížeč dál používají vlastní nastavení a některé aplikace systémové proměnné proxy úplně ignorují. VPN pokrývá to, co směrovací tabulka pošle do tunelu, což mohou být všechny aplikace nebo podmnožina při rozděleném tunelu podle tras a politiky klienta.

Testujte aplikace, na kterých záleží, místo abyste usuzovali z jednoho načtení stránky. curl https://ifconfig.me se řídí proměnnými proxy v prostředí; desktopová aplikace možná ne. Ve Windows netsh winhttp show proxy vypíše proxy WinHTTP, které používají služby, a to je jiné nastavení než v prohlížeči.

Je skok šifrovaný a kde končí TLS?

Protokol proxy je místo setkání, ne záruka. SOCKS5 přeposílá TCP bez šifrování a obyčejné HTTP proxy přenáší řádek požadavku a hlavičky jako čistý text. HTTPS přes proxy používá CONNECT, takže vaše TLS relace stále končí v cíli, ne na proxy. Průvodce MDN proxy servery a tunelováním popisuje tento rozdíl ze strany protokolu.

VPN šifruje úsek mezi vaším zařízením a jeho koncovým bodem. Za koncovým bodem platí stejná pravidla jako na jakékoli jiné síti, a proto tunel sám nechrání aplikaci, která posílá přihlašovací údaje přes obyčejné HTTP. Ani jeden z návrhů neskrývá přihlášený účet, cookie ani otisk prohlížeče.

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, zda curl poslal CONNECT na port 443, nebo obyčejný GET s úplnou URL. S socks5h:// dostane proxy název hostitele uvnitř požadavku SOCKS5 a pak přenáší TLS, které nedokáže číst, takže vidí název a počty bajtů. Přes proxy http:// je adresa https:// CONNECT, takže i tato proxy vidí název a objem cíle, nikoli požadavek nebo tělo odpovědi.

Který resolver vidí název?

Překlad názvů může proběhnout lokálně dřív, než požadavek odejde, nebo vzdáleně na proxy. S curl socks5h:// posílá název hostitele proxy, zatímco socks5:// ho nejprve přeloží lokálně. Nastavení proxy v prohlížeči nabízí srovnatelnou volbu DNS a soubory PAC mohou různé hostitele směrovat různě.

Dva protokoly mohou proxy obejít bez jakékoli chybné konfigurace. WebRTC shromažďuje kandidáty přes STUN a QUIC provozuje HTTP/3 přes UDP, což TCP proxy nedokáže přenést. Prohlížeč se vrátí k TCP, pokud je UDP 443 blokován, takže blokování UDP 443 na firewallu hostitele (nebo na routeru pro celou síť), a ne přepínač v prohlížeči, je spolehlivý způsob, jak udržet HTTP/3 na cestě přes proxy.

Kontrolujte resolver z pohledu cíle, ne svého notebooku. Požadavek, který dorazí s výstupní adresou proxy, ale s lokálně přeloženým názvem, přesto řekne místnímu resolveru, které stránky navštěvujete.

Co se stane, když prostředník selže?

Explicitní proxy selhává zavřeně: zastavte proces proxy a prohlížeč nebo aplikace vrátí chybu připojení místo přímého přístupu. Nastavení PAC a WPAD jsou ta, která selhávají otevřeně - pokud se skript nepodaří načíst, klient se vrátí k DIRECT a web znovu vidí vaši skutečnou adresu. VPN může selhat otevřeně nebo zavřeně podle klienta a podle toho, zda je aktivní kill switch nebo pravidlo firewallu.

Otestujte případ selhání záměrně: zastavte službu proxy a znovu načtěte stránku; pokud dostanete chybovou stránku místo přímého načtení, nasměrujte URL PAC na nedostupný hostitel, abyste viděli záložní chování. Pokud se stránka stále načítá vaší obvyklou cestou, proxy nenabízí žádnou ochranu proti vlastnímu výpadku, a to je vlastnost, kterou byste měli znát, než se na ni spolehnete.

Pořadí rozhoduje o tom, co web vidí. Proxy, jehož odchozí provoz jde přes VPN, nechá web vidět adresu koncového bodu VPN; umístěte proxy mimo tunel (VPN k proxy na vzdáleném hostiteli) a web místo toho uvidí výstupní adresu této proxy. V obou případech mohou oba skoky zaznamenávat různé věci.

Pět kontrol, v pořadí

Kontrolní seznam níže je celé rozhodnutí na jednom místě. Pokrytí je první, protože odstraňuje většinu neshod: pokud aplikace, která má být pokryta, nastavení nerespektuje, nic dalšího na seznamu ji nezachrání.

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

Potom potvrďte výsledek aplikací, která změnu vyvolala. Načtěte stránku v nastaveném prohlížeči, stáhněte stejnou stránku pomocí curl a porovnejte adresu, kterou každý hlásí. Pokud se liší, stále působí rozšíření, pravidlo PAC nebo potlačení na úrovni aplikace a žádné ladění tunelu to nespraví.

Zapište si, co jste nastavili: které aplikace proxy používají, zda je DNS lokální nebo vzdálené, zda je UDP blokováno a jaké je chování při selhání. Právě tento malý soupis umožňuje další srovnání, protože „IP se změnila“ vám nikdy neřeklo, která z těchto pěti kontrol prošla.

Související články