WireGuard stuur data maar kry niks terug: watter kant?
’n Klimmende stuur-teller is ’n rigting, nie ’n diagnose nie. Besluit of die versoek nooit die tonnel verlaat het nie of die antwoord nooit teruggekom het nie, voordat jy iets verander.
Stuurtellers wat klim terwyl die ontvanger-teller op nul bly, beskryf ’n rigting, nie ’n diagnose nie. Dieselfde lesing verskyn wanneer die eweknie nooit ’n handskud voltooi het nie, wanneer die bestemming die verkeerde eweknie gekies het, wanneer die oorkant geen roete terug het nie, en wanneer ’n filter die antwoord op pad huis toe laat val. Elkeen van dié word op ’n ander plek herstel.
Die vergelyking wat die werk verkort, is tussen ’n versoek wat nooit die tonnel verlaat het nie en ’n antwoord wat nooit teruggekom het nie. Een opname op die regte koppelvlak besluit tussen hulle.
Tellers beskryf volume, nie die rigting van die fout nie
WireGuard se tellers teken aan wat die koppelvlak aan die eweknie gegee en wat dit van hom ontvang het. Hulle sê nie watter bestemming, watter eweknie of watter helfte van ’n uitruiling gefaal het nie. Agtergrondverkeer maak die totale nog minder insiggewend, want sommige grepe kan keepalives of onverwante strome wees. Lees hulle as ’n aanduiding dat die koppelvlak aktief is, en hou dan op om hulle as bewyse te behandel.
Die nuttige eerste feit is of ’n handskud aktueel is. Sonder een is niks vir hierdie eweknie geënkripteer nie en het die ontvanger-teller geen rede om te beweeg nie.
Eweknie-keuse of antwoordroete: twee verklarings
Die eerste verklaring is dat die pakkie nooit die bedoelde eweknie bereik het nie, omdat die roete elders heen gewys het of die eweknie se toegelate voorvoegsels nie die bestemming gedek het nie. Die tweede is dat die pakkie aangekom het en die antwoord nie kon terugkeer nie, wat ’n roeteprobleem aan die ver kant is. Die tabel skei hulle volgens wat jy op elke punt sou waarneem.
| 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 |
Lees die tabel van bo af. ’n Ontbrekende handskud stuur jou na sleutels, eindpunte en die buitenste pad, want niks anders bestaan nog om te ondersoek nie. ’n Aktuele handskud met die versoek sigbaar op die bediener skuif die probleem in die terugrigting, waar die bestemming se eie roetegids besluit. ’n Versoek wat nooit op die bediener verskyn nie, is ’n keuseprobleem, en die toegelate voorvoegsels op albei eweknieë is die eerste ding om te vergelyk.
Twee van dié vier rye word op die kliënt reggemaak en twee op die bediener. Om te weet in watter paar jy is, is die meeste van die werk.
Waar antwoorde verdwyn
’n Antwoord verlaat die bestemming, bereik die bediener se tonnelkoppelvlak en word geënkripteer vir die eweknie wie se toegelate adresse by die kliënt se innerlike adres pas. As dié passing misluk, word die antwoord stilweg weggegooi, wat presies soos ’n netwerkfout van die kliënt se kant lyk. As die antwoord geënkripteer is en die kliënt se eie filter dit verwerp, is die simptoom weer identies. Albei gevalle het die opname nodig eerder as die teller.
Die sterkste weergawe van dié fout is ’n bediener wat pakkies vir die kliënt aanstuur maar geen roete terug na die kliënt se innerlike reeks het nie. Dit aanvaar die versoek, stuur die antwoord na sy verstek-gateway, en die tonnel sien dit nooit. ’n Breë vertaalreël wat by die bediener gevoeg word, verberg dié fout in plaas daarvan om die roete te herstel.
Toets een bestemming van punt tot punt
Kies ’n enkele bestemming binne die eweknie se reeks, en toets dit terwyl ’n handskud aantoonbaar aktueel is. Die opdragte hieronder lees die eweknie-toestand, die gekose roete en albei kante van die uitruiling. Voer die opname uit op die koppelvlak wat die geënkripteerde pakkies werklik gebruik.
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
’n Opname wat die versoek op die tonnelkoppelvlak wys met niks wat terugkom, is ’n antwoord van die bediener se kant, en die bestemming se roetegids is waar om volgende te kyk. As niks hoegenaamd verskyn, het die pakkie ’n ander pad gevat, so die plaaslike roete is die verdagte. ’n Uitruiling wat in albei opnames sigbaar is sonder toepassingsvordering skuif die vraag na pakkiegrootte of na ’n filter wat die koppelvlakstatistieke nooit wys nie. Hou een bestemming en een kliënt in die toets, want ’n tweede veranderlike verander bewyse terug in ’n indruk.
As name misluk terwyl ’n toegelate adres werk, sit die antwoord in DNS eerder as in die tonnel. As slegs groot oordragte vassteek, ondersoek pakkiegrootte apart.