Rukovanje je sveže u wg show, krajnja tačka je ispravna, ključevi se nikad nisu promenili — a ping i dalje kaže da nema rute do partnera. Promenili ste podmrežu tunela pre sat vremena. Taj simptom je potpis neusklađenosti prefiksa, a ne problema sa ključevima: WireGuard je završio rukovanje, a zatim odbacio podatke jer izvorišna adresa više ne odgovara onome što će prihvatiti partnerski čvor. Postoje dva razumna načina da se promena podmreže sprovede i oni padaju na različitim mestima.

Dva načina da sprovedete promenu i koliko svaki košta

Opcija A je prenumeracija na licu mesta: uredite adresu interfejsa, opsege partnera, rute i svaku kopiju konfiguracije, pa učitajte iznova. Opcija B je izgradnja drugog interfejsa na novom prefiksu pored starog, prebacivanje partnera i uklanjanje starog interfejsa tek kad saobraćaj zaista pređe.

A: renumber in placeB: parallel interface
DowntimeThe reload window, per hostNone if peers are added to both
RollbackRe-apply the previous filesPoint peers back at the old interface
RiskHalf-applied change: new address, old rangesTwo live interfaces with overlapping intent
EffortSmall, if the deployment has one ownerHigher, and needs a cleanup step
FitsTwo or three peers you controlMany peers, remote sites, or no maintenance window

Polovično primenjeno stanje čini opciju A opasnom jer ne izgleda pokvareno. Interfejs se podiže, rukovanje uspeva, a pada samo put podataka. Opcija B traži više rada, ali održava radni put živim dok tražite svaku referencu.

Šta mora da se kreće zajedno na vašoj strani

Četiri stvari na lokalnom hostu opisuju istu podmrežu, a promena jedne je promena svih: adresa interfejsa, AllowedIPs svakog partnera, ruta koju sistem koristi za te destinacije i sve što upravljač instalira u vaše ime. Uz wg-quick poslednje dve se generišu iz konfiguracije svaki put kad se interfejs podigne, pa zastarela kopija tiho vraća stari prefiks.

Uporedite ono što je konfigurisano sa onim što je živo, umesto da verujete jednom od toga:

wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5

Pretraga rute je korak koji ljudi preskaču. Ona odgovara šta bi kernel zaista uradio za destinaciju, uključujući specifičniju rutu koju je ostavio upravljač ili okruženje kontejnera. Ako pokaže drugi interfejs od tunela, konfiguracija nije problem.

Za interfejs koji radi, primenite uređenu datoteku bez razbijanja tunela:

wg syncconf wg0 <(wg-quick strip wg0)

To ažurira partnere i opsege na licu mesta. Ne ažurira adresu interfejsa ni rute, jer to nisu WireGuard postavke — zato prenumeracija i dalje traži ponovno stvaranje interfejsa ili promenu adrese pomoću ip, a zatim ponovnu proveru rutiranja.

Šta mora da se kreće zajedno na udaljenoj strani

Ovde promena podmreže obično umire. AllowedIPs nije samo naznaka za rutiranje; to je i spisak izvorišnih adresa koje partner sme da predstavi. Kad prenumerišete klijente i ostavite AllowedIPs na serveru na starom prefiksu, server prihvati rukovanje, primi šifrovane pakete i odbaci ih jer se unutrašnje izvorište ne poklapa ni sa jednim opsegom koji vezuje za tog partnera. Nikakva greška se ne beleži, a klijent vidi istek vremena.

Zato ažurirajte prijemnu stranu svesno: unos partnera na serveru mora da navede novi prefiks klijenta, sopstvena povratna ruta servera mora za taj prefiks da pokazuje na tunel, a svaka nizvodna mreža iza servera mora da nauči novi put. Vatrozidna pravila koja su imenovala stari opseg trebaju isti tretman, kao i sve što radi izbor prema izvorištu.

Dijagnostika koja razdvaja dva kvara je jeftina. Sveže rukovanje bez podataka znači da je tunel podignut i da se unutrašnje adresiranje ne slaže. Potpuno odsustvo rukovanja znači da gledate dostupnost ili ključeve. Ne menjajte ključeve zbog problema sa prefiksom; time resetujete jedino što je radilo.

Zastarele kopije koje nadžive vašu izmenu

Uređivanje datoteke nije isto što i promena sistema koji radi, a kopija je više nego što ljudi očekuju: unit ili upravljač koji poseduje interfejs, drugi profil istog imena u drugom direktorijumu, kontejner sa konfiguracijom upečenom u sliku, interfejs rutera sa svojom uređenom verzijom i klijentska aplikacija koja pri pokretanju ponovo uvozi sačuvani tunel. Svaka od njih može da vrati stari prefiks nakon što vaša promena izgleda završena.

I imena putuju. Ako numerička ruta radi, a ime hosta ne, interni DNS zapis ili konfiguracija usluge još uvek pokazuje na staru adresu tunela. Ispravite referencu umesto da širite svaki opseg partnera, jer bi to prekrilo stvarni problem i istovremeno povećalo ACL izvorišta.

Držite jedan put oporavka otvorenim dok radite: drugi način ulaska na host, serijsku konzolu ili zakazano vraćanje konfiguracijskih datoteka. Promena tunela koja vas zaključava izvan mašine koju menjate najčešći je način da se ovaj zadatak pretvori u veče.

Izbor između dva pristupa i provera prebacivanja

Odaberite A kad posedujete svakog partnera, broj je mali i kratki prekid je prihvatljiv. Odaberite B kad su partneri udaljene ruke koje ne kontrolišete, kad veza između lokacija mora da ostane, ili kad ne možete da garantujete da će svaka kopija biti ažurirana u jednom prolazu. U tom slučaju dodajte novi prefiks na oba interfejsa, prebacujte partnere jedan po jedan, gledajte saobraćaj na novom i tek onda uklonite stari interfejs i njegove rute.

U obe opcije promena je gotova kad prođu četiri provere: rukovanje je sveže, pretraga rute za destinaciju sa novim prefiksom imenuje tunel, teret od nekoliko stotina bajtova prenosi se u oba smera, i isto važi nakon restarta hosta ili upravljača. Službeni wg(8) priručnik je referenca za to šta AllowedIPs znači u svakom smeru, i vredi ga ponovo pročitati pre nego što proširite opseg da simptom nestane.

  • Rukovanje sveže i nema podataka: pogledajte AllowedIPs na prijemniku pre nego što dirate ključeve.
  • Pretraga rute pokazuje pogrešan interfejs: rutom upravlja upravljač ili kontejner, ne vaša datoteka.
  • Numerička adresa je u redu, ime hosta pokvareno: stara referenca, ne petlja rutiranja.
  • Promena je završena tek kad nakon restarta još uvek koristi novi prefiks.

Povezani članci