La manpremo estas freŝa en wg show, la finpunkto ĝustas, la ŝlosiloj neniam ŝanĝiĝis — kaj ping ankoraŭ diras, ke ne estas vojo al la kunulo. Vi ŝanĝis la subreton de la tunelo antaŭ horo. Tiu simptomo estas la signo de miskongruo de prefikso, ne de ŝlosila problemo: WireGuard finis la manpremon kaj poste forĵetis la datumojn, ĉar fonta adreso jam ne kongruas kun tio, kion la ricevanta kunulo akceptos. Estas du prudentaj manieroj efektivigi subretan ŝanĝon, kaj ili malsukcesas en malsamaj lokoj.

Du manieroj efektivigi la ŝanĝon, kaj kion ĉiu kostas

Opcio A estas renumerado surloke: redaktu la adreson de la interfaco, la gamojn de kunuloj, la vojojn kaj ĉiun kopion de la agordo, poste reŝargu. Opcio B estas konstrui duan interfacon sur la nova prefikso apud la malnova, translokigi la kunulojn, kaj forigi la malnovan interfacon post kiam la trafiko efektive translokiĝis.

A: renumber in placeB: parallel interface
DowntimeThe reload window, per hostNone if peers are added to both
RollbackRe-apply the previous filesPoint peers back at the old interface
RiskHalf-applied change: new address, old rangesTwo live interfaces with overlapping intent
EffortSmall, if the deployment has one ownerHigher, and needs a cleanup step
FitsTwo or three peers you controlMany peers, remote sites, or no maintenance window

La duone aplikita stato estas tio, kio igas opcion A danĝera, ĉar ĝi ne aspektas rompita. La interfaco ekfunkcias, la manpremo sukcesas, kaj nur la datuma vojo malsukcesas. Opcio B kostas pli da laboro sed tenas funkcipovan vojon viva dum vi trovas ĉiun referencon.

Kio devas moviĝi kune ĉe via flanko

Kvar aferoj sur la loka gastiganto priskribas la saman subreton, kaj ŝanĝo de unu estas ŝanĝo de ĉiuj: la adreso de la interfaco, la AllowedIPs de ĉiu kunulo, la vojo, kiun la sistemo uzas por tiuj celoj, kaj kion ajn la administrilo instalas nome de vi. Kun wg-quick, la lastaj du estas generataj el la agordo ĉiufoje, kiam la interfaco ekfunkcias, do malaktuala kopio silente reinstalas la malnovan prefikson.

Komparu tion, kio estas agordita, kun tio, kio estas viva, anstataŭ fidi iun el ili:

wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5

La voja serĉo estas la paŝo, kiun homoj preterlasas. Ĝi respondas, kion la kerno efektive farus por celo, inkluzive de pli specifa vojo, kiun lasis administrilo aŭ uja rultempo. Se ĝi raportas alian interfacon ol la tunelo, la agordo ne estas la problemo.

Por funkcianta interfaco, apliku la redaktitan dosieron sen disigi la tunelon:

wg syncconf wg0 <(wg-quick strip wg0)

Tio ĝisdatigas kunulojn kaj gamojn surloke. Ĝi ne ĝisdatigas la adreson de la interfaco aŭ la vojojn, ĉar tiuj ne estas agordoj de WireGuard — do renumerado ankoraŭ bezonas rekreon de la interfaco aŭ ŝanĝon de la adreso per ip, kaj poste novan kontrolon de la enkursigado.

Kio devas moviĝi kune ĉe la fora flanko

Ĉi tie subreta ŝanĝo kutime mortas. AllowedIPs ne estas nur enkursiga aludo; ĝi ankaŭ estas la listo de fontaj adresoj, kiujn kunulo rajtas prezenti. Kiam vi renumeras klientojn kaj lasas la AllowedIPs de la servilo sur la malnova prefikso, la servilo akceptas la manpremon, ricevas la ĉifritajn pakaĵojn kaj forĵetas ilin, ĉar la interna fonto ne kongruas kun iu ajn gamo, kiun ĝi asocias kun tiu kunulo. Neniu eraro estas registrita, kaj la kliento vidas tempolimon.

Do ĝisdatigu la ricevantan flankon intence: la kunula ero sur la servilo devas listigi la novan prefikson de la kliento, la propra revena vojo de la servilo devas montri al la tunelo por tiu prefikso, kaj ĉiu malsupra reto malantaŭ la servilo devas lerni la novan vojon. Fajroŝirma politiko, kiu nomis la malnovan gamon, bezonas la saman traktadon, kaj same ĉio, kio faras elekton laŭ fonto.

La diagnozo, kiu apartigas la du malsukcesojn, estas malmultekosta. Freŝa manpremo sen datumoj signifas, ke la tunelo staras kaj la interna adresado ne kongruas. Tute neniom da manpremo signifas, ke vi rigardas atingeblon aŭ ŝlosilojn. Ne rotaciu ŝlosilojn pro prefiksa problemo; tio restarigas la solan aferon, kiu funkciis.

Malaktualaj kopioj, kiuj postvivas vian redakton

Redakti dosieron ne samas al ŝanĝi la funkciantan sistemon, kaj la kopioj estas pli multaj, ol homoj atendas: la unuo aŭ administrilo, kiu posedas la interfacon, dua profilo kun la sama nomo en alia dosierujo, ujo kun sia agordo bakita en bildon, enkursigila interfaco kun sia propra redaktita versio, kaj klienta aplikaĵo, kiu reimportas konservitan tunelon ĉe lanĉo. Ĉiu el ili povas restarigi la malnovan prefikson post kiam via ŝanĝo aspektas kompleta.

Nomoj ankaŭ vojaĝas. Se la numera vojo funkcias sed la gastigantnomo malsukcesas, interna DNS-rikordo aŭ serva agordo ankoraŭ montras al la malnova tunela adreso. Riparu la referencon anstataŭ vastigi ĉiun kunulan gamon, kio kaŝus la veran problemon kaj samtempe pligrandigus la fontan ACL.

Tenu unu restarigan vojon malfermita dum vi laboras: duan rimedon eniri la gastiganton, serian konzolon aŭ planitan restarigon de la agordaj dosieroj. Tunela ŝanĝo, kiu ŝlosas vin ekster la maŝino, kiun vi ŝanĝas, estas la plej ofta maniero igi ĉi tiun taskon vespero.

Elekti inter la du, kaj kontroli la tranĉon

Elektu A, kiam vi posedas ĉiun kunulon, la nombro malgrandas kaj mallonga interrompo estas akceptebla. Elektu B, kiam la kunuloj estas foraj manoj, kiujn vi ne kontrolas, kiam ligilo inter lokoj devas resti funkcianta, aŭ kiam vi ne povas garantii, ke ĉiu kopio estos ĝisdatigita en unu trairo. Tiukaze aldonu la novan prefikson al ambaŭ interfacoj, movu kunulojn unu post la alia, observu la trafikon sur la nova, kaj nur poste forigu la malnovan interfacon kaj ĝiajn vojojn.

Ĉe ambaŭ opcioj la ŝanĝo estas finita, kiam kvar kontroloj sukcesas: la manpremo estas freŝa, la voja serĉo por celo de la nova prefikso nomas la tunelon, utilaĵo de kelkcent bajtoj transiĝas en ambaŭ direktojn, kaj la samo validas post restarto de la gastiganto aŭ de la administrilo. La manlibro wg(8) estas la referenco pri tio, kion AllowedIPs signifas en ĉiu direkto, kaj indas relegi ĝin antaŭ ol vastigi gamon por forigi simptomon.

  • Freŝa manpremo kaj neniom da datumoj: rigardu la AllowedIPs ĉe la ricevanto antaŭ ol tuŝi ŝlosilojn.
  • Voja serĉo montras la malĝustan interfacon: administrilo aŭ ujo posedas la vojon, ne via dosiero.
  • Numera adreso en ordo kaj gastigantnomo rompita: malnova referenco, ne enkursiga buklo.
  • La ŝanĝo estas kompleta nur kiam post restarto ankoraŭ uziĝas la nova prefikso.

Rilataj artikoloj