Sääntö, joka täsmäsi eilen, ei täsmää tänään, koska asiakas palasi toisella tunneliosoitteella. Jakaja ei kuitenkaan ole satunnainen, ja sen järjestyksen tunteminen muuttaa yllätyksen ennustettavaksi tapahtumaksi. Se suosii osoitetta, joka samalla asiakkaalla oli aiemmin, turvautuu kauimmin käyttämättömään vapaaseen osoitteeseen ja unohtaa kaiken, jos et anna sille paikkaa muistaa. Vuokraukseen nojaavat säännöt täsmäävät edelleen siihen päivään asti, jolloin ne hiljaa lakkaavat täsmäämästä.

Järjestys, jota jakaja noudattaa

Yhdellä istunnolla common namea kohden jakaja etsii ensin osoitetta, jota sama asiakas käytti aiemmin ja joka on nyt vapaa. Jos se osoite on poissa, se ottaa vapaan osoitteen, joka on ollut pisimpään käyttämättä. Kun samalle nimelle on otettu käyttöön samanaikaiset istunnot, aiemman osoitteen etusija ei päde, ja sen sijaan käytetään ensimmäistä vapaata osoitetta, koska istuntoja kohdellaan erillisinä vertaisina.

SituationAddress chosenPractical effect
Reconnect, old address still freeThe remembered addressRules appear stable for days
Old address taken by another clientLeast recently used free addressA working rule silently stops matching
Concurrent sessions, same nameFirst free address, per sessionOne identity can hold several leases

Siitä seuraa heti kaksi seurausta. Nopeasti uudelleen yhdistävä asiakas säilyttää yleensä osoitteensa, ja siksi kukaan ei huomaa mekanismia ennen kuin se muuttuu. Ja toinen laite, joka yhdistää tuon pienen ikkunan aikana, voi ottaa osoitteen, kun se on hetken vapaa, minkä jälkeen ensimmäinen asiakas saa jotain muuta ja jokainen vanhaan numeroon sidottu sääntö on väärä. Kumpikaan tapahtumista ei tuota lokiriviä, joka näyttää vialta.

Miksi vuokraus näyttää vakaalta ja sitten liikkuu

Vakaus on tässä syntyvä ominaisuus uudelleenyhdistämisistä, jotka saapuvat ennen kuin kukaan muu vaatii osoitetta. Se ei ole lupaus, eikä sitä valvota, kun asiakas on irrotettu. Suunnittele osoitteen muuttuvan sen sijaan, että yllättyisit siitä. Allas, joka on hädin tuskin laitteiden määrää suurempi, tekee törmäyksistä arkipäivää, koska kauimmin käyttämättömään osoitteeseen turvautumisella ei ole juuri mistä valita.

Huippusamanaikaisuus on luku, jonka mukaan mitoitetaan, ei käyttäjien määrä. Joku, joka testaa kahdelta laitteelta yhtä aikaa, tai asiakas, joka yhdistää uudelleen ennen vanhan istunnon päättymistä, varaa vähäksi aikaa kaksi vuokrausta. Vain henkilömäärän mukaan mitoitettu allas tuottaa täsmälleen sen vaihtuvuuden, jonka ihmiset panevat palvelimen syyksi.

Pysyvyystiedosto muistaa, se ei varaa

Osoite, joka selviää palvelun uudelleenkäynnistyksestä, tarvitsee pysyvyystiedoston. Se tallentaa sammutettaessa asiakkaan nimen ja osoitteen ja lukee ne takaisin palvelun käynnistyessä, minkä vuoksi suunniteltu uudelleenkäynnistys ei enää sekoita kaikkia kirjoittamiasi sääntöjä.

ifconfig-pool-persist /etc/openvpn/ipp.txt
server 10.8.0.0 255.255.255.0

Sitä se ei tee, että pitäisi osoitteen, kun asiakas on poissa. Siinä aukossa jakaja saa antaa numeron jollekulle toiselle, ja tiedosto tallentaa silloin vanhentuneen mieltymyksen, jota seuraava yhteys ei voi täyttää. Kohtele sitä vihjeenä, joka parantaa uudelleenkäynnistyskäyttäytymistä, ei staattisena osoitteistuksena.

Tarkista allas jokaista reititettyä aliverkkoa vasten, kun olet tiedostossa. Päällekkäinen alue jakaa osoitteita, joihin palvelin ei voi reitittää, ja oire on asiakas, joka yhdistää, saa osoitteen eikä saavuta mitään.

Osoitteen kiinnittäminen oikein

Kun palomuurisääntö tai DNS-tietue todella tarvitsee kiinteän osoitteen, anna se sen sijaan, että toivoisit sitä. Asiakaskohtainen kokoonpanomerkintä voi työntää osoitteen ja maskin suoraan, ja se merkintä on avainnettu todelliseen asiakasnimeen.

# client-config-dir entry for "laptop-acme"
ifconfig-push 10.8.0.50 255.255.255.0

Pidä kiinteät osoitteet dynaamisen altaan ulkopuolella, jotta jakaja ei koskaan anna samaa numeroa toiselle istunnolle. Tarkista sitten tunnelin topologia, koska se muuttaa sitä, montako altaan osoitetta kukin asiakas kuluttaa: vanhempi pisteestä pisteeseen -asettelu kuluttaa pienen lohkon asiakasta kohden, kun taas aliverkkoasettelu käyttää yhden osoitteen kullekin. Allas, joka näyttää yhdessä topologiassa runsaalta, voi olla toisessa tyhjenevä.

Vahvista tulos asiakkaalla sen sijaan, että luottaisit palvelimen kirjanpitoon. Kun istunto on palannut, katso liitännän osoite ja työnnetty reitti, koska palvelimen loki voi ilmoittaa pyydetyn osoitteen, kun taas liitännällä itsellään on toinen.

Etäosoite on erillinen kysymys

Asiakkaan etärivillä olevan osoitteen on oltava saavutettavissa ennen kuin mitään tunnelia on olemassa. Jos siihen laittaa altaan osoitteen, kuten palvelimen oman tunnelin päätepisteen, asiakas yrittää saavuttaa päätepisteen tunnelin kautta, jota se ei ole vielä rakentanut, ja tuloksena on silmukka tai hiljainen aikakatkaisu pikemmin kuin oikotie.

Käytä julkista päätepistettä, jonka operaattori toimitti, ja pidä allas siihen, mihin se on suunniteltu: osoitteisiin tunnelin sisällä. Altaan alueen, kiinteiden määritysten ja pysyvyyspolun kirjaaminen yhteen paikkaan säästää seuraavalta ihmiseltä jokaisen vuokrauksen pitämisen mielivaltaisena.

Aiheeseen liittyvät artikkelit