Unaongeza peer kwenye /etc/wireguard/wg0.conf, unaendesha systemctl restart wg-quick@wg0, na peer haipo kwenye faili unapotazama tena. Hakuna kitu kiliharibu chochote. Kuanza upya ni kusimamisha kinachofuatiwa na kuanza, na hatua ya kusimamisha inaweza kuandika hali ya sasa ya utekelezaji juu ya faili uliyohariri hivi punde. Mpangilio unaohusika unaishi katika faili hiyo hiyo uliyokuwa ukihariri, na ndiyo inayofanya mzunguko kuwa wa kuchanganya mara ya kwanza unapoukutana.

Hali mbili, faili moja na uhifadhi wa wakati wa kuzima

Hali ya utekelezaji ya WireGuard na faili ya usanidi ya wg-quick zinahusiana lakini ni tofauti. Faili ni pembejeo: wg-quick huiusoma, huunda kiolesura, huweka anwani na njia na kusanidi peer. Kifaa cha kernel ni kitu kilicho hai, na mabadiliko ya ngazi ya chini yaliyofanywa kwa wg hayajiandiki yenyewe nyuma.

Isipokuwa upande mmoja. Wakati SaveConfig = true inaonekana katika sehemu ya kiolesura, wg-quick huhifadhi usanidi hai kwenye faili kama sehemu ya kushusha kiolesura. Mwongozo wa wg-quick unaonya kuhusu hili hasa: mabadiliko yaliyofanywa kwenye faili wakati kiolesura kiko hai yanaweza kufutwa yanapoingiliwa wakati kiolesura kinaondolewa. Hii ni uhifadhi wa wakati wa kuzima, si kipima muda cha chinichini, kwa hivyo hufanya kazi tu wakati kitu kinasimamisha kiolesura.

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

Soma jedwali kama onyo kuhusu mpangilio. Kila upotevu wa bahati mbaya katika eneo hili unatokana na uhariri uliotokea kabla ya uhifadhi badala ya baada yake.

Simamisha kwanza, hariri pili, anza mwisho

Ikiwa faili ni chanzo chako cha ukweli, fanya faili iwe na mamlaka kwa muundo badala ya matumaini. Shusha kiolesura, thibitisha kuwa kimeondoka, kisha hariri, kisha kiinue tena. Kanuni ni rahisi: hakuna uhariri wowote wakati uhifadhi bado unaweza kufanya kazi.

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

Mstari wa nakala rudufu si sherehe. Ikiwa handaki ni njia yako ya kufikia mashine hii, hatua ya kushusha inaweza kumaliza kipindi chako, na nakala kwenye diski pamoja na konsoli au njia ya nje ya mkanda ndiyo urejeshaji pekee unaofanya kazi. Angalia mstari huo wa pili kabla ya kuutegemea: jina la kiolesura lililopitwa na wakati katika script inayoshindwa kimya ndiyo njia ambayo watu huhariri faili ambayo bado iko hai.

Kuweka SaveConfig = false kabla ya kushusha kwa kawaida ndiyo njia nyingine inayokubalika, na lazima ifanywe katika faili ambayo wg-quick huiusoma kweli. Hii huzuia uhifadhi huo mmoja wa kiotomatiki. Haifanyi profaili tofauti ya NetworkManager, usafirishaji wa router au sehemu ya kuingia ya kontena kupakia upya uhariri wako, kwa sababu wasimamizi hao hawasomi faili hii kabisa.

Tumia mabadiliko ya peer bila kuchanachana kiolesura

Si kila uhariri unahitaji kukatizwa. Mabadiliko ya ngazi ya peer yanaweza kutumika kwa kiolesura kinachoendesha kwa kubadilisha faili kuwa usanidi na kuisawazisha, jambo ambalo huepuka kabisa hatua ya kushusha na kwa hivyo huepuka uhifadhi:

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

Hatua ya strip ni muhimu. Huchapisha faili ikiwa na funguo zinazomhusu wg-quick tu zimeondolewa, ili anwani, DNS na maagizo ya uelekezaji yasiende kwenye chombo kisichozielewa. Kisha usawazishaji hutumia peer na funguo kwenye kifaa kilicho hai bila kuunda upya kiolesura, kwa hivyo vipindi na njia zilizopo huendelea kuishi.

Kuwa sahihi kuhusu mipaka. Kusawazisha peer hakubadilishi anwani ya kiolesura, njia zilizoongezwa na wg-quick au usanidi wa kisuluhishi, kwa sababu hakuna moja ya hizo inayomilikiwa na kifaa cha WireGuard. Kuongeza subnet kwenye AllowedIPs na kutarajia kernel iielekeze ni usomaji mbaya wa kawaida; njia lazima iongezwe na wg-quick wakati wa kuinua au na wewe.

Angalia nani anamiliki kiolesura kabla ya kuhariri chochote

Kwenye kompyuta ya mezani au seva inayosimamiwa na mfumo wa usanidi, faili inaweza kuwa pato badala ya pembejeo. Muunganisho wa NetworkManager, profaili inayotengenezwa na router au script ya kuanzisha kontena zote zinaweza kumiliki jina moja la kiolesura, na katika hali hiyo mfuatano wa wg-quick usio na hitilafu bado unahariri kitu kibaya.

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

Amri ya tatu huchapisha usanidi hai katika muundo sawa na faili, ikiwa ni pamoja na ufunguo wa faragha, jambo ambalo ni muhimu kwa kulinganisha na hatari katika tiketi. Ifute kabla ya kubandika; ufunguo wa faragha katika uzi wa msaada ni uvunjaji wa kudumu, si makosa ya kuandika.

Ikiwa kitengo cha huduma hakifanyi kazi lakini kiolesura kipo, kitu kingine kiliunda na faili haina mamlaka. Uchunguzi huo mmoja huokoa saa moja ya kuhariri faili ambayo hakuna kitu kinachoisoma.

Thibitisha kuanza upya kunakofuata, kisha weka urejeshaji

Jaribio ambalo kwa kweli linathibitisha marekebisho ni kuanza upya kwa pili, kwa sababu huo ndio mfuatano ulioshindwa mara ya kwanza. Thibitisha kuwa peer inastahimili na kwamba usanidi hai bado unalingana na ule ulio kwenye diski:

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

Endesha kuanza upya mara mbili. Kupita mara moja kwa usafi kunaweza kuwa bahati: kuanza upya kwa kwanza kunaweza kutumia mabadiliko ya utekelezaji ambayo hayakuwa yamehifadhiwa bado, kwa hivyo ya pili ndiyo inayokuambia kuwa faili na utekelezaji zilikubaliana mwishoni wa ile ya kwanza.

Weka nakala rudufu tangu mwanzo wa mchakato hadi utakapomaliza kuanza upya mara mbili, kisha ifute au ihamishe nje ya saraka ya usanidi. wg0.conf.bak iliyopotea kando ya faili halisi haina madhara kwa wg-quick na inachanganya mtu anayefuata, ambaye hatimaye atahariri ile isiyo sahihi.

Makala zinazohusiana