OpenVPN HTTP-välityspalvelimen kautta: lue CONNECT-vastaus ensin
CONNECT-välityspalvelin välittää tavuja, joten molemmat päät tarvitsevat TCP:n. Lue 407, 403 ja 503 ennen kuin syytät varmenteita, ja pidä palvelimen vahvistus päällä.
Ohjaa VPN-asiakas yrityksen HTTP-välityspalvelimeen, ja ensimmäinen hyödyllinen tosiasia on, ettei välityspalvelin puhu VPN:n protokollaa. Se avaa tavallisen TCP-yhteyden ilmoittamaasi osoitteeseen ja siirtyy sitten sivuun, jättäen asiakkaan ja palvelimen tekemään oman vaihtonsa tuon virran kautta. Kaiken, mitä asiakas tarvitsee, siirtotyypistä palvelimen kuuntelijaan, on vastattava tätä järjestelyä. Kaksi yhteensopimattomuutta selittää useimmat epäonnistumiset: UDP-profiili, joka on suunnattu CONNECT-välityspalvelimelle, ja välityspalvelimen vastaus, joka tulkitaan VPN-virheeksi.
Mitä välityspalvelin kuljettaa ja mitä ei
Välityspalvelin on vain siirtoporras. Siitä ei tule selaimesi välityspalvelinta, se ei tallenna välimuistiin sivustoja, joilla käyt tunnelin kautta, eikä se näe sisäistä liikennettä, ellei joku ole tarkoituksella määrittänyt tarkastusta. Avaamansa tunneli on sille suunnittelun mukaan läpinäkymätön.
Se tarkoittaa myös, ettei välityspalvelin voi korjata palvelinta, jolla ei ole vastaavaa kuuntelijaa. Lupa päästä kohteeseen ja kyseisessä kohteessa kuunteleva palvelu ovat kaksi erillistä tosiasiaa, ja vain ensimmäinen kuuluu välityspalvelimen ylläpitäjälle.
Kantajan on oltava TCP molemmissa päissä
Tavanomainen CONNECT-välityspalvelin välittää vain tavuvirran , joten asiakkaan on käytettävä virtaista siirtoa. Asiakas katkelma tuota tapausta varten näyttää tältä:
proto tcp-client
remote vpn.example.net 1194
http-proxy proxy.corp.example 3128Palvelinpuoli tarvitsee todellisen TCP-kuuntelijan portissa, joka mainitaan remote-rivillä. Profiilissa proto udp vaihtaminen muotoon proto tcp-client luo asiakkaan, joka odottaa virtaa; se ei luo virtaa toisella puolella. Jos sama palvelin vastaa samassa portissa myös UDP:lla, se on eri kuuntelija, ei saman toinen tila.
Missä on erillinen TCP-instanssi, sen tunnelilaite, osoiteallas ja reititys ovat omia resurssejaan. Toimivan kokoonpanon kopioiminen ja siirtosanomun muuttaminen jättää nämä resurssit osoittamaan alkuperäiseen instanssiin, mikä tuottaa yhteyden, joka todentuu ja sitten ei reititä mitään.
Lue välityspalvelimen vastaus ennen VPN-tulosta
Asiakkaan ensimmäinen vaihto on pyyntörivi, joka nimeää kohdeisännän ja portin. Vastaus tuolle riville kertoo, onko tavuvirtaa ylipäätään olemassa, ja se saapuu ennen kuin mitään varmennetta tai tunnistetta tarkistetaan:
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 |
Luokan 200 vastaus CONNECT-pyyntöön tarkoittaa, että virta on olemassa. Se ei kerro, onko yhdyskäytävän varmenne luotettu, täsmääkö jaettu avain tai onko käyttäjätili kelvollinen. Ne tarkistukset tapahtuvat myöhemmin virran sisällä, ja ne epäonnistuvat asiakkaan omilla viesteillä eivätkä HTTP-tilarivillä. Etsi asiakkaan lokista ensimmäinen OpenVPN tapahtuma välityspalvelimen kättelyn jälkeen, älä viimeistä riviä ennen ikkunan sulkeutumista.
Välityspalvelimen tunnistetiedot ja VPN:n tunnistetiedot ovat usein eri identiteettejä eri tiimien hallussa. 407 ei ole VPN-tilin huono salasana, eikä hylätty varmenne ole välityspalvelimen käyttöoikeusongelma.
Mitä CONNECT ei paljasta
Selkeä CONNECT-tunneli ei ole sieppaus. Välityspalvelin välittää tavuja eikä lopeta VPN:n TLS-istuntoa, joten asiakkaan suorittama palvelinvarmenteen vahvistus pysyy merkityksellisenä ja sen pitäisi pysyä päällä. Vahvistuksen poistaminen käytöstä välityspalvelimen ohittamiseksi ratkaisee eri ongelman kuin sinun.
On erillisiä järjestelyjä, joissa organisaatio lopettaa ja tarkastaa TLS:n tarkoituksella. Ne vaativat oman luottamusmäärityksensä ja oman käytäntöpäätöksensä, eivätkä ne ole se, mitä tavallinen http-proxy-rivi pyytää.
TCP:n hinta TCP:n sisällä
Tunnelin kuljettaminen TCP:n yli pitää ulomman virran järjestyksessä ja uudelleenlähetettynä, ja sisäinen liikenne on yleensä myös TCP:tä. Kaksi palautumismekanismia ei koordinoi, joten yksi kadonnut segmentti voi pysäyttää kaiken, mikä jakaa tuon ulomman virran, kunnes se lähetetään uudelleen. Se on todellinen vaihtokauppa yhteensopivuudesta, ei ilmainen päivitys.
Käytä välityspalvelimen polkua, kun verkko ei jätä sinulle vaihtoehtoa, ja suosi suoraa UDP-polkua siellä, missä käytäntö sallii. Joka tapauksessa varmista muutoksen jälkeen, että sama välityspalvelin, kohde ja profiili saavuttavat seuraavan vaiheen; selain, joka lataa sivun tuossa osoitteessa, käyttää toista protokollaa eikä todista tunnelista mitään.