Għaliex wg-quick jerġa’ jikteb wg0.conf meta twaqqaf l-interface
SaveConfig hija salvataġġ waqt l-itfi, mhux sinkronizzazzjoni fl-isfond. Editja l-fajl waqt li t-tunnel huwa attiv, u restart jista’ jikteb l-istat antik fuqu.
Inti żżid peer ma’ /etc/wireguard/wg0.conf, tmexxi systemctl restart wg-quick@wg0, u l-peer jisparixxi mill-fajl meta terġa’ tħares. Xejn ma ħassar xejn. Restart huwa waqfa segwita minn bidu, u l-pass tal-waqfa jista’ jikteb l-istat attwali tal-eżekuzzjoni fuq il-fajl li għadek kemm editjajt. Is-setting responsabbli jgħix fl-istess fajl li kont qed teditja, u dan huwa dak li jagħmel il-loop daqshekk konfuż l-ewwel darba li tiltaqa’ miegħu.
Żewġ stati, fajl wieħed u salvataġġ waqt l-itfi
L-istat tal-eżekuzzjoni ta’ WireGuard u fajl tal-konfigurazzjoni ta’ wg-quick huma relatati iżda differenti. Il-fajl huwa input: wg-quick jaqrah, joħloq l-interface, jistabbilixxi indirizzi u rotot u jikkonfigura l-peers. L-apparat tal-kernel huwa l-oġġett ħaj, u bidliet ta’ livell baxx magħmula b’wg qatt ma jiktbu lilhom infushom lura.
Ħlief f’direzzjoni waħda. Meta SaveConfig = true jidher fis-sezzjoni tal-interface, wg-quick isalva l-konfigurazzjoni ħajja fil-fajl bħala parti mit-tniżżil tal-interface. Il-manwal ta’ wg-quick jwissi dwar dan eżattament: bidliet magħmula fil-fajl waqt li l-interface hija attiva jistgħu jiġu sostitwiti meta titneħħa. Dan huwa salvataġġ waqt l-itfi, mhux timer fl-isfond, għalhekk jaħdem biss meta xi ħaġa twaqqaf l-interface.
| Action | What it writes | When it surprises you |
|---|---|---|
wg set on a live interface | Kernel state only | After reboot, when the file was never updated |
wg-quick down with SaveConfig | Live state into the file | Right after you edited the file |
wg syncconf | Kernel state only | Never; it does not touch the file |
wg-quick up | Kernel state from the file | If the file is stale, you get the old tunnel |
Aqra t-tabella bħala twissija dwar l-ordni. Kull telf aċċidentali f’dan il-qasam jiġi minn editjar li seħħ qabel salvataġġ minflok warajh.
L-ewwel waqqaf, it-tieni editja, fl-aħħar ibda
Jekk il-fajl huwa s-sors tal-verità tiegħek, agħmel il-fajl awtorevoli bil-bini minflok bit-tama. Niżżel l-interface, ikkonferma li marret, imbagħad editja, imbagħad erġa’ tellagħha. Ir-regola hija sempliċi: m’hemm l-ebda editjar waqt li salvataġġ għadu jista’ jaħdem.
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
Il-linja tal-backup mhijiex ċerimonja. Jekk it-tunnel huwa l-mod kif tasal għal din il-magna, il-pass tat-tniżżil jista’ jtemm is-sessjoni tiegħek, u kopja fuq id-diska flimkien ma’ console jew mogħdija barra l-faxxa hija l-uniku rollback li jaħdem. Iċċekkja dik it-tieni linja qabel ma tafdaha: isem tal-interface skadut fi skript li jonqos bil-kwiet huwa l-mod kif in-nies jeditjaw fajl li għadu ħaj.
Li tistabbilixxi SaveConfig = false qabel tniżżil normali hija t-triq l-oħra aċċettata, u trid issir fil-fajl li wg-quick jaqra verament. Dan jipprevjeni dak is-salvataġġ awtomatiku wieħed. Dan ma jagħmilx profil separat ta’ NetworkManager, esportazzjoni ta’ router jew entrypoint ta’ container jerġgħu jgħabbu l-editjar tiegħek, għax dawk il-maniġers qatt ma jaqraw dan il-fajl.
Applika bidliet tal-peers mingħajr ma tħarrek l-interface
Mhux kull editjar jeħtieġ waqfa. Bidliet fil-livell tal-peer jistgħu jiġu applikati għal interface li qed taħdem billi l-fajl jinbidel f’konfigurazzjoni u jiġi sinkronizzat, li jevita kompletament il-pass tat-tniżżil u għalhekk jevita s-salvataġġ:
sudo wg syncconf wg0 <(sudo wg-quick strip wg0)
sudo wg show wg0 peers
sudo wg show wg0 latest-handshakes
Il-pass strip huwa importanti. Jistampa l-fajl bil-kjavi li jappartjenu biss lil wg-quick imneħħija, sabiex l-indirizzi, id-DNS u d-direttivi tar-routing ma jmorrux f’għodda li ma tifhimx. Is-sinkronizzazzjoni mbagħad tapplika l-peers u l-kjavi fuq l-apparat ħaj mingħajr ma toħloq mill-ġdid l-interface, għalhekk is-sessjonijiet u r-rotot eżistenti jibqgħu ħajjin.
Kun preċiż dwar il-limiti. Is-sinkronizzazzjoni tal-peers ma tbiddilx l-indirizz tal-interface, ir-rotot li żied wg-quick jew il-konfigurazzjoni tar-resolver, għax xejn minn dan ma jappartjeni lill-apparat WireGuard. Li żżid subnet ma’ AllowedIPs u tistenna li l-kernel jirrotjah hija l-qari żbaljat klassiku; ir-rotta trid tiżdied minn wg-quick fil-ħin tat-tlugħ jew minnek.
Iċċekkja min għandu l-interface qabel ma teditja xejn
Fuq desktop jew server immexxi minn sistema tal-konfigurazzjoni, il-fajl jista’ jkun output minflok input. Konnessjoni ta’ NetworkManager, profil iġġenerat minn router jew skript tal-bidu ta’ container jistgħu kollha jkollhom l-istess isem tal-interface, u f’dak il-każ sekwenza wg-quick bla difett xorta teditja l-artefatt żbaljat.
systemctl status wg-quick@wg0 --no-pager
nmcli connection show | grep -i wireguard
sudo wg showconf wg0 | head -n 5
It-tielet kmand jistampa l-konfigurazzjoni ħajja fl-istess format bħall-fajl, inkluża l-kjavi privata, li hija utli għat-tqabbil u perikoluża fi ticket. Redaġiha qabel ma tippejstja; kjavi privata fi thread ta’ appoġġ hija kompromess permanenti, mhux typo.
Jekk l-unità tas-servizz hija inattiva iżda l-interface teżisti, xi ħaġa oħra ħolqot lilha u l-fajl mhuwiex awtorevoli. Dik l-osservazzjoni waħda tiffranka siegħa ta’ editjar ta’ fajl li xejn ma jaqrah.
Ivverifika r-restart li jmiss, imbagħad żomm rollback
It-test li verament jipprova l-korrezzjoni huwa t-tieni restart, għax dik hija s-sekwenza li falliet l-ewwel darba. Ikkonferma li l-peer jibqa’ ħaj u li l-konfigurazzjoni ħajja għadha taqbel ma’ dak li hemm fuq id-diska:
sudo systemctl restart wg-quick@wg0
sudo wg show wg0 latest-handshakes
sudo grep -c '^\[Peer\]' /etc/wireguard/wg0.conf
Mexxi r-restart darbtejn. Pass nadif wieħed jista’ jkun xorti: l-ewwel restart jista’ jikkonsma bidla fl-eżekuzzjoni li kienet għadha ma ġietx salvata, għalhekk it-tieni huwa dak li jgħidlek li l-fajl u l-eżekuzzjoni qablu fl-aħħar tal-ewwel.
Żomm il-backup mill-bidu tal-proċess sakemm tkun għamilt ir-restart doppju, imbagħad ħassarha jew ċċaqlaqha barra mid-direttorju tal-konfigurazzjoni. wg0.conf.bak mitluf ħdejn il-fajl veru huwa bla ħsara għal wg-quick u konfuż għall-persuna li jmiss, li fl-aħħar se teditja l-ħażin.