keepalive OpenVPN:ssä vai systemd:n restart: kumpi palauttaa yhteyden?
Hiljainen vastapuoli, kuollut prosessi ja käyttökelvoton sovellus ovat kolme eri vikaa. Anna keepalive OpenVPN:lle, prosessi systemd:lle ja testaa jokainen tapaus.
Kolme eri asiaa voi mennä pieleen tunnelissa, ja ne vaativat kolme eri reaktiota. Vastapuoli lakkaa vastaamasta, taustaprosessi kuolee tai tunnelin takana oleva sovellus lakkaa palvelemasta. Kokoonpano, joka käynnistää palvelun uudelleen minkä tahansa niiden vuoksi, ei ole huolellista valvontaa; se on yksi karkea toimenpide, jota sovelletaan toisiinsa liittymättömiin vikoihin. Vertailu siitä, mitä kukin mekanismi voi todella havaita, tekee työnjaon ilmeiseksi.
Kolme vikaa, jotka näyttävät yhdeltä
Vastapuolen hiljaisuus tarkoittaa, että toinen pää lakkasi lähettämästä, ja OpenVPN voi havaita sen itse, koska se omistaa sydämenlyönnin. Prosessin kuolema tarkoittaa, että taustaprosessi poistui, minkä palvelunhallinta huomaa eikä OpenVPN voi. Sovelluksen vika tarkoittaa, että tunneli on kunnossa ja jotain sen takana ei ole, eikä kummallakaan muulla mekanismilla ole mitään keinoa tietää sitä. Jokainen tarvitsee eri reaktion, eikä mikään niistä ole sama kuin sen huomaaminen, että tunneli on pystyssä.
Nämä ovat eri kerrosten eri signaaleja, ja jokaisella on omistaja, joka voi toimia sen perusteella arvaamatta. Niiden sekoittaminen tuottaa järjestelmän, joka käynnistyy uudelleen oireiden vuoksi, joita se ei osaa tulkita.
Kirjoita kolme tapausta muistiin ennen minkään ajastimen muuttamista. Luettelo itse osoittaa yleensä, että yhdeltä mekanismilta pyydetään kaikkien kolmen kattamista.
Mihin keepalive oikeastaan laajenee
Direktiivi keepalive on lyhenne, ja laajeneminen vaihtelee tilan mukaan. Palvelimella keepalive 10 60 muuttuu paikalliseksi pingiksi kymmenen sekunnin välein, paikalliseksi uudelleenkäynnistyksen aikakatkaisuksi 120 sekuntia ja arvoiksi 10 ja 60, jotka lähetetään asiakkaille. Palvelimen aikakatkaisu kaksinkertaistetaan tarkoituksella, jotta asiakas saa mahdollisuuden käynnistyä uudelleen ennen kuin palvelin luovuttaa. Lue laajennettu muoto käynnissä olevasta kokoonpanosta, älä profiilin lyhennettä.
Tämä kaksinkertaistaminen on syy siihen, miksi jokainen kuvaus, joka väittää molempien päiden käynnistyvän uudelleen kuudenkymmenen sekunnin kuluttua, on väärä. Se selittää myös, miksi kaksi päätä eivät lepata tahdissa, kun polku huononee.
Sydämenlyönti on OpenVPN:n vastapuoliliikennettä, ei minkään julkisen isännän ICMP-koetin. Vastaus todistaa vain, että tunnelin kaukainen pää on elossa. Se ei kerro mitään tietokannasta tai verkkopalvelusta, jota käyttäjä todella tarvitsee.
Mitä Restart=on-failure ei valvo
Lue asennettu yksikkö ennen ohituksen lisäämistä. Restart=on-failure reagoi dokumentoituihin prosessivikatilanteisiin, mikä ei ole sama kuin yhteyden tilan valvominen. Se ei laukea siksi, että sisäinen uudelleenyhdistäminen alkoi, ja puhtaalla poistumisella on eri merkitys kuin kaatumisella.
Tämä ero on tärkeä, koska sisäinen uudelleenkäynnistys pitää saman prosessin elossa. Yksikkö ei näe mitään, tunneli palautuu itsestään, ja se on oikea lopputulos.
Aseta RestartSec ja käynnistysrajat tarkoituksella, muuten kaatumissilmukka jyskyttää yhdyskäytävää ja hautaa todellisen virheen uudelleenkäynnistysviestien alle. Laukeava uudelleenkäynnistysraja jättää yksikön epäonnistuneeksi, mikä on näkyvää, kun taas rajoittamaton silmukka ei ole.
ping-restart ja ping-exit eivät ole vaihdettavissa
ping-restart käynnistää OpenVPN:n sisäisen uudelleenkäynnistyksen ja säilyttää prosessin. ping-exit lopettaa prosessin samanlaisella aikakatkaisulla, mikä antaa päätöksen palvelunhallinnalle. Ne sulkevat toisensa pois, ja toisen valinta muuttaa sitä, kenelle palautus kuuluu. Ero on siinä, kuka päättää yrittää uudelleen, ja kuinka paljon tilaa yrityksestä selviää.
Jos valitset poistumisen aikakatkaisulla, yksikkö tarvitsee uudelleenkäynnistyskäytännön ja poistumistilan käsittelyn, jotka sopivat yhteen, muuten elinvoimaisuuden vika näyttää pysyvältä pysähdykseltä. Pysyvyysasetukset voivat myös säilyttää liitännät ja reitit sisäisen uudelleenkäynnistyksen ajan, mutta eivät prosessin poistumisen ajan.
Valitse yksi elinkaari käyttöönottoa kohti ja kirjoita perustelu. Profiili, joka kantaa molemmat direktiivit, on profiili, joka ei ole päättänyt.
Testaa jokainen vika omana tapauksenaan
Simuloi hiljainen vastapuoli, tapettu taustaprosessi ja käyttökelvoton sovellus hyväksytyssä ikkunassa ja tarkista sitten, mikä palautus laukesi. Hiljaisen vastapuolen pitäisi tuottaa sisäinen uudelleenyhdistäminen, tapetun prosessin yksikön uudelleenkäynnistys ja sovelluskatkoksen ei kumpikaan. Kun kaksi tapausta tuottaa saman toimenpiteen, omistajuus on yhä sekaisin.
Toistuva palautus ei ole korjauskaan. Hylätyt tunnistetiedot tai kaksi asiakasta, jotka jakavat saman tehokkaan nimen, korvaavat toisiaan edelleen, ja nopeammat ajastimet tekevät siitä lepattamisesta vain nopeampaa.