Þú bætir peer við /etc/wireguard/wg0.conf, keyrir systemctl restart wg-quick@wg0, og peerinn er horfinn úr skránni þegar þú lítur aftur. Ekkert skemmdi neitt. Endurræsing er stöðvun sem fylgir ræsing, og stöðvunarskrefið getur skrifað núverandi keyrsluástand yfir skránna sem þú breyttir rétt áðan. Stillingin sem ber ábyrgð býr í sömu skrá og þú varst að breyta, og það er það sem gerir lykkjuna svo ruglingslega í fyrsta skipti sem þú lendir í henni.

Tvö ástand, ein skrá og vistun við slokknun

Keyrsluástand WireGuard og wg-quick-stillingaskrá tengjast en eru ólík. Skráin er inntak: wg-quick les hana, býr til viðmótið, stillir vistföng og leiðir og stillir peera. Kjarnatækið er lifandi hluturinn, og breytingar á lægra stigi sem gerðar eru með wg skrifa sig aldrei aftur.

Nema í eina átt. Þegar SaveConfig = true birtist í viðmótshlutanum vistar wg-quick lifandi stillinguna í skrána sem hluta af því að taka viðmótið niður. Handbók wg-quick varar nákvæmlega við þessu: breytingar sem gerðar eru á skránni meðan viðmótið er virkt geta verið skrifaðar yfir þegar það er fjarlægt. Þetta er vistun við slokknun, ekki tímamælir í bakgrunni, svo hún fer aðeins af stað þegar eitthvað stöðvar viðmótið.

ActionWhat it writesWhen it surprises you
wg set on a live interfaceKernel state onlyAfter reboot, when the file was never updated
wg-quick down with SaveConfigLive state into the fileRight after you edited the file
wg syncconfKernel state onlyNever; it does not touch the file
wg-quick upKernel state from the fileIf the file is stale, you get the old tunnel

Lestu töfluna sem viðvörun um röð. Sérhvert tilfallandi tap á þessu sviði kemur frá breytingu sem var gerð fyrir vistun í stað eftir hana.

Stöðvaðu fyrst, breyttu næst, ræstu síðast

Ef skráin er sannleiksheimildin þín skaltu gera skrána valdberandi með uppbyggingu frekar en von. Taktu viðmótið niður, staðfestu að það sé farið, breyttu svo og komdu því svo aftur upp. Reglan er einföld: engin breyting er til meðan vistun getur enn keyrt.

sudo cp -a /etc/wireguard/wg0.conf /root/wg0.conf.$(date +%F-%H%M)
sudo wg-quick down wg0
ls /sys/class/net/wg0 2>/dev/null || echo "interface is gone"
sudoedit /etc/wireguard/wg0.conf
sudo wg-quick up wg0

Öryggisafritalínan er ekki helgiathöfn. Ef göngin eru leiðin þín að þessari vél getur niðurtökuskrefið endað setuna þína, og afrit á diski ásamt stjórnborði eða leið utan bands er eina afturköllunin sem virkar. Athugaðu þá aðra línu áður en þú treystir henni: úrelt viðmótsheiti í skriftu sem mistekst hljóðlega er leiðin sem fólk breytir skrá sem er enn lifandi.

Að setja SaveConfig = false fyrir venjulega niðurtöku er hin viðtekna leið, og það verður að gera í skránni sem wg-quick les í raun. Það kemur í veg fyrir þá einu sjálfvirku vistun. Það lætur ekki sérstaka NetworkManager-snið, útflutning frá beini eða upphafspunkt gáms endurhlaða breytingarnar þínar, því þeir stjórnendur lesa þessa skrá alls ekki.

Beittu peer-breytingum án þess að rífa viðmótið

Ekki þarf niðurtöku fyrir hverja breytingu. Hægt er að beita breytingum á peer-stigi á virkt viðmót með því að breyta skránni í stillingu og samstilla hana, sem kemur algjörlega í veg fyrir niðurtökuskrefið og þar með vistunina:

sudo wg syncconf wg0 <(sudo wg-quick strip wg0)
sudo wg show wg0 peers
sudo wg show wg0 latest-handshakes

Skrefið strip skiptir máli. Það prentar skrána með lyklum sem tilheyra aðeins wg-quick fjarlægðum, svo vistföng, DNS og leiðbeiningar um leiðsögn fari ekki í tól sem skilur þau ekki. Samstillingin beitir svo peerum og lyklum á lifandi tækið án þess að endurskapa viðmótið, svo núverandi setur og leiðir lifa af.

Vertu nákvæmur um takmörkin. Samstilling peera breytir ekki vistfangi viðmótsins, leiðunum sem wg-quick bætti við eða stillingu leysisins, því ekkert af þessu tilheyrir WireGuard-tækinu. Að bæta undirneti við AllowedIPs og búast við að kjarninn leiði það er hinn klassíski ranglestur; leiðin verður að vera bætt við af wg-quick þegar það er ræst eða af þér.

Athugaðu hver á viðmótið áður en þú breytir einhverju

Á skjáborði eða þjóni sem stjórnað er af stillingarkerfi getur skráin verið úttak frekar en inntak. NetworkManager-tenging, snið sem beinn býr til eða upphafsskrifta gáms geta öll átt sama viðmótsheitið, og í því tilviki breytir gallalaus wg-quick-runa samt ranga gervinu.

systemctl status wg-quick@wg0 --no-pager
nmcli connection show | grep -i wireguard
sudo wg showconf wg0 | head -n 5

Þriðja skipunin prentar lifandi stillinguna í sama sniði og skráin, þar á meðal einkalykilinn, sem er gagnlegt til samanburðar og hættulegt í miða. Afmáðu hann áður en þú límir; einkalykill í stuðningsþræði er varanleg málamiðlun, ekki innsláttarvilla.

Ef þjónustueiningin er óvirk en viðmótið er til, þá bjó eitthvað annað það til og skráin er ekki valdberandi. Þessi eina athugun sparar klukkustund af breytingum á skrá sem ekkert les.

Staðfestu næstu endurræsingu og haltu svo afturköllun

Prófið sem sannar raunverulega lagfæringuna er önnur endurræsing, því það er runan sem mistókst í fyrsta skipti. Staðfestu að peerinn lifi hana af og að lifandi stillingin passi enn við það sem er á diskinum:

sudo systemctl restart wg-quick@wg0
sudo wg show wg0 latest-handshakes
sudo grep -c '^\[Peer\]' /etc/wireguard/wg0.conf

Keyrðu endurræsinguna tvisvar. Ein hrein umferð getur verið heppni: fyrsta endurræsingin getur eytt keyrslubreytingu sem hafði ekki verið vistuð enn, svo sú seinni er sú sem segir þér að skráin og keyrslan hafi verið sammála í lok þeirrar fyrri.

Haltu öryggisafritinu frá upphafi ferlisins þar til þú hefur gert tvöföldu endurræsinguna, eyðdu því svo eða færðu það út úr stillingarmöppunni. Villað wg0.conf.bak við hlið raunverulegu skrárinnar er meinlaust fyrir wg-quick og ruglandi fyrir næstu manneskju, sem mun að lokum breyta þeirri röngu.

Tengdir greinar