La interfície s’aixeca, la configuració del parell sembla correcta i cap encaixada de mans no s’acaba mai. Afegir una ruta per defecte a través del túnel és el pas que sovint ho provoca: la mateixa taula de rutes decideix ara on han d’anar els paquets xifrats del túnel, i la resposta que produeix torna a dins del túnel. Res no pot portar el paquet exterior que portaria el paquet interior, així que la connexió s’atura abans de començar. La reparació és petita, però té un ordre, i la verificació importa més que l’edició.

Confirmeu el bucle abans de canviar una ruta

Llegiu l’adreça actual de l’extrem del parell i després pregunteu a la pila d’encaminament on aniria un paquet a aquesta adreça. Si la resposta anomena la interfície del túnel, el bucle està confirmat i no cal cap diagnòstic més. Deseu les dues sortides al registre de canvis abans de tocar res, perquè la comparació després de la reparació són les mateixes dues ordres. Un bucle no és subtil un cop es veu; la dificultat és que la interfície sembla sana mentre passa.

sudo wg show wg1 endpoints
ip route get 198.51.100.20
ip rule show

Incloeu les regles de política en aquesta captura. Una ruta per defecte que sembla correcta a la taula principal encara pot perdre contra una regla que selecciona una taula diferent per al trànsit marcat o no marcat, i el bucle reapareixerà amb una taula de rutes que sembla correcta.

Llegiu el camí de l’extrem, no el camí del túnel

El camí de l’extrem és la ruta que fan els datagrames xifrats fins a l’adreça pública del parell, i ha de quedar fora del túnel mentre el túnel existeixi. El camí del túnel és tot el que el parell pot portar. Aquests dos camins comparteixen una taula de rutes, i és exactament per això que una sola entrada que ho captura tot els pot col·lapsar l’un dins de l’altre. Separar el trànsit del túnel del transport propi del túnel és tot el problema de disseny, i cada eina compatible ho resol en un lloc una mica diferent.

Comproveu les dues famílies d’adreces per separat si la interfície porta les dues. Una exclusió IPv4 que funciona no diu res sobre si l’extrem IPv6 encara és accessible, i una configuració mixta pot semblar que funciona fins que es tria l’adreça IPv6 del parell.

Restabliu el camí de l’extrem amb un sol canvi coherent

Hi ha dos enfocaments compatibles, i barrejar-los és com una configuració que funciona es torna impredictible. El primer és deixar que l’eina que posseeix la interfície gestioni tot el túnel: wg-quick té un maneig dedicat per a un rang de parell per defecte que instal·la una taula separada, regles de política i una marca de sòcol, cosa que manté els paquets exteriors fora del túnel. Deixeu aquesta maquinària intacta en lloc de reproduir-ne la meitat a mà. Una configuració que barreja una ruta per defecte afegida manualment amb un gestor que ja instal·la marques i regles sol fallar després de reconnectar, quan el gestor reescriu l’estat que el pas manual suposava.

El segon és un disseny manual en què l’extrem rep una ruta d’amfitrió explícita a través de la passarel·la física. Afegiu aquesta ruta abans de la per defecte, substituïu en lloc d’afegir perquè una entrada obsoleta no pugui guanyar, i confirmeu la consulta després.

sudo ip route replace 198.51.100.20/32 via 192.0.2.1 dev eth0
ip route get 198.51.100.20
sudo ip route add default dev wg1

Verifiqueu, i després conserveu una manera de tornar

Una marca de temps d’encaixada de mans que avança és la primera prova, i és més forta que una interfície que simplement existeix. Seguiu-la amb una prova d’aplicació a través del túnel, després baixeu la interfície expressament i confirmeu que l’amfitrió torna a un estat utilitzable en lloc de mantenir una ruta per defecte que apunta a res. Aquest últim pas és el que la gent s’estalvia, i és el que decideix si un reinici deixarà la màquina encallada.

sudo wg show wg1 latest-handshakes
sudo wg-quick down wg1
ip route show default
ip route get 198.51.100.20

Abans de tot això, deseu l’estat actual d’encaminament i assegureu-vos que hi ha una via d’entrada que no depengui del túnel: una consola, una adreça de gestió fora de banda o un col·lega al lloc. Una màquina remota que perd la seva ruta per defecte no es pot recuperar per la connexió que acaba de perdre, i el pas més segur del runbook és el que es fa abans de la primera ordre.

Articles relacionats