Zakaj se izbrisani peer WireGuard po ponovnem zagonu vrne
Seznam peerov držita dve stanji: delujoč vmesnik in tisto, kar ga zapiše ob zagonu. Odstranite ga iz obeh in pred kakršno koli spremembo preverite SaveConfig.
Identiteta izgine iz delujočega vmesnika in sprememba je videti končana. Ko se storitev znova zažene, je spet tu, kar se bere, kot da WireGuard ukaz ignorira. Kar se je v resnici zgodilo, je preprostejše: zagonska konfiguracija peer še vedno vsebuje.
Ta seznam držita dve stanji. Preklic je resničen šele, ko ga izgubita oba.
Kaj wg set v resnici spremeni
Ukaz wg set wg0 peer <public-key> remove ureja delujoči vmesnik v jedru. Na disk ne zapiše ničesar. Konfiguracijska datoteka, profil NetworkManagerja ali shranjeno stanje usmerjevalnika ostanejo nedotaknjeni. To je zasnova, ne napaka.
Ta ločitev je namerna, ker orodje nima pojma, kdo je lastnik vmesnika. Ukaz med izvajanjem mora biti varen za vmesnik, ki ga upravlja nekaj drugega. Ne more ugibati, kje živi trajna kopija. Posledico je lahko povedati: odstranitev med izvajanjem je po svoji zgradbi začasna.
Zato se peer vrne ob naslednjem ponovnem zagonu in vrne se s svojimi prvotnimi dovoljenimi predponami. Vse, kar se usmerja skozi njega, se prav tako znova ustvari. Domnevno preklicana identiteta lahko torej po ponovnem nalaganju doseže svoje prejšnje cilje. Nič v izhodu med izvajanjem ni nikogar opozorilo.
Poiščite pisca, preden uredite datoteko
Vmesnik ima lastnika. To je lahko wg-quick, ki bere datoteko, NetworkManager, ki uporabi profil, lastna konfiguracija vmesnika usmerjevalnika ali vstopna točka vsebnika, ki vmesnik ob zagonu znova ustvari. Urejanje datoteke, ki je lastnik nikoli ne bere, ne prinese nobene trajne spremembe.
Začnite pri delujočem vmesniku in določite javne ključe, saj so imena in naslovi šibkejši identifikatorji od samega ključa. Nato ta seznam primerjajte s shranjeno konfiguracijo, ki jo lastnik res bere.
wg show wg0 peers
wg show wg0 allowed-ips
systemctl status wg-quick@wg0 --no-pager
ls -l /etc/wireguard
Živ vmesnik, katerega seznam peerov in vsebina datoteke se ne ujemata, je cela diagnoza. Ob zagonu zmaga shranjena konfiguracija, stanje med izvajanjem pa izgubi. Primerjajte ju, preden spremenite katero koli od njiju.
Past SaveConfig
wg-quick doda gubo, ki ujame ljudi, ki datoteke urejajo ročno. Ko je SaveConfig omogočen, njegovo dokumentirano vedenje ob izklopu zapiše trenutno stanje med izvajanjem čez konfiguracijsko datoteko.
To obrne običajno smer trajnosti. Peer odstranite iz datoteke, nato se storitev ustavi. Delujoče stanje se zapiše čez vašo spremembo in obnovi peer, ki ste ga pravkar izbrisali.
Zato je vrstni red pomemben: uredite datoteko, ko je vmesnik spuščen, ali pred urejanjem onemogočite SaveConfig, nato vmesnik znova dvignite in potrdite, kaj se je naložilo. Ročna sprememba pri dvignjenem vmesniku je tekma z zapisom ob izklopu.
Spremenite obe stanji in znova naložite
Med izvajanjem odstranite peer po ključu. V shranjeni konfiguraciji odstranite isti blok s podprto operacijo lastnika, namesto da bi urejali okoli njega.
Nato pregledajte, kaj je peer nosil. Usmerjeno omrežje, ki je pripadalo preklicani identiteti, je treba zavestno prerazporediti ali odstraniti, ne pa da bi ga tiho podedoval peer, ki bo urejen naslednji.
Pustite pot obnovitve odprto, če prehod hrani tudi vaš administrativni dostop. Ponovni zagon, ki odstrani napačen peer, je prekinitev, ki ste si jo povzročili sami. Enako velja za ponovni zagon, ki odstrani napačno pot.
Kako izgleda uspešen test
Znova naložite ali znova zaženite storitev in nato še enkrat preberite seznam peerov. Stari ključ mora manjkati, peerji, ki ste jih hoteli obdržati, pa morajo biti še vedno prisotni in delovati.
wg show wg0 peers
wg show wg0 allowed-ips
sudo wg-quick down wg0 && sudo wg-quick up wg0
wg show wg0 peers
Kjer okoliščine dopuščajo, potrdite, da stara identiteta ne doseže več svojih prejšnjih virov. Urejen seznam vmesnika pred ponovnim zagonom je polovica testa. Druga polovica je, kaj identiteta po tem še zmore.
Če kak upravitelj peer nenehno obnavlja, prenehajte ponavljati odstranjevanje na nizki ravni. Popravite seznam, ki ga ta pisec bere, kajti do takrat je vsak ponovni zagon novo povabilo, da se identiteta spet pojavi.