WireGuard не успева по мирување: прво проверете го правецот
Истечено NAT мапирање, спиечко радио и застарена апликација изгледаат исто по тивок период. Проверете го влезниот и излезниот сообраќај одделно пред да додадете keepalive.
Пред секоја промена на поставката стојат четири прашања: работи ли истиот ресурс додека клиентот е активен, колку траеше периодот на мирување, дали уредот спиеше или смени мрежа, и дали дефектот се појавува само во сообраќајот што го започнува спротивната страна. Одговорите го одвојуваат истеченото NAT мапирање од спиечкото радио и од застарената апликација. Тие исто така кажуваат дали keepalive воопшто е релевантен. Започнете со правецот, бидејќи чини една команда и отстранува половина од можните причини.
Кој правец не успева?
Новото излезно барање на клиентот и сообраќајот што пристигнува кон него по тивок период различно ја испитуваат опремата со состојба. Излезните пакети го обновуваат мапирањето додека излегуваат, а влезните пакети бараат старото мапирање да преживеало. Таа асиметрија е целиот тест. Ако клиентот може да излезе, но ништо не влегува, мапирањето веројатно истекло, а ако ниту едното не работи, тунелот или мрежниот пристап на клиентот го нема.
Забележете колку траеше тивкиот период и дали уредот спиеше или премина на друга мрежа во меѓувреме. Овие два факти ја менуваат дијагнозата пред која било поставка.
wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer
Извршете ги тие три пред и по тивкиот период, бидејќи секоја одговара на различен дел од прашањето. Временската ознака на handshake што не се поместила вели дека страните престанале да разговараат, додека променета крајна точка вели дека мапирањето се поместило, а не умрело. Бројачите на пренос покажуваат дали воопшто пристигнало нешто, и тоа е разликата помеѓу застарено мапирање и тивка апликација. Запишете ги бројките во двете точки, бидејќи споредбата е доказот.
Сон, радио и состојба на апликацијата
На телефон или преносен компјутер, спиечки уред може целосно да го изгубил мрежниот пристап, а keepalive не може да врати исклучено радио ниту да заврши captive portal што не е задоволен. Мобилните платформи суспендираат позадинска работа по политика, па дали периодичниот сообраќај продолжува зависи од платформата и од тоа што апликацијата договорила со неа. Кеширана врска е третиот случај и најзалажувачкиот, бидејќи враќањето на тунелот не е исто што и повторно поврзување на апликацијата со него.
По периодот на мирување отворете ја апликацијата повторно наместо да ѝ верувате на картичката што останала отворена. Ако новото барање успее таму каде што старата сесија не успеа, тунелот никогаш не бил проблемот.
Што всушност прави keepalive
PersistentKeepalive периодично испраќа автентифициран празен пакет до партнерот, што е доволно за да остане живо NAT мапирањето меѓу партнерите и крајната точка на спротивната страна да остане актуелна, како што опишува брзиот почеток на WireGuard. Тоа не поправа спиечко радио, изгубена рута или апликација што никогаш не се обидува повторно. Изберете го интервалот преку поддржаните поставки на клиентот и не вклучувајте агресивна вредност насекаде само затоа што приказот на состојбата замолкнува.
Повеќето периоди на мирување не се дефекти. Тунелот што повторно се поврзува по пет минути тишина се однесува правилно, а проблемот е само случајот кога нешто требало да пристигне од спротивната страна.
Почекајте го интервалот што порано не успеваше
Направете една поддржана промена, потоа пуштете истиот период на мирување да помине пред повторно да го тестирате тој ресурс. Чекањето е дел од тестот, а не формалност. Непосредниот успех по повторното поврзување не кажува ништо за симптом на долго мирување, бидејќи повторното поврзување е токму настанот што ја ресетира состојбата. Ако проблемот се појавува и при активна употреба, вратете се на проверките на handshake и на патеката на податоци наместо да додавате повеќе периодичен сообраќај.
Држете една промена по тест и запишете го користеното времетраење на мирувањето. Без тоа секое подоцнежно споредување отстапува и никој не може да каже која промена била важна. Запишете ги четирите факти заедно: правец, времетраење, состојба на сон и однесување на апликацијата.