WireGuard испраќа податоци, но не добива ништо назад: која страна?
Растечкиот бројач на испраќање е насока, не дијагноза. Одлучете дали барањето никогаш не го напуштило тунелот или одговорот никогаш не се вратил пред да промените нешто.
Бројачите на испраќање што растат додека бројачот на примање останува на нула опишуваат насока, а не дијагноза. Истото читање се појавува кога партнерот никогаш не завршил ракување, кога одредиштето го избрало погрешниот партнер, кога далечната страна нема пат назад и кога филтер го фрла одговорот на пат кон дома. Секој од нив се поправа на различно место.
Споредбата што ја скратува работата е помеѓу барање што никогаш не го напуштило тунелот и одговор што никогаш не се вратил. Едно снимање на вистинскиот интерфејс одлучува меѓу нив.
Бројачите опишуваат волумен, а не насоката на дефектот
Бројачите на WireGuard запишуваат што интерфејсот му предал на партнерот и што примил од него. Тие не кажуваат кое одредиште, кој партнер или која половина од размената не успеала. Сообраќајот во позадина ги прави вкупните бројки уште помалку информативни, бидејќи некои бајти може да се пораки за одржување на врската или неповрзани текови. Читајте ги како показател дека интерфејсот е активен, а потоа престанете да ги третирате како доказ.
Првиот корисен факт е дали ракувањето е актуелно. Без него ништо не е шифрирано за овој партнер и бројачот на примање нема причина да се движи.
Избор на партнер или пат на одговорот: две објаснувања
Првото објаснување е дека пакетот никогаш не стигнал до предвидениот партнер, бидејќи маршрутата покажувала на друго место или дозволените префикси на партнерот не го покривале одредиштето. Второто е дека пакетот стигнал, а одговорот не можел да се врати, што е проблем со маршрутирање на далечниот крај. Табелата ги разделува според тоа што би забележале на секоја точка.
| 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 |
Читајте ја табелата од горе. Недостатокот на ракување ве упатува кон клучеви, завршни точки и надворешната патека, бидејќи уште нема ништо друго за испитување. Актуелното ракување со барање видливо на серверот го преместува проблемот во насоката на враќање, каде што одлучува сопствената табела за маршрутирање на одредиштето. Барањето што никогаш не се појавува на серверот е проблем на избор, а дозволените префикси на двата партнери се првото нешто што треба да се спореди.
Два од овие четири реда се поправаат на клиентот, а два на серверот. Да се знае во кој пар сте е најголемиот дел од работата.
Каде исчезнуваат одговорите
Одговорот го напушта одредиштето, стигнува до тунелскиот интерфејс на серверот и се шифрира за партнерот чии дозволени адреси се совпаѓаат со внатрешната адреса на клиентот. Ако тоа совпаѓање не успее, одговорот се отфрла тивко, што од страната на клиентот изгледа точно како мрежен дефект. Ако одговорот е шифриран и сопствениот филтер на клиентот го одбие, симптомот повторно е ист. Двата случаи бараат снимање, а не бројач.
Најсилната форма на оваа грешка е сервер што препраќа пакети за клиентот, но нема пат назад до внатрешниот опсег на клиентот. Тој го прифаќа барањето, го испраќа одговорот кон својата стандардна порта, а тунелот никогаш не го гледа. Широко правило за превод додадено на серверот го крие тој дефект наместо да ја поправи маршрутата.
Тестирајте едно одредиште од почеток до крај
Изберете едно одредиште во опсегот на партнерот и тестирајте го додека ракувањето е очигледно актуелно. Командите подолу ги читаат состојбата на партнерот, избраната маршрута и двете страни на размената. Извршете го снимањето на интерфејсот што шифрираните пакети навистина го користат.
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
Снимање што го покажува барањето на тунелскиот интерфејс без ништо да се врати е одговор од страната на серверот, а табелата за маршрутирање на одредиштето е следното место за гледање. Ако воопшто не се појави ништо, пакетот тргнал по друг пат, па сомнителна е локалната маршрута. Размена видлива во двете снимања без напредок во апликацијата го преместува прашањето на големината на пакетот или на филтер што статистиката на интерфејсот никогаш не го покажува. Задржете едно одредиште и еден клиент во тестот, бидејќи втората променлива го претвора доказот повторно во впечаток.
Ако имињата не успеат додека дозволената адреса работи, одговорот е во DNS, а не во тунелот. Ако само големите преноси застануваат, испитајте ја големината на пакетот одделно.