WireGuard-salutanto malaperas post restartigo: trovu la veran agordon
Salutanto aldonita per wg set funkcias ĝis la sekva restartigo, ĉar la interfaco estas rekonstruata el dosiero aŭ profilo, kiun vi neniam redaktis. Trovu la posedanton unue.
La salutanto, kiun vi aldonis per wg set, respondas al ping dum la tuta posttagmezo kaj malaperas post la restartigo. Nenio difektiĝis: la kerno neniam konservis tiun salutanton ie ajn krom en la viva interfaco, kaj ĉio, kio rekreas la interfacon dum startigo, konstruis ĝin el dosiero, kiun vi ne tuŝis. La riparo ne estas plia wg set. Ĝi estas trovi, kiu komponento posedas la interfacon, redakti la staton de tiu komponento kaj poste pruvi, ke la salutanto postvivas ĝuste la vivociklan eventon, kiu forigis ĝin.
Riproduktu ĝin unufoje, intence
Ne riparu restartigan problemon antaŭ ol vi povas vidi ĝin okazi. Kun havebla aliro per konzolo aŭ ekster krado, notu la liston de salutantoj, restartigu per la servo, kiu posedas la interfacon, kaj komparu. Se la salutanto ankoraŭ estas tie, via ŝanĝo jam atingis la persistan staton kaj vi senskatolas la malĝustan eventon.
Skribu tri faktojn dum vi faras tion: la nomon de la interfaco, la unuon aŭ profilon, kiu ĝin startigis, kaj ĉu la manprema nombrilo ĉe la postvivanta salutanto restariĝis. Restarigita nombrilo signifas, ke la interfaco estis detruita kaj rekreita; neŝanĝita nombrilo kun mankanta salutanto signifas, ke io redaktis la agordon sub vi.
Kiu posedas la interfacon?
WireGuard mem havas nek demonon nek agordan dosieron. Io super ĝi vokas wg dum startigo, kaj tiu io estas la fonto de vero. La kutimaj kandidatoj estas [email protected], NetworkManager-konekta profilo, distribua specifa reta unuo aŭ administra panelo, kiu skribas sian propran datumbazon.
Demandu la sistemon anstataŭ la dokumentaron de via distribuo. systemctl status wg-quick@wg0 kaj nmcli connection show kutime solvas tion per po unu komando. Se ambaŭ pretendas la interfacon, vi trovis la cimon antaŭ ol redakti ion ajn: du posedantoj reskribas la saman aparaton ĉe ĉiu startigo, kaj la lasta plenumita venkas.
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 peersRultempa stato kaj starta stato ne estas la sama dosiero
wg set manipulas la vivan aparaton per netlink. Ĝi ne skribas /etc/wireguard/wg0.conf, NetworkManager-profilo aŭ la datumbazon de panelo. Sukcesa wg show poste pruvas, ke la kerno akceptis la salutanton, ne ke io restarigos ĝin.
Ekzistas dua kaptilo en la kontraŭa direkto. La opcio SaveConfig de wg-quick reskribas la nunan staton de la interfaco en la agordan dosieron, kiam la interfaco estas mallevata. Kun tio ŝaltita, redakto farita al la dosiero dum la interfaco estas supren povas esti anstataŭigita de la sekva malŝalto, kaj vi ĵuros, ke la linio estis tie. Se la salutanto daŭre revenas, legu la dosieron post halto, ne antaŭe.
NetworkManager kondutas denove alie: ĝi posedas la profilon kaj aplikas ĝin ĉe aktivigo, do permane redaktita .conf apud aktiva NetworkManager-konekto estas nur ornamo. Elektu unu posedanton por la interfaco kaj lasu la alian administrilon ne tuŝi ĝin.
Atingu, ke la redakto aperu en ambaŭ lokoj
Redaktu unue la persistan staton, poste lasu la posedanton apliki ĝin, poste kontrolu la vivan staton. Tiu ordo signifas, ke malsukceso ĉe iu ajn paŝo montras al unu afero anstataŭ al tri.
# 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 presas la vivan agordon en la sama sintakso, kiun uzas la dosiero, kio faras la du rekte kompareblaj. Traktu tiun eligon kiel sekreton: ĝi enhavas privatajn ŝlosilojn, do ne algluu ĝin en bileton aŭ babilkanalon. Komparu la publikajn ŝlosilojn de la salutantoj kaj la permesitajn IP-adresojn, kaj kontrolu, ke la salutanto, kiun vi intence forigis, ne revenis.
Pruvu, ke ĝi postvivas la vivociklan eventon
Restartigu per la posedanto duan fojon, poste konfirmu tri apartajn aferojn: la salutanto aperas en wg show, la manprema nombrilo kreskas post trafiko, kaj la aplikaĵo, kiu dependas de la tunelo, vere respondas. Salutanto listigita kun malnova manpremo estas problema pri enkursigo aŭ ŝlosilo, ne pri persisteco, kaj tiu distingo ŝparas senutilan agordan redakton.
Fine, kontrolu, kion la restartigo restaŭris. Restartigo, kiu revivigas salutanton, kiun vi intence forigis, estas la sama cimo kun mala signo, kaj ĝi kutime signifas, ke malnova kopio de la agordo ankoraŭ estas ŝarĝata de ie. Notu la posedanton, la dosiervojon, la publikan ŝlosilon de la salutanto kaj la kontrolkomandojn apud la agordo, por ke la sekva persono ne remalkovru tion restartigante produktadan gastiganton.