Kannettava siirtyy toimiston Wi-Fistä puhelimen hotspotiin, tunneli kestää vielä muutaman sekunnin, ja sitten liikenne pysähtyy, kun taas käyttöliittymä väittää edelleen olevansa yhteydessä. Palvelimella tilarivi näyttää edelleen vanhaa julkista osoitetta. Tämä on tilanne, jota varten float on olemassa, ja samalla tilanne, jossa ihmiset odottavat siltä paljon enemmän kuin se tekee. Rajan oikein ymmärtäminen muuttaa hämmentävän pysähdyksen joko yhden rivin asetusmuutokseksi tai täysin toiseksi tutkimukseksi.

Mitä float löysentää ja mitä se ei koskaan löysennä

Normaalisti istunto jatkaa keskustelua sen ulkoisen osoitteen ja portin kanssa, joilla se alkoi, ja muualla syntyvät paketit jätetään huomiotta. float-asetus poistaa tämän tiukan sidonnan, kun vastapuoli on jo todistanut itsensä, joten muuttunut lähdekartoitus voi jatkaa samaa istuntoa sen sijaan, että se hylättäisiin. Mikään salaustarkistuksissa ei muutu: avaimet, varmenteet ja mahdollinen HMAC-suoja pysyvät täsmälleen sellaisina kuin ne on määritetty.

Päätös tehdään pakettikohtaisesti, ei käytäntönä siitä, kuka saa yhdistää. Tuntematon kone, joka lähettää paketin uudesta osoitteesta, ei ole todistanut mitään, ja sen paketti hylätään kuten mikä tahansa muukin todentamaton liikenne. Vain liikenne, joka läpäisee istunnon oman todentamisen, voi siirtää tallennetun vastapuolen osoitteen, ja siksi float on turvallista jättää päälle ympäristöissä, joissa asiakkaat liikkuvat.

Se ei kerro mitään myöskään sisemmästä tunnelista. Siirretty ulkoinen osoite ei anna tunneliosoitetta uudelleen, ei muuta allasta eikä anna vastapuolelle pääsyä mihinkään uuteen. Tunnelissa sama identiteetti ja samat työnnetyt reitit pätevät ennen siirtoa ja sen jälkeen. Siirtyminen ei neuvottele datakanavaa uudelleen, joten neuvoteltu salaus ja avaimet jatkuvat.

Istuntoa siirtävän paketin on todennuttava

Aloita istunto tavalliseen tapaan määritettyä etäpäätä vastaan, ja float hoitaa sen, mitä tapahtuu kartoituksen muuttuessa. Liittymä, joka numeroi uudelleen kesken virran, NAT-portti, joka kirjoittaa porttikartoituksensa uudelleen, tai kannettava, joka vaihtaa ylävirran, tuottavat kaikki saman muodon: todennettuja paketteja uudesta monikosta, jotka saapuvat istuntoon, joka uskoo vielä vanhaan.

Kun kysytään, toimiiko float, hyödyllinen todiste on suoritettu kättely ja sitä seuraava hyväksytty lähdemuutos, ei pelkkä lokirivi osoitteesta. Yhdistä vanha ja uusi ulkoinen osoite istuntoon, joka pysyi elossa, ja vahvista sitten, että liikenne todella jatkui tunnelin läpi.

Jos istunto kuolee siirtymisen sijaan, uudesta osoitteesta saapunut paketti todennäköisesti epäonnistui todentamisessa tai ei saapunut lainkaan. Molemmat tapaukset näyttävät asiakkaan puolelta samalta. Palvelimella julkisen rajapinnan kaappaus kertoo, kumpi tapaus sinulla on, ennen kuin kosket mihinkään asetukseen.

Löytäminen on täysin erillinen mekanismi

float ei ratkaise nimiä ajastimella eikä seuraa dynaamista DNS-tietuetta. Jos palvelimen isäntänimi alkaa ratketa uudeksi osoitteeksi, joutilaalla asiakkaalla ei ole syytä huomata sitä eikä pakettia uudesta päätepisteestä todennettavaksi. Se ongelma kuuluu uudelleenyhdistämisen logiikkaan, asiakkaan omaan uudelleenyrityskäyttäytymiseen ja DNS:ään, ei floatiin.

Asetuksen lisääminen vielä kerran ei korvaa sitä, ettei uuteen osoitteeseen ole reittiä. Se ei auta myöskään silloin, kun vastapuoli on hiljaa, koska hiljainen vastapuoli ei koskaan lähetä todennettua pakettia, joka siirtäisi jotain.

Myös alla olevalla palomuurilla on sanansa. Sääntö, joka sallii vain vanhan ulkoisen päätepisteen, estää muuttuneen osoitteen ennen kuin OpenVPN edes näkee sen, eikä mikään asiakaspuolen asetus korjaa sitä. Tarkastele sallittujen osoitteiden elinkaarta omana tehtävänään; säännön laajentaminen mihin tahansa lähteeseen vaihtaa pienen ongelman suureen.

Kun NetworkManager omistaa profiilin

Komentoriviprofiili ja tuotu yhteys ovat erillisiä asetuksia, eikä toisen muokkaaminen kosketa toista. Ennen kuin oletat, ettei asetusta tueta, selvitä, mitä liitännäistyyppiä tallennettu profiili todella käyttää ja missä sen arvot elävät. Profiilin UUID on se tunniste, jolla on merkitystä, kun tarkastelet tai muutat jotain.

Tarkastele tallennettua yhteyttä, älä alkuperäistä tuontitiedostoa. Rivi, joka säilyy .ovpn-tiedostossa, ei todista mitään, jos aktiivinen hallinta ei koskaan soveltanut sitä, eikä editori ilman valintaruutua tietylle asetukselle todista mitään protokollan kyvyistä.

Älä paikkaa paketoitua liitännäistä käyttäytymisen lisäämiseksi, etenkään diffillä, joka on kirjoitettu asiaankuulumattoman komponentin historialliselle versiolle. Jos asennettu integraatio todella ei pysty ilmaisemaan asetusta, oikea askel on tuettu profiili tai toinen asiakaspolku, jonka käyttöönoton omistaja hyväksyy.

Todista siirtymä sen sijaan, että oletat sen

Suorita testi niin kuin vika tapahtuu. Yhdistä, vahvista liikenne tunnelin läpi, pakota ulkoinen osoite muuttumaan ja tarkista sitten kolme asiaa: istunto on yhä olemassa, tallennettu vastapuolen osoite on siirtynyt ja todellinen pyyntö saavuttaa yhä kohteensa. Kaikki vähemmän kuin kaikki kolme on osittainen vastaus.

Pidä palautumispääsy saatavilla testatessasi, koska siirtymiskokeilla on tapana jättää kone, jolta työskentelet, hankalaan asemaan. Sarjakonsoli tai kaistan ulkopuolinen reitti muuttaa epäonnistuneen testin viiden minuutin palautumiseksi käyntikierroksen sijaan.

Kuvaa lopuksi vain se tapaus, jota kokeilit. Onnistunut osoitteenmuutos istunnon aikana ei ole todiste siitä, että DNS-siirrot, toinen asiakastoteutus tai uudelleen rakennettu profiili käyttäytyvät samoin. link-options-dokumentaatio ilmaisee asetuksen laajuuden täsmällisesti; testilokisi tulisi kertoa, minkä osan tuosta laajuudesta todella katsoit.

Aiheeseen liittyvät artikkelit