CreateYourVPN Academy
Tečaj: Kako to radi

Nadzor poslužitelja i mesh mreža

Kako CreateYourVPN prati zdravlje poslužitelja: samoprovjere, mesh mreža međusobnih provjera između poslužitelja i automatsko skrivanje nedostupnih poslužitelja od korisnika.

Poslužitelj vas može iznevjeriti u najgorem mogućem trenutku: usluga se sruši, pružatelj hostinga ponovno pokrene stroj — ili, još gore, poslužitelj bude blokiran u državi korisnika i prestane biti dostupan iako je tehnički upaljen. Vaši korisnici ništa od toga nikad ne bi trebali primijetiti. Ova lekcija govori o tome kako CreateYourVPN pazi na vaše poslužitelje i što se događa kad jedan od njih zapadne u probleme.

Dva sloja provjera

Sustav svaki poslužitelj promatra iz dva kuta.

1. Poslužitelj sam sebe provjerava

Svakih nekoliko minuta svaki se poslužitelj javlja: radi li osluškivač prometa na portu 443 i je li VPN usluga pokrenuta? Metrike iz lekcije 3 stižu s istim izvještajem. Ako izvještaj kaže "nisam dobro", poslužitelj dobiva status "Poslužitelj nedostupan". Ako izvještaji posve prestanu stizati, status postaje "Nema podataka s poslužitelja" — stroj je možda ugašen ili je izgubio mrežu.

2. Poslužitelji "kucaju jedni drugima na vrata"

Samoprovjere ne mogu uhvatiti najlukaviji slučaj: poslužitelj vjeruje da je zdrav, ali izvana je nedostižan — na primjer, njegov je IP blokiran. Zato su svi vaši poslužitelji povezani u mesh mrežu međusobnih provjera: svaki poslužitelj redovito pokušava dosegnuti svakog susjeda — na isti način na koji bi to učinila aplikacija korisnika.

Odatle preuzima "glasanje":

  • Jedan neuspjeli pokušaj ne znači ništa — mreža je možda samo zatreperila. Broje se samo trajni nizovi neuspjeha.
  • Poslužitelj se označava kao "Nedostupan s vaših poslužitelja" tek kad ga nekoliko neovisnih poslužitelja dosljedno ne uspijeva dosegnuti — mišljenje jednog poslužitelja nije presuda.
  • Postoji i zaštita od "nepouzdanog svjedoka": ako neki poslužitelj odjednom tvrdi da ne vidi polovicu svojih susjeda, problem je najvjerojatnije njegov — pa se njegovi glasovi odbacuju.

Upravo ova shema hvata blokade: ako poslužitelj bude blokiran u državi u kojoj žive vaši drugi poslužitelji, susjedi iz te države brzo će prestati moći ga dosegnuti, nakupit će se kvorum i sustav će ga označiti nedostupnim. Istovremeno, poslužitelji u državama bez blokade i dalje će ga viđati — a razlika u mišljenjima čini sliku očitom.

Kada provjera veze između dva poslužitelja ne prolazi

Glasovanje hvata blokadu kada u zemlji koja je zatvorila pristup imate više poslužitelja. Češće tamo stoji točno jedan: prestane vidjeti vaš inozemni poslužitelj, dok se inozemni međusobno vide bez problema. Za takvu sliku kvorum se nikada neće skupiti.

Ipak to primjećujemo, ali pošteno govorimo što ne znamo. Iz „A ne vidi B" ne može se zaključiti čija je adresa blokirana: to je jedna te ista tvrdnja o putu između njih, a izvana oba slučaja izgledaju jednako. Zato:

  • Prema zadanim postavkama nikoga ne optužujemo. Kao „Nedostupan" označavamo ulazne točke one strane do koje provjera ne dolazi, a obje strane ako ne prolazi ni u jednom smjeru. U razlogu su navedena oba poslužitelja (vidjet ćete ih ako ulaznu točku otvorite u kartici poslužitelja). Odluku koji poslužitelj zamijeniti donosite vi: obično je to onaj do kojeg vaši klijenti ne dolaze.
  • Nijedan od njih se ne skriva. Sakriti par značilo bi iz pretplate izbaciti i posve ispravan poslužitelj. Klijenti i dalje dobivaju ulazne točke oba poslužitelja, a balansiranje jednostavno daje prednost zdravima, ako ih ruta ima.

Provjeravajući poslužitelj

Da biste umjesto „jedan od dvojice" dobivali točan odgovor, označite poslužitelj čijoj provjeri vjerujete: kartica poslužitelja → „Koristi ovaj poslužitelj za provjeru blokada ostalih".

Pravilo je onda jednostavno: ako provjeravajući poslužitelj prestane vidjeti obični poslužitelj, adresu običnog smatramo blokiranom, pišemo vam sa savjetom da promijenite IP i prestajemo klijentima izdavati njegove ulazne točke dok ruta ima alternative. Obrnuto, kada obični ne vidi provjeravajući, ne znači ništa.

Najbolji provjeravajući poslužitelj stoji u istoj zemlji u kojoj su vaši klijenti: njegov je pogled najbliži onome što vidi korisnikova aplikacija. Možete ih označiti više. No ako označite sve poslužitelje, smjer opet nestaje: ne bi ostao nitko tko bi presudio, i parovi se vraćaju na zadano ponašanje. Imajte na umu da sam provjeravajući poslužitelj ovim signalom više neće biti označen: sudimo s njegove strane, pa ne ostaje nitko tko bi sudio njemu.

Što se događa problematičnom poslužitelju

Statusi izravno hrane balansiranje: poslužitelji sa statusima "Poslužitelj nedostupan" i "Nedostupan s vaših poslužitelja" izbačeni su iz rotacije — na njih se ne šalju nove veze, a u pretplatama korisnika njihovo mjesto preuzimaju zdravi poslužitelji iz istih ruta. Jedina je iznimka prekinuti par bez provjeravajućeg poslužitelja: ondje se ulazne točke označavaju, ali nijedna se ne izbacuje.

Istovremeno, sustav je oprezan — izgrađen je na načelu "ne štetiti":

  • Ruta nikad ne ostaje prazna. Ako se svi poslužitelji na ruti pokažu "lošima", sustav će korisnicima poslužiti najbolju dostupnu opciju umjesto praznog popisa — inače bi aplikacije zaključile da su poslužitelji nestali i izbrisale ih.
  • Šutnja nije presuda. Status "Nema podataka s poslužitelja" sam po sebi ne uklanja poslužitelj iz rotacije: bez svježih podataka sustav ne poduzima nagle poteze.

Sve se samo iscjeljuje

Nijedan status ne "lijepi" se zauvijek — stanje se iznova izvodi iz svježih podataka:

  • poslužitelj ponovno pošalje zdrav izvještaj → "Poslužitelj nedostupan" se uklanja;
  • susjedi ga ponovno počnu dosezati → niz neuspjeha se resetira, a oznaka "Nedostupan s vaših poslužitelja" nestaje;
  • izvještaji se nastave → "Nema podataka s poslužitelja" nestaje.

Popravite poslužitelj (ili pričekajte da se blokada ukloni) — i on se sam vraća u pogon. Nema ručnog "ponovnog uključivanja".

Gdje ovo vidjeti u panelu

Otvorite karticu bilo kojeg korisnika → njegov popis poslužitelja: uz svaki poslužitelj nalazi se točka statusa, a kad nešto nije u redu — natpis s razlogom: "Poslužitelj nedostupan", "Nedostupan s vaših poslužitelja" (uključujući koliko vaših poslužitelja ga ne vidi) ili "Nema podataka s poslužitelja". Neizravni znakovi vidljivi su i na karticama poslužitelja: oznaka "zastarjelo" na metrikama i "Nema podataka — agent ne odgovara".

Mesh provjere iznimno su štedljive: riječ je o sitnim probnim dodirima sa strogom dnevnom granicom količine — nemaju nikakav utjecaj na promet ili performanse vaših poslužitelja.

Ključni zaključci

  • Dva sloja kontrole: poslužitelj provjerava sam sebe, a njegovi mesh susjedi provjeravaju ga izvana.
  • Blokade se hvataju "glasanjem" nekoliko poslužitelja — bez panike zbog jednokratnih hirova.
  • Problematični poslužitelji ispadaju iz rotacije; korisnici tiho prelaze na zdrave.
  • Sve se samoiscjeljuje: čim se poslužitelj vrati u život, automatski se ponovno pridružuje.
  • Ako provjera veze između para poslužitelja ne prolazi, a provjeravajući nije odabran, označavamo ulazne točke nedostupne strane (ili oba, ako ne prolazi ni u jednom smjeru) i nijednu ne skrivamo: odluka je na vama.

Sljedeće

Infrastruktura zna sama sebe popraviti, ali postoji jedna stvar koju vrijedi štititi zasebno — vaša baza korisnika.

On this page