Su tuneliu gali nepavykti trys skirtingi dalykai, ir jie reikalauja trijų skirtingų reakcijų. Partneris nustoja atsakinėti, demono procesas miršta arba programa už tunelio nustoja aptarnauti. Konfigūracija, kuri bet kuriuo iš šių atvejų paleidžia paslaugą iš naujo, nėra kruopšti priežiūra; tai vienas grubus veiksmas, taikomas nesusijusiems gedimams. Palyginus, ką iš tikrųjų gali stebėti kiekvienas mechanizmas, darbo pasidalijimas tampa akivaizdus.

Trys gedimai, kurie atrodo kaip vienas

Partnerio tyla reiškia, kad kitas galas nustojo siųsti, ir OpenVPN gali tai aptikti pats, nes jam priklauso širdies plakimas. Proceso mirtis reiškia, kad demonas išėjo, ką pastebi paslaugų valdytojas, o OpenVPN negali. Programos gedimas reiškia, kad tunelis geras, o kažkas už jo ne, ir nė vienas iš kitų dviejų mechanizmų neturi būdo to žinoti. Kiekvienas reikalauja kitokios reakcijos, ir nė vienas nėra tas pats, kas pastebėjimas, jog tunelis veikia.

Tai skirtingi skirtingų sluoksnių signalai, ir kiekvienas turi šeimininką, galintį veikti be spėliojimų. Sumaišius juos gaunama sistema, kuri persikrauna dėl simptomų, kurių negali interpretuoti.

Užrašykite tris atvejus prieš keisdami bet kurį laikmatį. Pats sąrašas paprastai parodo, kad vieno mechanizmo prašoma apimti visus tris.

Į ką keepalive iš tikrųjų išsiskleidžia

Nurodymas keepalive yra sutrumpinimas, o išsiskleidimas skiriasi pagal režimą. Serveryje keepalive 10 60 tampa vietiniu ping kas dešimt sekundžių, vietiniu paleidimo iš naujo terminu 120 sekundžių ir reikšmėmis 10 bei 60, siunčiamomis klientams. Serverio terminas sąmoningai padvigubinamas, kad klientas turėtų galimybę persikrauti prieš serveriui pasiduodant. Skaitykite išskleistas formas veikiančioje konfigūracijoje, o ne sutrumpinimą profilyje.

Būtent šis padvigubinimas yra priežastis, kodėl bet koks aprašymas, teigiantis, kad abu galai persikrauna po šešiasdešimt sekundžių, yra klaidingas. Tai taip pat paaiškina, kodėl du galai nesiūbuoja kartu, kai maršrutas blogėja.

Širdies plakimas yra OpenVPN partnerių srautas, o ne kurio nors viešo kompiuterio ICMP patikra. Atsakymas įrodo tik tai, kad tolimasis tunelio galas gyvas. Jis nieko nesako apie duomenų bazę ar žiniatinklio paslaugą, kurios vartotojui iš tikrųjų reikia.

Ko Restart=on-failure nestebi

Perskaitykite įdiegtą įrenginį prieš pridėdami perrašymą. Restart=on-failure reaguoja į dokumentuotas proceso gedimo sąlygas, o tai nėra tas pats, kas ryšio būsenos stebėjimas. Jis nesuveikia todėl, kad prasidėjo vidinis prisijungimas iš naujo, ir švarus išėjimas turi kitą prasmę nei žlugimas.

Šis skirtumas svarbus, nes vidinis paleidimas iš naujo išlaiko tą patį procesą gyvą. Įrenginys nieko nemato, tunelis atsistato pats, ir tai yra teisingas rezultatas.

Nustatykite RestartSec ir paleidimo ribas sąmoningai, kitaip žlugimų ciklas daužys šliuzą ir palaidos tikrąją klaidą po paleidimo pranešimais. Suveikusi paleidimo riba palieka įrenginį gedimo būsenoje, o tai matoma, tuo tarpu neribotas ciklas nėra matomas.

ping-restart ir ping-exit nėra keičiami

ping-restart sukelia vidinį OpenVPN paleidimą iš naujo ir išlaiko procesą. ping-exit užbaigia procesą esant tokiam pačiam terminui, o tai perduoda sprendimą paslaugų valdytojui. Jie vienas kitą atmeta, o pasirinkus antrąjį pasikeičia, kam priklauso atkūrimas. Skirtumas yra tai, kas nusprendžia bandyti dar kartą, ir kiek būsenos išlieka po bandymo.

Jei pasirenkate išėjimą pasibaigus terminui, įrenginiui reikia atitinkančios paleidimo politikos ir išėjimo būsenos apdorojimo, kitaip gyvybingumo gedimas atrodo kaip nuolatinis sustojimas. Išliekamumo parinktys taip pat gali išsaugoti sąsajas ir maršrutus per vidinį paleidimą iš naujo, bet ne per proceso išėjimą.

Pasirinkite vieną gyvavimo ciklą vienam diegimui ir užrašykite kodėl. Profilis, turintis abu nurodymus, yra profilis, kuris neapsisprendė.

Išbandykite kiekvieną gedimą kaip atskirą atvejį

Patvirtintame lange imituokite tylų partnerį, nužudytą demoną ir nepasiekiamą programą, tada patikrinkite, kuris atkūrimas suveikė. Tylus partneris turėtų sukelti vidinį prisijungimą iš naujo, nužudytas procesas – įrenginio paleidimą iš naujo, o programos sutrikimas – nė vieno iš jų. Kai du atvejai duoda tą patį veiksmą, nuosavybė vis dar sumišusi.

Pasikartojantis atkūrimas taip pat nėra taisymas. Atmesti prisijungimo duomenys arba du klientai, bendrinantys vieną veiksmingą vardą, ir toliau keis vienas kitą, o greitesni laikmačiai tą siūbavimą tik pagreitina.

Susiję straipsniai