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-у, а не у тунелу. Ако се само велики преноси заустављају, испитајте величину пакета одвојено.