WireGuard sendas datumojn sed ricevas nenion reen: kiu flanko?
Kreskanta senda nombrilo estas direkto, ne diagnozo. Decidu, ĉu la peto neniam forlasis la tunelon aŭ ĉu la respondo neniam revenis, antaŭ ol vi ŝanĝos ion ajn.
Sendaj nombriloj, kiuj kreskas dum la riceva nombrilo restas ĉe nulo, priskribas direkton, ne diagnozon. La sama legado aperas kiam la samtavolano neniam kompletigis manpremon, kiam la celo elektis la malĝustan samtavolanon, kiam la malproksima flanko havas neniun vojon reen, kaj kiam filtrilo faligas la respondon survoje hejmen. Ĉiu el tiuj estas riparata en malsama loko.
La komparo, kiu mallongigas la laboron, estas inter peto, kiu neniam forlasis la tunelon, kaj respondo, kiu neniam revenis. Unu kapto sur la ĝusta interfaco decidas inter ili.
Nombriloj priskribas volumon, ne la direkton de la fuŝo
La nombriloj de WireGuard registras, kion la interfaco transdonis al la samtavolano kaj kion ĝi ricevis de ĝi. Ili ne diras, kiu celo, kiu samtavolano aŭ kiu duono de interŝanĝo malsukcesis. Fona trafiko igas la sumojn eĉ malpli informaj, ĉar iuj bajtoj povas esti vivsignoj aŭ nerilataj fluoj. Legu ilin kiel indikon, ke la interfaco estas aktiva, kaj poste ĉesu trakti ilin kiel pruvon.
La utila unua fakto estas, ĉu manpremo estas aktuala. Sen ĝi, nenio estis ĉifrita por ĉi tiu samtavolano kaj la riceva nombrilo havas neniun kialon moviĝi.
Elektado de samtavolano aŭ vojo de la respondo: du klarigoj
La unua klarigo estas, ke la paketo neniam atingis la intencitan samtavolanon, ĉar la vojo montris aliloken aŭ ĉar la permesitaj prefiksoj de la samtavolano ne kovris la celon. La dua estas, ke la paketo alvenis kaj la respondo ne povis reveni, kio estas enkursiga problemo ĉe la malproksima fino. La tabelo disigas ilin laŭ tio, kion vi observus ĉe ĉiu punkto.
| 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 |
Legu la tabelon de supre. Mankanta manpremo sendas vin al ŝlosiloj, finpunktoj kaj la ekstera vojo, ĉar nenio alia ekzistas por ekzameni ankoraŭ. Aktuala manpremo kun la peto videbla sur la servilo movas la problemon al la revena direkto, kie decidas la propra enkursiga tabelo de la celo. Peto, kiu neniam aperas sur la servilo, estas elektoproblemo, kaj la permesitaj prefiksoj ĉe ambaŭ samtavolanoj estas la unua afero por kompari.
Du el tiuj kvar vicoj ripariĝas ĉe la kliento kaj du ĉe la servilo. Scii, en kiu paro vi estas, estas la plej granda parto de la laboro.
Kie respondoj malaperas
Respondo forlasas la celon, atingas la tunelan interfacon de la servilo kaj estas ĉifrata por la samtavolano, kies permesitaj adresoj kongruas kun la interna adreso de la kliento. Se tiu kongruo malsukcesas, la respondo estas silente forĵetata, kio de la klienta flanko aspektas ĝuste kiel reta fuŝo. Se la respondo estas ĉifrita kaj la propra filtrilo de la kliento malakceptas ĝin, la simptomo denove estas identa. Ambaŭ kazoj bezonas la kapton anstataŭ la nombrilon.
La plej forta versio de tiu eraro estas servilo, kiu plusendas paketojn por la kliento sed havas neniun vojon reen al la interna gamo de la kliento. Ĝi akceptas la peton, sendas la respondon al sia implicita enirejo, kaj la tunelo neniam vidas ĝin. Vasta traduka regulo aldonita al la servilo kaŝas tiun fuŝon anstataŭ ripari la vojon.
Testu unu celon de komenco ĝis fino
Elektu unu solan celon ene de la gamo de la samtavolano, kaj testu ĝin dum manpremo estas videble aktuala. La subaj komandoj legas la staton de la samtavolano, la elektitan vojon kaj ambaŭ flankojn de la interŝanĝo. Rulu la kapton sur la interfaco, kiun la ĉifritaj paketoj efektive uzas.
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
Kapto, kiu montras la peton sur la tunela interfaco sen io ajn revenanta, estas respondo de la servila flanko, kaj la enkursiga tabelo de la celo estas la sekva loko por rigardi. Se tute nenio aperas, la paketo prenis alian vojon, do la loka vojo estas la suspektato. Interŝanĝo videbla en ambaŭ kaptoj sen progreso en la aplikaĵo movas la demandon al paketa grandeco aŭ al filtrilo, kiun la interfacaj statistikoj neniam montras. Tenu unu celon kaj unu klienton en la testo, ĉar dua variablo retransformas pruvon en impreson.
Se nomoj malsukcesas dum permesita adreso funkcias, la respondo kuŝas en DNS kaj ne en la tunelo. Se nur grandaj transportoj haltas, ekzamenu la paketan grandecon aparte.