WireGuard envia dades però no rep res: quin costat?
Un comptador de transmissió que puja assenyala una direcció, no un diagnòstic. Decidiu si la petició no va sortir mai del túnel o si la resposta no va tornar mai abans de tocar res.
Els comptadors de transmissió que pugen mentre el comptador de recepció es queda a zero descriuen una direcció, no un diagnòstic. La mateixa lectura apareix quan el parell no va completar mai l’apretada de mans, quan la destinació va triar el parell equivocat, quan el costat llunyà no té ruta de tornada i quan un filtre deixa caure la resposta en el camí de retorn. Cadascun d’aquests casos es repara en un lloc diferent.
La comparació que escurça la feina és entre una petició que no va sortir mai del túnel i una resposta que no va tornar mai. Una captura a la interfície correcta decideix entre les dues.
Els comptadors descriuen volum, no la direcció de l’avaria
Els comptadors de WireGuard registren què ha lliurat la interfície al parell i què n’ha rebut. No diuen quina destinació, quin parell o quina meitat d’un intercanvi ha fallat. El trànsit de fons fa que els totals siguin encara menys informatius, ja que alguns bytes poden ser missatges de manteniment o fluxos no relacionats. Llegiu-los com un indici que la interfície és activa i després deixeu de tractar-los com a proves.
La primera dada útil és si l’apretada de mans és actual. Sense ella no s’ha xifrat res per a aquest parell i el comptador de recepció no té cap motiu per moure’s.
Selecció del parell o camí de resposta: dues explicacions
La primera explicació és que el paquet no va arribar mai al parell previst, perquè la ruta apuntava a un altre lloc o perquè els prefixos permesos del parell no cobrien la destinació. La segona és que el paquet va arribar i la resposta no va poder tornar, cosa que és un problema d’encaminament a l’extrem llunyà. La taula els separa segons què observaríeu a cada punt.
| Observation | Points to |
|---|---|
| No handshake while transmit climbs | Peer selection or endpoint |
| Handshake current, request visible on the server | Reply path or far-side route |
| Request never visible on the server | Allowed prefixes or local route |
| Both packets visible, nothing reaches the client | Return filter or translation |
Llegiu la taula de dalt a baix. Una apretada de mans absent us envia a les claus, als punts finals i al camí exterior, perquè encara no hi ha res més a examinar. Una apretada de mans actual amb la petició visible al servidor trasllada el problema a la direcció de retorn, on decideix la taula d’encaminament de la pròpia destinació. Una petició que no apareix mai al servidor és un problema de selecció, i els prefixos permesos als dos parells són la primera cosa a comparar.
Dues d’aquestes quatre files es reparen al client i dues al servidor. Saber en quina parella esteu és la major part de la feina.
On desapareixen les respostes
Una resposta surt de la destinació, arriba a la interfície de túnel del servidor i es xifra per al parell les adreces permeses del qual coincideixen amb l’adreça interna del client. Si aquesta coincidència falla, la resposta es descarta en silenci, cosa que des del costat del client sembla exactament una avaria de xarxa. Si la resposta està xifrada i el filtre propi del client la rebutja, el símptoma torna a ser idèntic. Els dos casos necessiten la captura i no el comptador.
La versió més forta d’aquest error és un servidor que reenvia paquets pel client però no té ruta de tornada al rang intern del client. Accepta la petició, envia la resposta cap a la seva passarel·la per defecte i el túnel no la veu mai. Una regla de traducció àmplia afegida al servidor amaga aquesta avaria en lloc de reparar la ruta.
Proveu una destinació d’extrem a extrem
Trieu una sola destinació dins del rang del parell i proveu-la mentre l’apretada de mans sigui demostrablement actual. Les ordres següents llegeixen l’estat del parell, la ruta triada i els dos costats de l’intercanvi. Executeu la captura a la interfície que fan servir realment els paquets xifrats.
wg show wg0 latest-handshakes
wg show wg0 transfer
ip route get 10.60.9.5
sudo tcpdump -ni wg0 host 10.60.9.5
Una captura que mostra la petició a la interfície de túnel sense res de tornada és una resposta del costat del servidor, i la taula d’encaminament de la destinació és el lloc on cal mirar després. Si no apareix absolutament res, el paquet ha pres un altre camí, així que la ruta local és el sospitós. Un intercanvi visible a les dues captures sense progrés a l’aplicació trasllada la pregunta a la mida del paquet o a un filtre que les estadístiques de la interfície no mostren mai. Manteniu una destinació i un client a la prova, perquè una segona variable converteix les proves novament en una impressió.
Si els noms fallen mentre una adreça permesa funciona, la resposta és al DNS i no al túnel. Si només s’aturen les transferències grans, examineu la mida del paquet per separat.