CreateYourVPN Academy
Kursus: Sådan virker det

Serverovervågning og meshnetværket

Sådan holder CreateYourVPN øje med servernes sundhed: selvtjek, et meshnetværk af gensidige tjek mellem servere, og automatisk skjulning af utilgængelige servere for brugerne.

En server kan svigte dig på det værst tænkelige tidspunkt: en tjeneste går ned, udbyderen genstarter maskinen — eller, værre endnu, serveren bliver blokeret i et brugerlands og holder op med at være tilgængelig, selvom den teknisk set kører. Dine brugere bør aldrig mærke noget af det. Denne lektion handler om, hvordan CreateYourVPN våger over dine servere, og hvad der sker, når en af dem er i knibe.

To lag af tjek

Systemet ser på hver server fra to vinkler.

1. Serveren tjekker sig selv

Hvert par minutter melder hver server tilbage: er trafikaflytteren på port 443 i live, og kører VPN-tjenesten? Målingerne fra lektion 3 ankommer med den samme melding. Siger meldingen "jeg har det ikke godt", får serveren statussen "Server utilgængelig". Holder meldingerne helt op med at komme, bliver statussen "Ingen data fra serveren" — maskinen kan være slukket eller have mistet sit netværk.

2. Servere "banker på" hos hinanden

Selvtjek kan ikke fange det mest snedige tilfælde: en server tror, den har det godt, men er udefra ikke til at nå — for eksempel er dens IP blevet blokeret. Derfor er alle dine servere samlet i et meshnetværk af gensidige tjek: hver server prøver jævnligt at nå hver eneste nabo — på samme måde, som en brugers app ville gøre det.

Derfra tager en "afstemning" over:

  • Ét mislykket bank betyder ingenting — nettet kan bare have blinket. Kun vedvarende stimer af fejl tæller.
  • En server mærkes kun som "Ikke tilgængelig fra dine servere", når flere uafhængige servere konsekvent ikke kan nå den — én servers mening er ikke en dom.
  • Der er også beskyttelse mod det "upålidelige vidne": hvis en server pludselig hævder, at den ikke kan se halvdelen af sine naboer, ligger problemet højst sandsynligt hos den selv — og dens stemmer kasseres.

Det er netop denne ordning, der fanger blokeringer: bliver en server blokeret i et land, hvor dine andre servere befinder sig, holder naboerne fra det land hurtigt op med at kunne nå den, et kvorum bygges op, og systemet mærker serveren som utilgængelig. Samtidig bliver servere i lande uden blokeringen ved med at kunne se den — og forskellen i meninger gør billedet tydeligt.

Når forbindelsestjekket mellem to servere ikke går igennem

Afstemningen fanger en blokering, når du har flere servere i det land, der har lukket adgangen. Oftere står der præcis én: den holder op med at se din udenlandske server, mens de udenlandske ser hinanden fint. For sådan et billede kommer der aldrig et flertal.

Vi opdager det alligevel, men siger ærligt, hvad vi ikke ved. Ud fra "A kan ikke se B" kan man ikke udlede, hvis adresse der er blokeret: det er én og samme påstand om vejen mellem dem, og udefra ser begge tilfælde ens ud. Derfor:

  • Som standard beskylder vi ingen. Vi markerer som "Ikke tilgængelig" adgangspunkterne på den side, tjekket ikke kan nå - og på begge sider, hvis det fejler i begge retninger. Årsagen nævner begge servere (du ser den, når du åbner et adgangspunkt i serverkortet). Beslutningen om hvilken server du skifter er din: som regel er det den, dine kunder ikke kan nå.
  • Ingen af dem skjules. At skjule parret ville trække en helt sund server ud af abonnementet sammen med den anden. Kunderne får fortsat adgangspunkter fra begge servere, og balanceringen foretrækker blot de sunde, hvis ruten har nogen.

Kontrolserveren

For at få et entydigt svar i stedet for "en af de to", markér den server, hvis vurdering du stoler på: serverkort → "Brug denne server til at tjekke de andre for blokeringer".

Reglen er så enkel: holder kontrolserveren op med at se en almindelig server, betragter vi den almindelige servers adresse som blokeret, skriver til dig med rådet om at skifte IP og holder op med at udlevere dens adgangspunkter til kunder, så længe ruten har alternativer. Det modsatte, at en almindelig server ikke ser kontrolserveren, betyder intet.

Den bedste kontrolserver står i samme land som dine kunder: dens synsvinkel ligger tættest på det, brugerens app ser. Du kan markere flere. Markerer du derimod alle servere, forsvinder retningen igen: der ville ikke være nogen tilbage til at dømme, og parrene falder tilbage til standardadfærden. Bemærk, at kontrolserveren selv ikke længere markeres af dette signal: vi bedømmer ud fra dens side, så der er ingen tilbage til at bedømme den.

Hvad der sker med en problematisk server

Statusserne fodrer direkte ind i balanceringen: servere med statusserne "Server utilgængelig" og "Ikke tilgængelig fra dine servere" bliver trukket ud af rotationen — der sendes ingen nye forbindelser deres vej, og i brugernes abonnementer overtager sunde servere fra de samme ruter deres plads. Den eneste undtagelse er et brudt par uden kontrolserver: der markeres adgangspunkterne, men ingen af dem tages ud.

Samtidig er systemet forsigtigt — det er bygget på princippet "gør ingen skade":

  • En rute efterlades aldrig tom. Viser det sig, at alle servere på en rute er "dårlige", vil systemet servere brugerne den bedst tilgængelige mulighed frem for en tom liste — ellers ville apps beslutte, at serverne er væk, og slette dem.
  • Stilhed er ikke en dom. Statussen "Ingen data fra serveren" fjerner ikke i sig selv en server fra rotationen: uden friske data foretager systemet ingen forhastede træk.

Alt heler sig selv

Ingen af statusserne "hænger fast" for evigt — tilstanden genudledes ud fra friske data:

  • serveren sender en sund melding igen → "Server utilgængelig" hæves;
  • naboerne begynder at kunne nå den igen → fejlstimen nulstilles, og mærket "Ikke tilgængelig fra dine servere" forsvinder;
  • meldingerne genoptages → "Ingen data fra serveren" forsvinder.

Fix serveren (eller vent på, den bliver afblokeret) — og den sætter sig selv tilbage i drift. Ingen manuel "tænd den igen".

Hvor du ser det i panelet

Åbn en hvilken som helst brugers kort → deres serverliste: ved siden af hver server er der en statusprik, og når noget er galt — en tekst med årsagen: "Server utilgængelig", "Ikke tilgængelig fra dine servere" (inklusive hvor mange af dine servere, der ikke kan se den), eller "Ingen data fra serveren". Indirekte tegn dukker også op på serverkortene: et "forældet"-badge på målingerne og "Ingen data — agenten svarer ikke".

Meshtjek er ekstremt sparsommelige: det er ganske små prøvestik med et strengt dagligt volumenloft — de har ingen indvirkning på dine serveres trafik eller ydeevne.

Vigtigste pointer

  • To lag af kontrol: en server tjekker sig selv, og dens meshnaboer tjekker den udefra.
  • Blokeringer fanges af en "afstemning" blandt flere servere — ingen panik over enkeltstående glitch.
  • Problematiske servere falder ud af rotationen; brugere flytter i stilhed til sunde servere.
  • Alt heler sig selv: i det øjeblik en server kommer til live igen, slutter den sig automatisk til igen.
  • Hvis forbindelsestjekket mellem et par servere ikke går igennem, og der ikke er valgt en kontrolserver, markerer vi adgangspunkterne på den uopnåelige side (eller på begge, hvis det fejler i begge retninger) og skjuler ingen af dem: beslutningen er din.

Op næste gang

Infrastrukturen ved, hvordan den skal fikse sig selv, men der er én ting, der fortjener at blive beskyttet for sig — din brugerbase.

On this page