WireGuard partneris pazūd pēc pārstartēšanas: atrodiet īsto konfigurāciju
Partneris, kas pievienots ar wg set, darbojas līdz nākamajai pārstartēšanai, jo saskarne tiek pārbūvēta no faila vai profila, kuru jūs nekad neesat rediģējis. Vispirms atrodiet īpašnieku.
Partneris, ko pievienojāt ar wg set, atbild uz ping visu pēcpusdienu un pēc pārstartēšanas ir pazudis. Nekas netika sabojāts: kodols šo partneri nekad nekur neglabāja, izņemot dzīvajā saskarnē, un viss, kas startēšanas laikā saskarni izveido no jauna, to uzbūvēja no faila, kuru jūs neaiztikāt. Labojums nav vēl viens wg set. Ir jānoskaidro, kura komponente pārvalda saskarni, jārediģē šīs komponentes stāvoklis un tad jāpierāda, ka partneris pārdzīvo tieši to dzīves cikla notikumu, kas to noņēma.
Atkārtojiet to vienu reizi, tīšām
Nelabojiet pārstartēšanas problēmu, pirms neesat to redzējis notiekam. Ja ir pieejama konsole vai ārēja piekļuve, pierakstiet partneru sarakstu, pārstartējiet caur pakalpojumu, kas pārvalda saskarni, un salīdziniet. Ja partneris joprojām ir, jūsu izmaiņas jau ir sasniegušas pastāvīgo stāvokli, un jūs atkļūdojat nepareizo notikumu.
To darot, pierakstiet trīs faktus: saskarnes nosaukumu, to palaidošo unit vai profilu un vai izdzīvojušā partnera rokasspiediena skaitītājs tika atiestatīts. Atiestatīts skaitītājs nozīmē, ka saskarne tika iznīcināta un izveidota no jauna; nemainīts skaitītājs ar pazudušu partneri nozīmē, ka kaut kas rediģēja konfigurāciju jums zem kājām.
Kam pieder saskarne?
Pašam WireGuard nav ne dēmona, ne konfigurācijas faila. Kaut kas virs tā startēšanas laikā izsauc wg, un tas kaut kas ir patiesības avots. Ierastie kandidāti ir [email protected], NetworkManager savienojuma profils, distribūcijai raksturīga tīkla unit vai pārvaldības panelis, kas raksta savu datubāzi.
Jautājiet sistēmai, nevis savas distribūcijas dokumentācijai. systemctl status wg-quick@wg0 un nmcli connection show parasti to atrisina ar vienu komandu katrs. Ja abi pretendē uz saskarni, jūs esat atraduši kļūdu pirms kaut kā rediģēšanas: divi īpašnieki katrā startā pārraksta to pašu ierīci, un uzvar tas, kas izpildās pēdējais.
systemctl status wg-quick@wg0 --no-pager
grep -R "Address\|SaveConfig\|PostUp" /etc/wireguard/wg0.conf
nmcli -g NAME,TYPE connection show
wg show wg0 peersDarbības stāvoklis un starta stāvoklis nav viens un tas pats fails
wg set pārvalda dzīvo ierīci caur netlink. Tas neraksta /etc/wireguard/wg0.conf, NetworkManager profilu vai paneļa datubāzi. Veiksmīgs wg show pēc tam pierāda, ka kodols pieņēma partneri, nevis ka kaut kas to atjaunos.
Ir otrs slazds pretējā virzienā. wg-quick opcija SaveConfig pēc saskarnes noņemšanas ieraksta pašreizējo saskarnes stāvokli atpakaļ konfigurācijas failā. Kad tā ir ieslēgta, faila labojumu, kas izdarīts, kamēr saskarne darbojas, var pārrakstīt sekojošā izslēgšana, un jūs zvērēsit, ka šī rinda tur bija. Ja partneris turpina atgriezties, lasiet failu pēc apstādināšanas, nevis pirms.
NetworkManager uzvedas atkal citādi: tam pieder profils, un tas to piemēro aktivizācijas laikā, tāpēc ar roku rediģēts .conf blakus aktīvam NetworkManager savienojumam ir tikai dekorācija. Izvēlieties vienu saskarnes īpašnieku un ļaujiet otram pārvaldniekam to nekustināt.
Panāciet, lai labojums nonāktu abās vietās
Vispirms rediģējiet pastāvīgo stāvokli, pēc tam ļaujiet īpašniekam to piemērot, un tad pārbaudiet dzīvo stāvokli. Šāda secība nozīmē, ka kļūme jebkurā solī norāda uz vienu lietu, nevis trim.
# 1. persistent state (wg-quick owner)
sudo vi /etc/wireguard/wg0.conf
# 2. apply through the owner, not by hand
sudo systemctl restart wg-quick@wg0
# 3. verify runtime matches the file
sudo wg show wg0
sudo wg showconf wg0wg showconf izdrukā dzīvo konfigurāciju tādā pašā sintaksē, kādu izmanto fails, tāpēc abus var tieši salīdzināt. Uztveriet šo izvadi kā noslēpumu: tajā ir privātās atslēgas, tāpēc neielīmējiet to pieteikumā vai tērzēšanas kanālā. Salīdziniet partneru publiskās atslēgas un atļautās IP, un pārbaudiet, vai tīši noņemtais partneris nav atgriezies.
Pierādiet, ka tas pārdzīvo dzīves cikla notikumu
Pārstartējiet caur īpašnieku otro reizi, tad apstipriniet trīs atsevišķas lietas: partneris parādās wg show izvadē, rokasspiediena skaitītājs pēc trafika palielinās, un no tuneļa atkarīgā lietojumprogramma patiešām atbild. Partneris ar novecojušu rokasspiedienu ir maršrutēšanas vai atslēgas problēma, nevis noturības problēma, un šī atšķirība ietaupa bezjēdzīgu konfigurācijas labojumu.
Visbeidzot pārbaudiet, ko pārstartēšana atjaunoja. Pārstartēšana, kas atdzīvina tīši noņemtu partneri, ir tā pati kļūda ar pretēju zīmi, un parasti nozīmē, ka veca konfigurācijas kopija joprojām tiek ielādēta no kaut kurienes. Pierakstiet īpašnieku, faila ceļu, partnera publisko atslēgu un pārbaudes komandas blakus konfigurācijai, lai nākamais cilvēks to neatklātu no jauna, pārstartējot ražošanas serveri.