Serverovervåking og meshnettverket
Hvordan CreateYourVPN holder øye med serverhelsen: egensjekker, et meshnettverk av gjensidige sjekker mellom servere, og automatisk skjuling av utilgjengelige servere for brukerne.
En server kan svikte deg i verst tenkelige øyeblikk: en tjeneste krasjer, leverandøren starter maskinen på nytt — eller, enda verre, serveren blir blokkert i et brukerland og slutter å være nåbar selv om den teknisk sett er oppe. Brukerne dine skal aldri merke noe av dette. Denne leksjonen dekker hvordan CreateYourVPN vokter over serverne dine og hva som skjer når en av dem er i trøbbel.
To lag med sjekker
Systemet ser på hver server fra to vinkler.
1. Serveren sjekker seg selv
Hvert par minutter rapporterer hver server inn: er trafikklytteren på port 443 i live, og kjører VPN-tjenesten? Målingene fra leksjon 3 kommer med samme rapport. Sier rapporten «jeg har det ikke bra», får serveren statusen «Server utilgjengelig». Hvis rapportene slutter å komme i det hele tatt, blir statusen «Ingen data fra serveren» — maskinen kan være avslått eller ha mistet nettverket sitt.
2. Servere «banker på» hverandre
Egensjekker kan ikke fange opp det snikeste tilfellet: en server tror den har det bra, men er ikke nåbar utenfra — for eksempel har IP-en blitt blokkert. Derfor er alle serverne dine sammenkoblet i et meshnettverk av gjensidige sjekker: hver server prøver jevnlig å nå hver nabo — på samme måte som en brukers app ville gjort.
Deretter tar en «avstemning» over:
- Ett mislykket forsøk betyr ingenting — nettverket kan bare ha blunket. Bare vedvarende rekker av feil teller.
- En server merkes «Ikke nåbar fra dine servere» bare når flere uavhengige servere konsekvent mislykkes i å nå den — én servers mening er ingen dom.
- Det finnes også beskyttelse mot det «upålitelige vitnet»: hvis en server plutselig hevder at den ikke kan se halvparten av naboene sine, ligger problemet mest sannsynlig hos den selv — og stemmene dens forkastes.
Dette er akkurat den ordningen som fanger opp blokkeringer: hvis en server blir blokkert i et land der andre servere dine bor, vil naboene fra det landet raskt slutte å nå den, det bygges opp et flertall, og systemet merker serveren utilgjengelig. Samtidig vil servere i land uten blokkeringen fortsette å se den — og forskjellen i meninger gjør bildet tydelig.
Når forbindelsessjekken mellom to servere ikke går gjennom
Avstemningen fanger opp en blokkering når du har flere servere i landet som har stengt tilgangen. Oftere står det nøyaktig én der: den slutter å se den utenlandske serveren din, mens de utenlandske ser hverandre helt fint. For et slikt bilde kommer det aldri et flertall.
Vi merker det likevel, men sier ærlig hva vi ikke vet. Av «A ser ikke B» kan man ikke utlede hvem sin adresse som er blokkert: det er én og samme påstand om veien mellom dem, og utenfra ser begge tilfellene helt like ut. Derfor:
- Som standard beskylder vi ingen. Vi merker som «Ikke tilgjengelig» inngangspunktene på den siden sjekken ikke når fram til - og på begge sider hvis den feiler i begge retninger. Årsaken nevner begge serverne (du ser den når du åpner et inngangspunkt i serverkortet). Du bestemmer selv hvilken server du bytter: som regel er det den kundene dine ikke når fram til.
- Ingen av dem skjules. Å skjule paret ville tatt en helt frisk server ut av abonnementet sammen med den andre. Kundene får fortsatt inngangspunkter fra begge serverne, og balanseringen foretrekker rett og slett de friske hvis ruten har noen.
Kontrollserveren
For å få et entydig svar i stedet for «en av de to», merk serveren du stoler på vurderingen til: serverkort → «Bruk denne serveren til å sjekke de andre for blokkeringer».
Regelen er da enkel: slutter kontrollserveren å se en vanlig server, regner vi den vanlige serverens adresse som blokkert, skriver til deg med råd om å bytte IP og slutter å gi ut dens inngangspunkter til kunder så lenge ruten har alternativer. Det motsatte, at en vanlig server ikke ser kontrollserveren, betyr ingenting.
Den beste kontrollserveren står i samme land som kundene dine: synsvinkelen ligger nærmest det brukerens app ser. Du kan merke flere. Men merker du alle serverne, forsvinner retningen igjen: ingen ville vært igjen til å dømme, og par faller tilbake til standardoppførselen. Merk at kontrollserveren selv ikke lenger merkes av dette signalet: vi dømmer fra dens side, så det er ingen igjen til å dømme den.
Hva som skjer med en problematisk server
Statusene mates direkte inn i balanseringen: servere med statusene «Server utilgjengelig» og «Ikke nåbar fra dine servere» trekkes ut av rotasjonen — ingen nye tilkoblinger sendes deres vei, og i brukernes abonnementer tar friske servere fra samme ruter deres plass. Det eneste unntaket er et brutt par uten kontrollserver: der merkes inngangspunktene, men ingen av dem tas ut.
Samtidig er systemet forsiktig — det er bygget på prinsippet «gjør ingen skade»:
- En rute blir aldri stående tom. Hvis alle servere på en rute viser seg å være «dårlige», vil systemet servere brukerne det beste tilgjengelige alternativet i stedet for en tom liste — ellers ville appene konkludert med at serverne er borte og fjernet dem.
- Stillhet er ingen dom. Statusen «Ingen data fra serveren» fjerner ikke en server fra rotasjonen på egen hånd: uten ferske data gjør systemet ingen brå bevegelser.
Alt leger seg selv
Ingen av statusene «sitter fast» for alltid — tilstanden utledes på nytt fra ferske data:
- serveren sender en frisk rapport igjen → «Server utilgjengelig» oppheves;
- naboene begynner å nå den igjen → feilrekken nullstilles, og merket «Ikke nåbar fra dine servere» forsvinner;
- rapportene gjenopptas → «Ingen data fra serveren» forsvinner.
Fiks serveren (eller vent til den blir avblokkert) — så setter den seg selv tilbake i drift. Ingen manuell «skru den på igjen».
Hvor du ser dette i panelet
Åpne en hvilken som helst brukers kort → serverlisten deres: ved siden av hver server er det en statusprikk, og når noe er galt — en tekst med årsaken: «Server utilgjengelig», «Ikke nåbar fra dine servere» (inkludert hvor mange av serverne dine som ikke kan se den), eller «Ingen data fra serveren». Indirekte tegn dukker også opp på serverkortene: en «foreldet»-etikett på målingene og «Ingen data — agent svarer ikke».
Mesh-sjekkene er ekstremt sparsommelige: de er bittesmå prøvetrykk med et strengt daglig volumtak — de har ingen innvirkning på serverenes trafikk eller ytelse.
Nøkkelpunkter
- To lag med kontroll: en server sjekker seg selv, og meshnaboene sjekker den utenfra.
- Blokkeringer fanges opp av en «avstemning» blant flere servere — ingen panikk over enkeltstående hikke.
- Problematiske servere faller ut av rotasjonen; brukere flyttes stille til friske servere.
- Alt leger seg selv: i det øyeblikket en server kommer tilbake til live, blir den automatisk med igjen.
- Hvis forbindelsessjekken mellom to servere ikke går gjennom og det ikke er valgt en kontrollserver, merker vi inngangspunktene på den uoppnåelige siden (eller på begge, hvis den feiler i begge retninger) og skjuler ingen av dem: avgjørelsen er din.
Neste steg
Infrastrukturen vet hvordan den skal reparere seg selv, men det er én ting som fortjener egen beskyttelse — brukerbasen din.
Nødtilgang: når nettverket blokkerer alt
Nødtilgang (OLCRTC) i CreateYourVPN: en reservekanal forkledd som en videosamtale for nettverk med hvitelister — hva den koster serverne dine, hva som slår seg på av seg selv med Pro, og hva du bør fortelle brukerne dine på forhånd.
Sikkerhetskopiering: lagre og gjenopprett brukerne dine
Hvorfor du bør sikkerhetskopiere brukerbasen din, hvordan du setter opp automatiske kopier til Google Drive eller S3, og hvordan du gjenoppretter fra en sikkerhetskopi.