Пре сваке промене подешавања стоје четири питања: ради ли исти ресурс док је клијент активан, колико је трајао период мировања, да ли је уређај спавао или променио мрежу, и да ли се квар појављује само у саобраћају који покреће супротна страна. Одговори раздвајају истекло NAT мапирање од успаваног радија и од застареле апликације. Они такође кажу да ли је keepalive уопште релевантан. Почните од смера, јер он кошта једну команду и уклања половину могућих узрока.

Који смер не успева?

Нови одлазни захтев клијента и саобраћај који после тихог периода пристиже ка њему различито оптерећују опрему са стањем. Одлазни пакети обнављају мапирање док излазе, а долазни пакети захтевају да је старо мапирање преживело. Та асиметрија је цео тест. Ако клијент може да изађе, али ништа не улази, мапирање је вероватно истекло, а ако ниједно не ради, тунел или мрежни приступ клијента је нестао.

Забележите колико је тихи период трајао и да ли је уређај спавао или је у међувремену прешао на другу мрежу. Те две чињенице мењају дијагнозу пре било ког подешавања.

wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer

Покрените та три пре и после тихог периода, јер сваки одговара на други део питања. Временска ознака handshake-а која се није померила каже да су стране престале да разговарају, док промењена крајња тачка каже да се мапирање померило, а не умрло. Бројачи преноса показују да ли је ишта стигло, и то је разлика између застарелог мапирања и тихе апликације. Запишите бројеве у обе тачке, јер поређење је доказ.

Сан, радио и стање апликације

На телефону или преносном рачунару успавани уређај је можда потпуно изгубио мрежни приступ, а keepalive не може да врати искључени радио нити да заврши captive portal који није задовољен. Мобилне платформе суспендују позадински рад по правилу, па да ли се периодични саобраћај наставља зависи од платформе и од онога што је апликација с њом договорила. Кеширана веза је трећи случај и највише заварава, јер повратак тунела није исто што и поновно повезивање апликације са њим.

После периода мировања поново отворите апликацију уместо да верујете картици која је остала отворена. Ако нови захтев успе тамо где је стара сесија пала, тунел никада није био проблем.

Шта keepalive заправо ради

PersistentKeepalive периодично шаље аутентификовани празан пакет партнеру, што је довољно да NAT мапирање остане живо између партнера и да крајња тачка супротне стране остане актуелна, као што описује брзи почетак WireGuard-а. Он не поправља успавани радио, изгубљену руту или апликацију која никада не покушава поново. Изаберите интервал кроз подржана подешавања клијента и не укључујте агресивну вредност свуда само зато што приказ стања замукне.

Већина периода мировања нису кварови. Тунел који се поново повеже после пет минута тишине понаша се исправно, а проблем је само случај када је нешто требало да стигне са супротне стране.

Сачекајте интервал који је раније падао

Направите једну подржану промену, па пустите исти период мировања да прође пре него што поново тестирате тај ресурс. Чекање је део теста, а не формалност. Тренутни успех после поновног повезивања не говори ништа о симптом дугог мировања, јер поновно повезивање је управо догађај који ресетује стање. Ако се проблем појављује и током активне употребе, вратите се проверама handshake-а и пута података уместо да додајете још периодичног саобраћаја.

Држите једну промену по тесту и запишите коришћено трајање мировања. Без тога свако касније поређење одступа и нико не може да каже која промена је била важна. Запишите четири чињенице заједно: смер, трајање, стање сна и понашање апликације.

Повезани чланци