L’apretada de mans és recent a wg show, el punt final és correcte, les claus no han canviat mai — i el ping encara diu que no hi ha ruta fins al parell. Heu canviat la subxarxa del túnel fa una hora. Aquest símptoma és la signatura d’una discrepància de prefix i no d’un problema de claus: WireGuard va completar l’apretada de mans i després va descartar les dades perquè una adreça d’origen ja no coincideix amb el que acceptarà el parell receptor. Hi ha dues maneres sensates de fer un canvi de subxarxa, i fallen en llocs diferents.

Dues maneres de fer el canvi, i què costa cadascuna

L’opció A és renumerar in situ: editar l’adreça de la interfície, els rangs dels parells, les rutes i cada còpia de la configuració, i després recarregar. L’opció B és construir una segona interfície amb el prefix nou al costat de la vella, moure-hi els parells i treure la interfície vella quan el trànsit s’hagi mogut de debò.

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

L’estat mig aplicat és el que fa perillosa l’opció A, perquè no sembla trencat. La interfície puja, l’apretada de mans té èxit i només falla el camí de les dades. L’opció B costa més feina però manté viu un camí que funciona mentre trobeu cada referència.

Què ha de moure’s alhora a la vostra banda

Quatre coses de l’amfitrió local descriuen la mateixa subxarxa, i canviar-ne una és canviar-les totes: l’adreça de la interfície, l’AllowedIPs de cada parell, la ruta que el sistema fa servir per a aquestes destinacions i el que el gestor instal·li en nom vostre. Amb wg-quick, les dues últimes es generen a partir de la configuració cada cop que la interfície puja, així que una còpia obsoleta reinstal·la el prefix vell en silenci.

Compareu el que està configurat amb el que és viu en lloc de confiar en cap dels dos:

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

La consulta de ruta és la que la gent s’estalvia. Respon què faria realment el nucli per a una destinació, inclosa una ruta més específica que hagi deixat un gestor o un entorn d’execució de contenidors. Si informa d’una interfície diferent de la del túnel, la configuració no és el problema.

Per a una interfície en funcionament, apliqueu el fitxer editat sense desmuntar el túnel:

wg syncconf wg0 <(wg-quick strip wg0)

Això actualitza els parells i els rangs in situ. No actualitza l’adreça de la interfície ni les rutes, perquè no són paràmetres de WireGuard — per tant, una renumeració encara necessita recrear la interfície o canviar l’adreça amb ip, i després tornar a comprovar l’encaminament.

Què ha de moure’s alhora a l’extrem llunyà

Aquí és on normalment mor un canvi de subxarxa. AllowedIPs no és només una indicació d’encaminament; també és la llista d’adreces d’origen que un parell pot presentar. Quan renumereu clients i deixeu l’AllowedIPs del servidor amb el prefix vell, el servidor accepta l’apretada de mans, rep els paquets xifrats i els descarta perquè l’origen intern no coincideix amb cap rang que associï amb aquell parell. No es registra cap error i el client veu un temps d’espera.

Així que actualitzeu el costat receptor amb intenció: l’entrada del parell al servidor ha de llistar el prefix nou del client, la ruta de tornada del propi servidor ha d’apuntar al túnel per a aquest prefix, i qualsevol xarxa posterior al servidor ha d’aprendre el camí nou. La política de tallafocs que anomenava el rang vell necessita el mateix tracte, i també qualsevol cosa que faci selecció per origen.

El diagnòstic que separa les dues fallades és barat. Una apretada de mans recent sense dades vol dir que el túnel està aixecat i que l’adreçament intern no concorda. Cap apretada de mans vol dir que esteu mirant abast o claus. No canvieu les claus per un problema de prefix; reinicia l’única cosa que funcionava.

Còpies obsoletes que sobreviuen a la vostra edició

Editar un fitxer no és el mateix que canviar el sistema en funcionament, i les còpies són més nombroses del que la gent espera: la unitat o el gestor que posseeix la interfície, un segon perfil amb el mateix nom en un altre directori, un contenidor amb la configuració incrustada en una imatge, una interfície de router amb la seva versió editada i una aplicació client que reimporta un túnel desat en engegar. Cadascuna pot restaurar el prefix vell després que el vostre canvi sembli complet.

Els noms també viatgen. Si la ruta numèrica funciona però el nom d’amfitrió falla, un registre DNS intern o la configuració d’un servei encara apunta a l’adreça vella del túnel. Corregiu la referència en lloc d’ampliar cada rang de parell, cosa que taparia el problema real i ampliaria alhora l’ACL d’origen.

Mantingueu un camí de recuperació obert mentre treballeu: una segona manera d’entrar a l’amfitrió, una consola sèrie o una reversió programada dels fitxers de configuració. Un canvi de túnel que us deixa fora de la màquina que canvieu és la manera més comuna que aquesta tasca es converteixi en un vespre.

Triar entre les dues, i verificar el tall

Trieu A quan teniu tots els parells, el nombre és petit i una interrupció curta és acceptable. Trieu B quan els parells són mans remotes que no controleu, quan un enllaç entre seus ha de romandre actiu o quan no podeu garantir que cada còpia s’actualitzi en una sola passada. En aquest cas afegiu el prefix nou a les dues interfícies, moveu els parells d’un en un, observeu el trànsit a la nova i només llavors traieu la interfície vella i les seves rutes.

Amb qualsevol de les dues opcions, el canvi està fet quan passen quatre comprovacions: l’apretada de mans és recent, la consulta de ruta per a una destinació del prefix nou anomena el túnel, una càrrega de pocs centenars de bytes es transfereix en tots dos sentits, i el mateix es compleix després de reiniciar l’amfitrió o el gestor. El manual wg(8) és la referència del que significa AllowedIPs en cada sentit, i val la pena rellegir-lo abans d’ampliar un rang per fer desaparèixer un símptoma.

  • Apretada de mans recent i cap dada: mireu l’AllowedIPs del receptor abans de tocar les claus.
  • La consulta de ruta assenyala la interfície equivocada: la ruta la posseeix un gestor o un contenidor, no el vostre fitxer.
  • Adreça numèrica bé i nom d’amfitrió trencat: una referència vella, no un bucle d’encaminament.
  • El canvi només és complet quan, després d’un reinici, encara s’usa el prefix nou.

Articles relacionats