CreateYourVPN Academy
Kurzus: hogyan működik minden

Szerver-monitorozás és a mesh hálózat

Hogyan figyeli a CreateYourVPN a szerverek állapotát: önellenőrzés, a szerverek kölcsönös ellenőrzéseinek mesh hálózata, és az elérhetetlen szerverek automatikus elrejtése a felhasználók elől.

Egy szerver a lehető legrosszabb pillanatban is cserben hagyhat: leáll egy szolgáltatás, a tárhelyszolgáltató újraindítja a gépet — vagy, ami még rosszabb, a szervert blokkolják egy felhasználó országában, és elérhetetlenné válik, jóllehet technikailag fut. A felhasználóidnak sosem szabadna ebből bármit is észrevenniük. Ez a lecke bemutatja, hogyan vigyáz a CreateYourVPN a szervereidre, és mi történik, ha valamelyik bajban van.

Az ellenőrzés két rétege

A rendszer két szempontból vizsgál minden szervert.

1. A szerver önmagát ellenőrzi

Néhány percenként minden szerver jelentést küld: él-e a 443-as porton figyelő forgalomkezelő, és fut-e a VPN-szolgáltatás? Ugyanezzel a jelentéssel érkeznek a 3. leckében megismert metrikák is. Ha a jelentés szerint »nincs jól«, a szerver megkapja a »Szerver nem elérhető« állapotot. Ha a jelentések teljesen elmaradnak, az állapot »Nincs adat a szervertől« lesz — lehet, hogy a gép ki van kapcsolva, vagy elvesztette a hálózati kapcsolatát.

2. A szerverek »kopognak« egymáson

Az önellenőrzés nem tudja elkapni a legalattomosabb esetet: egy szerver úgy hiszi, egészséges, de kívülről nem érhető el — például az IP-jét blokkolták. Ezért az összes szervered egy kölcsönös ellenőrzések mesh hálózatába kapcsolódik: minden szerver rendszeresen megpróbálja elérni az összes szomszédját — pontosan úgy, ahogy egy felhasználó alkalmazása tenné.

Innentől egy »szavazás« veszi át az irányítást:

  • Egyetlen sikertelen kopogtatás semmit sem jelent — lehet, hogy csak a hálózat akadt egy pillanatra. Csak a tartós, egymást követő kudarcsorozatok számítanak.
  • Egy szerver csak akkor kapja meg a »Nem érhető el a szervereiről« jelzést, ha több független szerver tartósan nem éri el — egyetlen szerver véleménye nem ítélet.
  • Van védelem a »megbízhatatlan tanú« ellen is: ha valamelyik szerver hirtelen azt állítja, hogy a szomszédai felét nem látja, a probléma valószínűleg saját magával van — és a szavazatait elvetik.

Pontosan ez a séma kapja el a blokkolásokat: ha egy szervert blokkolnak egy olyan országban, ahol más szervereid is élnek, az ottani szomszédok gyorsan nem fogják tudni elérni, kialakul a kvórum, és a rendszer elérhetetlennek jelöli a szervert. Eközben azok a szerverek, amelyek olyan országban vannak, ahol nincs blokk, továbbra is látni fogják — és a vélemények különbsége egyértelművé teszi a helyzetet.

Amikor a szerverek közötti kapcsolatellenőrzés nem megy át

A szavazás akkor fogja meg a blokkolást, ha a hozzáférést lezáró országban több szervere van. Gyakrabban azonban pontosan egy áll ott: az már nem látja a külföldi szerverét, míg a külföldiek egymást kiválóan látják. Ilyen képhez soha nem gyűlik össze a szükséges többség.

Ettől még észrevesszük, de őszintén megmondjuk, mit nem tudunk. Az „A nem látja B-t" állításból nem következtethető ki, kinek a címe van blokkolva: ez egy és ugyanaz az állítás a köztük lévő útról, kívülről pedig mindkét eset ugyanúgy néz ki. Ezért:

  • Alapértelmezés szerint senkit nem vádolunk. „Nem érhető el" jelölést adunk annak az oldalnak a belépési pontjaira, ahová az ellenőrzés nem jut el, és mindkét oldalnak, ha egyik irányban sem megy át. Az indoklás mindkét szervert megnevezi (akkor látja, ha megnyit egy belépési pontot a szerverkártyán). Önnek kell eldöntenie, melyik szervert cseréli: általában azt, amelyiket az ügyfelei nem érik el.
  • Egyiket sem rejtjük el. A pár elrejtése egy teljesen egészséges szervert is kivenne az előfizetésből. Az ügyfelek továbbra is megkapják mindkét szerver belépési pontjait, a terheléselosztás pedig egyszerűen az egészségeseket részesíti előnyben, ha az útvonalon van ilyen.

Az ellenőrző szerver

Hogy „egyikük" helyett pontos választ kapjon, jelölje meg azt a szervert, amelynek ellenőrzésében megbízik: szerverkártya → „Ez a szerver ellenőrizze a többit blokkolásra".

A szabály ezután egyszerű: ha az ellenőrző szerver már nem látja a hétköznapi szervert, a hétköznapi szerver címét tekintjük blokkoltnak, írunk Önnek azzal a tanáccsal, hogy cserélje le az IP-t, és amíg az útvonalon van alternatíva, nem adjuk ki a belépési pontjait az ügyfeleknek. A fordítottja, amikor egy hétköznapi szerver nem látja az ellenőrzőt, semmit nem jelent.

A legjobb ellenőrző szerver az ügyfeleivel azonos országban áll: az ő nézőpontja áll a legközelebb ahhoz, amit a felhasználó alkalmazása lát. Többet is megjelölhet. Ha azonban az összes szervert megjelöli, az irány újra eltűnik: nem maradna senki, aki ítéljen, és a párok visszaesnek az alapértelmezett viselkedéshez. Vegye figyelembe, hogy magát az ellenőrző szervert ez a jelzés már nem jelöli meg: az ő oldaláról ítélünk, tehát nem marad senki, aki őt ítélné meg.

Mi történik egy problémás szerverrel

Az állapotok közvetlenül befolyásolják az elosztást: a »Szerver nem elérhető« és a »Nem érhető el a szervereiről« állapotú szerverek kikerülnek a forgásból — nem küldünk feléjük új kapcsolatokat, és a felhasználók előfizetéseiben a helyüket ugyanazon útvonalak egészséges szerverei veszik át. Az egyetlen kivétel az ellenőrző szerver nélküli megszakadt pár: ott a belépési pontok meg vannak jelölve, de egyiket sem vesszük ki.

Ugyanakkor a rendszer óvatos — a »ne árts« elvre épül:

  • Egy útvonal sosem marad üresen. Ha egy útvonal minden szervere »rossznak« bizonyul, a rendszer inkább a legjobb elérhető lehetőséget szolgálja ki a felhasználóknak, mintsem üres listát — különben az alkalmazások azt hinnék, a szerverek eltűntek, és törölnék őket.
  • A csend nem ítélet. A »Nincs adat a szervertől« állapot önmagában nem veszi ki a szervert a forgásból: friss adatok nélkül a rendszer nem tesz hirtelen lépéseket.

Minden magától gyógyul

Egyik állapot sem »ragad« örökre — az állapot mindig friss adatokból származik újra:

  • a szerver újra egészséges jelentést küld → a »Szerver nem elérhető« állapot megszűnik;
  • a szomszédok újra elérik → a kudarcsorozat visszaáll, és a »Nem érhető el a szervereiről« jelzés eltűnik;
  • a jelentések újraindulnak → a »Nincs adat a szervertől« eltűnik.

Javítsd meg a szervert (vagy várd meg, amíg feloldják a blokkolását) — és az magától visszaáll szolgálatba. Nincs kézi »visszakapcsolás«.

Hol látod ezt a panelen

Nyisd meg bármelyik felhasználó kártyáját → a szerverlistájukat: minden szerver mellett egy állapotpont látható, és ha valami baj van — egy felirat az okkal: »Szerver nem elérhető«, »Nem érhető el a szervereiről« (azzal együtt, hány szervered nem látja), vagy »Nincs adat a szervertől«. Közvetett jelek a szerverkártyákon is megjelennek: egy »elavult« jelvény a metrikákon, és »Nincs adat — az ügynök nem válaszol«.

A mesh-ellenőrzések rendkívül takarékosak: apró próbaérintések, szigorú napi mennyiségi korláttal — semmilyen hatásuk nincs a szervereid forgalmára vagy teljesítményére.

A lényeg dióhéjban

  • Két ellenőrzési réteg: a szerver önmagát ellenőrzi, a mesh-szomszédai pedig kívülről ellenőrzik.
  • A blokkolásokat több szerver »szavazata« kapja el — nincs pánik egyszeri döccenők miatt.
  • A problémás szerverek kikerülnek a forgásból; a felhasználók észrevétlenül átkerülnek az egészségesekre.
  • Minden magától gyógyul: amint egy szerver újra életre kel, automatikusan visszacsatlakozik.
  • Ha két szerver közötti kapcsolatellenőrzés nem megy át, és nincs beállítva ellenőrző szerver, megjelöljük az elérhetetlen oldal belépési pontjait (vagy mindkettőét, ha egyik irányban sem megy át), és egyiket sem rejtjük el: a döntés az Öné.

Következik

Az infrastruktúra tudja, hogyan javítsa meg magát, de van még valami, amit külön érdemes megvédeni — a felhasználói bázisod.

On this page