OpenVPN cez HTTP proxy: najprv si prečítajte odpoveď CONNECT
Proxy CONNECT prenáša bajty, takže oba konce potrebujú TCP. Prečítajte si 407, 403 a 503, skôr než začnete viniť certifikáty, a ponechajte overovanie servera zapnuté.
Nasmerujte VPN klienta na podnikovú HTTP proxy a prvý užitočný fakt je, že proxy nehovorí protokolom VPN. Otvorí obyčajné TCP spojenie na adresu, ktorú ste uviedli, a potom ustúpi bokom, takže váš klient a server vedú vlastnú výmenu cez tento tok. Všetko, čo klient potrebuje, od typu transportu po serverový poslucháč, musí tomuto usporiadaniu zodpovedať. Väčšinu zlyhaní vysvetľujú dve nezhody: profil UDP mieriaci na proxy CONNECT a odpoveď proxy považovaná za chybu VPN.
Čo proxy prenáša a čo nie
Proxy je len transportný medzikrok. Nestáva sa proxy vášho prehliadača, neukladá stránky, ktoré navštevujete tunelom, a nevidí vnútornú prevádzku, ak niekto zámerne nenastavil inšpekciu. Tunel, ktorý otvára, je preňho z podstaty nepriehľadný.
To tiež znamená, že proxy nemôže opraviť server, ktorý nemá zodpovedajúceho poslucháča. Povolenie dosiahnuť cieľ a služba počúvajúca na tomto cieli sú dva oddelené fakty a len prvý patrí správcovi proxy.
Prenos musí byť TCP na oboch koncoch
Bežná proxy CONNECT prenáša len tok bajtov , takže klient musí používať tokový transport. Fragment klienta pre tento prípad vyzerá takto:
proto tcp-client
remote vpn.example.net 1194
http-proxy proxy.corp.example 3128Strana servera potrebuje skutočný TCP poslucháč na porte uvedenom v riadku remote. Zmena proto udp na proto tcp-client v profile vytvorí klienta, ktorý očakáva tok; nevytvorí tok na druhej strane. Ak ten istý server odpovedá aj cez UDP na tomto porte, je to iný poslucháč, nie druhý režim toho istého.
Kde existuje samostatná inštancia TCP, jej tunelové zariadenie, fond adries a smerovanie sú vlastné prostriedky. Skopírovanie funkčnej konfigurácie a úprava slova transportu nechá tieto prostriedky ukazovať na pôvodnú inštanciu, čo vytvorí spojenie, ktoré sa overí a potom nič nesmeruje.
Prečítajte si odpoveď proxy skôr než výsledok VPN
Prvá výmena klienta je riadok požiadavky s názvom cieľového hostiteľa a portu. Odpoveď na tento riadok vám povie, či vôbec existuje tok bajtov, a prichádza skôr, než sa skontroluje akýkoľvek certifikát alebo prihlasovací údaj:
CONNECT vpn.example.net:1194 HTTP/1.1
Host: vpn.example.net:1194| Proxy reply | What it means | Where to look next |
|---|---|---|
407 Proxy Authentication Required | The proxy wants its own credentials | The client's proxy auth options, not the VPN account |
403 Forbidden | The destination or method is not permitted | The proxy's access policy for that host and port |
503 Service Unavailable | The proxy could not complete the upstream connection | The proxy's own logs and the server's listener |
Odpoveď triedy 200 na CONNECT znamená, že tok existuje. Nehovorí nič o tom, či je certifikát brány dôveryhodný, či sedí zdieľaný kľúč alebo či je používateľský účet platný. Tie kontroly prebiehajú potom, vo vnútri toku, a zlyhávajú vlastnými správami klienta, nie riadkom stavu HTTP. V logu klienta hľadajte prvú OpenVPN udalosť po handshaku s proxy, nie posledný riadok pred zatvorením okna.
Prihlasovacie údaje k proxy a k VPN sú často rôzne identity v rukách rôznych tímov. 407 nie je zlé heslo k účtu VPN a odmietnutý certifikát nie je problém oprávnení proxy.
Čo CONNECT neodhaľuje
Explicitný tunel CONNECT nie je odpočúvanie. Proxy prenáša bajty a neukončuje reláciu TLS VPN, takže overovanie serverového certifikátu klientom zostáva zmysluplné a malo by zostať zapnuté. Vypnutie overovania, aby ste prešli proxy, rieši iný problém, než máte.
Existujú samostatné usporiadania, keď organizácia TLS zámerne ukončuje a kontroluje. Tie vyžadujú vlastnú konfiguráciu dôvery a vlastné rozhodnutie o politike a nie sú tým, čo žiada obyčajný riadok http-proxy.
Cena TCP v TCP
Prenos tunela cez TCP drží vonkajší tok usporiadaný a s opätovným odosielaním a vnútorná prevádzka je zvyčajne tiež TCP. Oba mechanizmy obnovy sa nekoordinujú, takže jeden stratený segment môže zablokovať všetko, čo zdieľa tento vonkajší tok, kým nie je odoslaný znova. To je skutočná výmena za kompatibilitu, nie bezplatné vylepšenie.
Použite cestu cez proxy, keď vám sieť nenecháva alternatívu, a uprednostnite priamu cestu UDP tam, kde to politika dovoľuje. V každom prípade po zmene overte, že rovnaká proxy, cieľ a profil dosiahnu ďalšiu fázu; prehliadač, ktorý na tejto adrese načítava stránku, používa iný protokol a o tuneli nič nedokazuje.