WireGuard: hakuna njia kwa peer baada ya mabadiliko ya subnet — njia mbili za kutoka
Mabadiliko ya subnet huvunja WireGuard katika sehemu mbili: AllowedIPs na njia ya kurudi. Linganisha kuweka namba upya mahali pamoja na kujenga upya kiolesura.
Handshake ni mpya katika wg show, sehemu ya mwisho ni sahihi, funguo hazijabadilika kamwe — na ping bado inasema hakuna njia kwa peer. Ulibadilisha subnet ya handaki saa moja iliyopita. Dalili hiyo ni alama ya kutokulingana kwa kiambishi awali na si tatizo la funguo: WireGuard ilikamilisha handshake kisha ikatupa data kwa sababu anwani ya chanzo hailingani tena na kile ambacho peer inayopokea itakubali. Kuna njia mbili zenye busara za kutekeleza mabadiliko ya subnet, na zote hushindwa katika sehemu tofauti.
Njia mbili za kutekeleza mabadiliko, na gharama ya kila moja
Chaguo A ni kuweka namba upya mahali pamoja: hariri anwani ya kiolesura, safu za peer, njia na kila nakala ya usanidi, kisha pakia upya. Chaguo B ni kujenga kiolesura cha pili kwenye kiambishi awali kipya kando ya cha zamani, kuhamisha peer, na kuondoa kiolesura cha zamani mara trafiki itakapohamia kweli.
| A: renumber in place | B: parallel interface | |
|---|---|---|
| Downtime | The reload window, per host | None if peers are added to both |
| Rollback | Re-apply the previous files | Point peers back at the old interface |
| Risk | Half-applied change: new address, old ranges | Two live interfaces with overlapping intent |
| Effort | Small, if the deployment has one owner | Higher, and needs a cleanup step |
| Fits | Two or three peers you control | Many peers, remote sites, or no maintenance window |
Hali iliyotumika nusu ndiyo inayofanya chaguo A kuwa hatari, kwa sababu haionekani kuvunjika. Kiolesura kinapanda, handshake inafanikiwa, na njia ya data pekee ndiyo inashindwa. Chaguo B linahitaji kazi zaidi lakini linahifadhi njia inayofanya kazi hai wakati unatafuta kila rejeleo.
Nini kinapaswa kusonga pamoja upande wako
Mambo manne kwenye mwenyeji wa ndani yanaelezea subnet moja, na mabadiliko ya kimoja ni mabadiliko ya yote: anwani ya kiolesura, AllowedIPs ya kila peer, njia ambayo mfumo hutumia kwa maeneo hayo, na chochote ambacho msimamizi husakinisha kwa niaba yako. Kwa wg-quick, mbili za mwisho huzalishwa kutoka usanidi kila wakati kiolesura kinapopanda, kwa hiyo nakala ya zamani husakinisha upya kiambishi awali cha zamani kwa kimya.
Linganisha kilichosanidiwa na kilicho hai badala ya kumwamini mmoja wao:
wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5Utafutaji wa njia ni hatua ambayo watu huiruka. Inajibu kile kernel ingefanya kweli kwa lengo, ikiwa ni pamoja na njia maalum zaidi iliyoachwa na msimamizi au mazingira ya utekelezaji wa kontena. Ikiwa inaripoti kiolesura tofauti na handaki, usanidi si tatizo.
Kwa kiolesura kinachofanya kazi, tumia faili iliyohaririwa bila kubomoa handaki:
wg syncconf wg0 <(wg-quick strip wg0)Hiyo husasisha peer na safu mahali pamoja. Haisasishi anwani ya kiolesura au njia, kwa sababu hizo si mipangilio ya WireGuard — kwa hiyo kuweka namba upya bado kunahitaji kuunda upya kiolesura au kubadilisha anwani kwa ip, kisha kuhakiki upya uelekezaji.
Nini kinapaswa kusonga pamoja upande wa mbali
Hapa ndipo mabadiliko ya subnet kwa kawaida hufa. AllowedIPs si kidokezo cha uelekezaji tu; pia ni orodha ya anwani za chanzo ambazo peer anaweza kuwasilisha. Unapoweka namba upya kwa wateja na kuacha AllowedIPs ya seva kwenye kiambishi awali cha zamani, seva inakubali handshake, inapokea pakiti zilizosimbwa na kuzitupa kwa sababu chanzo cha ndani hakilingani na safu yoyote inayohusisha na peer huyo. Hakuna kosa linaloandikwa, na mteja anaona muda kuisha.
Kwa hiyo sasisha upande unaopokea kwa kusudi: ingizo la peer kwenye seva lazima liorodheshe kiambishi awali kipya cha mteja, njia ya kurudi ya seva yenyewe lazima ielekeze handaki kwa kiambishi hicho, na mtandao wowote wa chini nyuma ya seva lazima ujifunze njia mpya. Sera ya firewall iliyotaja safu ya zamani inahitaji matibabu sawa, na vilevile kitu chochote kinachofanya uteuzi kwa msingi wa chanzo.
Uchunguzi unaotenganisha kushindwa hizo mbili ni wa bei ndogo. Handshake mpya bila data inamaanisha handaki liko juu na uanwani wa ndani haukubaliani. Hakuna handshake kabisa inamaanisha unaangalia ufikikaji au funguo. Usizungushe funguo kwa tatizo la kiambishi awali; hiyo huweka upya kitu pekee kilichokuwa kikifanya kazi.
Nakala za zamani zinazoishi zaidi ya uhariri wako
Kuhariri faili si sawa na kubadilisha mfumo unaoendesha, na nakala ni nyingi kuliko watu wanavyotarajia: kitengo au msimamizi anayemiliki kiolesura, wasifu wa pili wenye jina lilelile katika saraka nyingine, kontena lenye usanidi uliookwa kwenye taswira, kiolesura cha kipanga njia kinachohifadhi toleo lake lililohaririwa, na programu ya mteja inayoingiza upya handaki iliyohifadhiwa inapoanza. Kila kimoja kinaweza kurejesha kiambishi awali cha zamani baada ya mabadiliko yako kuonekana kukamilika.
Majina pia husafiri. Ikiwa njia ya namba inafanya kazi lakini jina la mwenyeji linashindwa, rekodi ya DNS ya ndani au usanidi wa huduma bado inaelekeza kwenye anwani ya zamani ya handaki. Rekebisha rejeleo badala ya kupanua kila safu ya peer, kwa sababu hiyo ingefunika tatizo halisi na wakati huo huo ingeongeza ACL ya chanzo.
Weka njia moja ya urejeshaji wazi wakati unafanya kazi: njia ya pili ya kuingia kwenye mwenyeji, konsoli ya mfululizo, au urejeshaji uliopangwa wa faili za usanidi. Mabadiliko ya handaki yanayokufungia nje ya mashine unayobadilisha ndiyo njia ya kawaida zaidi ya kazi hii kuwa jioni.
Kuchagua kati ya hizo mbili, na kuhakiki mkato
Chagua A unapomiliki kila peer, idadi ni ndogo, na usumbufu mfupi unakubalika. Chagua B wakati peer ni mikono ya mbali usiyoidhibiti, wakati kiungo kati ya maeneo kinapaswa kubaki juu, au wakati hauwezi kuhakikisha kwamba kila nakala itasasishwa kwa mpito mmoja. Katika hali hiyo ongeza kiambishi awali kipya kwenye vilosura vyote viwili, hamisha peer mmoja mmoja, angalia trafiki kwenye kipya, na kisha tu uondoe kiolesura cha zamani na njia zake.
Katika chaguo lolote, mabadiliko yamekamilika wakati ukaguzi nne unapita: handshake ni mpya, utafutaji wa njia kwa lengo lenye kiambishi awali kipya unataja handaki, mzigo wa mamia kadhaa ya baiti unapita pande zote mbili, na hali hiyo hiyo inashikilia baada ya kuwasha upya mwenyeji au msimamizi. Kwa mwongozo wa wg(8) ni rejeleo la kile AllowedIPs inamaanisha katika kila mwelekeo, na inafaa kusoma tena kabla ya kupanua safu ili dalili itoweke.
- Handshake mpya na hakuna data: angalia AllowedIPs kwa mpokeaji kabla ya kugusa funguo.
- Utafutaji wa njia unaelekeza kiolesura kibaya: njia inamilikiwa na msimamizi au kontena, si faili yako.
- Anwani ya namba ni sawa na jina la mwenyeji limevunjika: rejeleo la zamani, si mzunguko wa uelekezaji.
- Mabadiliko hayakamiliki hadi baada ya kuwasha upya bado kutumika kiambishi awali kipya.