Kāpēc izdzēsts WireGuard peer atgriežas pēc restartēšanas
Peer sarakstu tur divi stāvokļi: darbojošā saskarne un tas, kas to ieraksta palaišanas laikā. Noņemiet to no abiem un pirms kaut ko rediģēt pārbaudiet SaveConfig.
Identitāte pazūd no darbojošās saskarnes, un izmaiņas izskatās pabeigtas. Pēc pakalpojuma restartēšanas tā atgriežas, kas lasās tā, it kā WireGuard ignorētu komandu. Tas, kas patiesībā notika, ir vienkāršāk: palaišanas konfigurācijā peer joprojām ir.
Šo sarakstu tur divi stāvokļi. Atsaukšana ir īsta tikai tad, kad abi to zaudē.
Ko wg set patiesībā maina
Komanda wg set wg0 peer <public-key> remove rediģē darbojošos saskarni kodolā. Tā neko neieraksta diskā. Konfigurācijas fails, NetworkManager profils vai maršrutētāja saglabātais stāvoklis paliek neskarti. Tas ir dizains, nevis kļūda.
Šī atdalīšana ir apzināta, jo rīkam nav ne jausmas, kam pieder saskarne. Izpildlaika komandai jābūt drošai pret saskarni, ko pārvalda kaut kas cits. Tā nevar uzminēt, kur dzīvo noturīgā kopija. Sekas ir viegli pateikt: noņemšana izpildlaikā pēc uzbūves ir pagaidu.
Tāpēc peer atgriežas nākamajā restartā un atgriežas ar saviem sākotnējiem atļautajiem prefiksiem. Viss, kas tiek maršrutēts caur to, arī tiek izveidots no jauna. Tādējādi it kā atsaukta identitāte pēc pārlādes var sasniegt savus bijušos galamērķus. Nekas izpildlaika izvadē nevienu nebija brīdinājis.
Atrodiet rakstītāju pirms faila rediģēšanas
Saskarnei ir īpašnieks. Tas var būt wg-quick, kas lasa failu, NetworkManager, kas piemēro profilu, paša maršrutētāja saskarnes konfigurācija vai konteinera ievades punkts, kas palaišanas laikā no jauna izveido saskarni. Faila rediģēšana, ko īpašnieks nekad nelasa, nedod nekādas noturīgas izmaiņas.
Sāciet ar darbojošos saskarni un identificējiet publiskās atslēgas, jo vārdi un adreses ir vājāki identifikatori par pašu atslēgu. Pēc tam salīdziniet šo sarakstu ar saglabāto konfigurāciju, ko īpašnieks patiešām lasa.
wg show wg0 peers
wg show wg0 allowed-ips
systemctl status wg-quick@wg0 --no-pager
ls -l /etc/wireguard
Dzīva saskarne, kuras peer saraksts un faila saturs nesakrīt, ir visa diagnoze. Palaišanas laikā uzvar saglabātā konfigurācija, un izpildlaika stāvoklis zaudē. Salīdziniet tos pirms jebkura no tiem maiņas.
SaveConfig slazds
wg-quick pievieno kroku, kas noķer tos, kuri failus rediģē ar roku. Kad SaveConfig ir iespējots, tā dokumentētā izslēgšanas uzvedība ieraksta pašreizējo izpildlaika stāvokli virs konfigurācijas faila.
Tas apgriež ierasto noturības virzienu. Jūs noņemat peer no faila, un tad pakalpojums apstājas. Darbojošais stāvoklis tiek ierakstīts virs jūsu labojuma un atjauno tikko dzēsto peer.
Tāpēc secība ir svarīga: rediģējiet failu, kamēr saskarne ir izslēgta, vai pirms labojuma atspējojiet SaveConfig, pēc tam atkal paceliet saskarni un apstipriniet, kas tika ielādēts. Ar roku veikts labojums, kamēr saskarne ir ieslēgta, ir sacensība ar izslēgšanas ierakstu.
Mainiet abus stāvokļus, pēc tam pārlādējiet
Izpildlaikā noņemiet peer pēc atslēgas. Saglabātajā konfigurācijā noņemiet to pašu bloku ar īpašnieka atbalstīto darbību, nevis rediģējot ap to.
Pēc tam pārskatiet, ko peer nesa. Maršrutēts tīkls, kas piederēja atsauktajai identitātei, ir apzināti jāpārdala vai jānoņem, nevis klusi jāmanto tam peer, kas tiks rediģēts nākamais.
Turiet atkopšanas ceļu atvērtu, ja vārteja nes arī jūsu administratīvo piekļuvi. Restarts, kas noņem nepareizo peer, ir paša radīts pārtraukums. Tas pats attiecas uz restartu, kas noņem nepareizo maršrutu.
Kā izskatās sekmīgs tests
Pārlādējiet vai restartējiet pakalpojumu, pēc tam vēlreiz izlasiet peer sarakstu. Vecajai atslēgai jābūt prom, un peer, kurus gribējāt paturēt, joprojām jābūt klāt un jādarbojas.
wg show wg0 peers
wg show wg0 allowed-ips
sudo wg-quick down wg0 && sudo wg-quick up wg0
wg show wg0 peers
Kur situācija atļauj, apstipriniet, ka vecā identitāte vairs nesasniedz savus bijušos resursus. Kārtīgs saskarnes saraksts pirms restarta ir puse testa. Otra puse ir tas, ko identitāte pēc tam vēl spēj darīt.
Ja kāds pārvaldnieks nemitīgi atjauno peer, pārtrauciet atkārtot zemā līmeņa noņemšanu. Salabojiet sarakstu, ko šis rakstītājs lasa, jo līdz tam katrs restarts ir vēl viens ielūgums identitātei parādīties atkal.