Dos peers llisten rangs que es toquen, i el trànsit arriba al equivocat. Res no està corrupte: WireGuard tria un peer fent coincidir la destinació amb els rangs configurats, i guanya la coincidència més específica. Abans d’ampliar res, decideix quin peer ha de posseir quin prefix.

El prefix més llarg guanya dins de WireGuard

Cada entrada de peer porta un conjunt de prefixos de destinació. Quan un paquet s’encamina cap a la interfície, la implementació busca l’entrada amb el prefix coincident més específic, la mateixa regla que aplica una taula d’encaminament. Per tant, un /24 guanya un /16 que el conté, i el peer més estret rep el trànsit.

Les instal·lacions road-warrior ho fan servir deliberadament. Un peer posseeix un rang ampli per a un lloc, i els amfitrions individuals es retallen amb entrades /32 que pertanyen a altres peers. El patró funciona perquè les retallades són més específiques, no per l’ordenació.

Escriu la propietat com una taula de prefix i peer. Si dues entrades descriuen el mateix prefix, la configuració ja no expressa una intenció, expressa una cursa.

El sistema operatiu tria primer la interfície

WireGuard només tria entre els peers d’una interfície. Quina interfície rep el paquet es decideix abans, per la taula d’encaminament de l’amfitrió, i una segona ruta per defecte o una ruta obsoleta pot enviar el trànsit on la llista de peers no el veu mai. Per això un diagnòstic a nivell de peer pot ser correcte i tot i així no explicar la fallada. Comprova la ruta cap a la destinació abans de llegir la configuració del peer, perquè una ruta que apunta a la interfície física passa per alt tota la qüestió.

L’eina normalment instal·la aquestes rutes a partir dels rangs dels peers, cosa que significa que un canvi a la llista d’un peer pot redirigir en silenci trànsit que abans pertanyia a un altre. Editar un peer és, per tant, un canvi d’encaminament disfressat. Revisa tots dos alhora, o arreglaràs un i trencaràs l’altre.

Els paquets entrants es comproven per origen

La llista de rangs fa doble feina. Per al trànsit sortint tria un peer per destinació, i per al trànsit entrant autoritza una adreça d’origen. Un paquet que arriba d’una adreça fora dels rangs d’aquell peer es descarta abans que cap tallafoc el vegi.

Aquesta asimetria és fàcil de passar per alt quan llegeixes un costat de la configuració. Un peer que pot arribar a una subxarxa no queda per això autoritzat a enviar des d’aquesta subxarxa, i les dues direccions s’apliquen amb comprovacions diferents.

La propietat estreta de l’origen ho converteix en un avantatge. Dona a cada peer un /32 per a la seva pròpia adreça i el tallafoc posterior tindrà un origen fiable amb què coincidir, en lloc d’un rang de tot el grup que qualsevol membre podria reclamar.

Els rangs duplicats no són failover

Assignar el mateix prefix a dos peers no crea un balancejador de càrrega ni una ruta de reserva. No hi ha comprovació d’estat ni afinitat de sessió: l’entrada guanyadora la decideix l’ordenació interna de la implementació, que no és un contracte sobre el qual dissenyar. Si necessites sortides alternatives, expressa-les on es defineix la selecció. Una política d’encaminament, una mètrica o un parell de prefixos diferents amb un propietari documentat cadascun produeixen un comportament que pots predir i provar.

Ampliar un rang per arreglar una fallada no relacionada és l’altre error habitual. Allunya el trànsit del peer que funcionava, i el nou símptoma arriba abans que s’hagi entès l’antic.

Verifica la selecció abans d’editar

Tres ordres responen les tres preguntes en ordre. La primera llista els rangs que reclama cada peer. La segona mostra quina interfície faria servir l’amfitrió per a una destinació. La tercera mostra l’estat viu dels peers després que hagi fluït el trànsit.

wg show wg0 allowed-ips
ip route get 10.66.8.20
wg show wg0
ip rule show

Executa-les abans i després d’un canvi i compara. Si la sortida de la ruta ha canviat però el trànsit encara arriba al peer equivocat, les llistes de prefixos se superposen d’una manera que encara no has documentat. Si la sortida de la ruta no ha canviat, la configuració del peer no era mai el que es consultava.

Registra la destinació, la interfície triada i el peer triat al tiquet. Aquest triplet és el que fa revisable més endavant una superposició, i és molt més útil que una captura de pantalla de la configuració.

Articles relacionats