WireGuard не приказује последње руковање: шта прво проверити
Празно руковање може једноставно да значи да ништа није послато. Покрените дозвољени пакет, затим проверите путању, пар кључева и спољну UDP путању.
Празно поље последњег руковања обично значи да интерфејс није завршио руковање од подизања, што о конфигурацији говори мање него што изгледа. WireGuard ћути док пакет не мора да изађе кроз интерфејс, тако да неактиван peer без чега да пошаље пријављује управо то. Утврдите да ли је нешто заиста понуђено пре него што прегледате кључеве.
Тест је дозвољени пакет ка одредишту које peer треба да носи. Све остало на том екрану стања описује намеру, а не активност.
Неактиван интерфејс нема шта да пријави
WireGuard руковања обавља лењо: први пакет коме је потребан тунел покреће размену, а интерфејс до тада ћути. Peer који је конфигурисан и никада коришћен приказује празно руковање, нула примљених бајтова и растући размак од последњег. То стање је здраво за неактивног клијента и забрињавајуће само ако сте очекивали да је саобраћај већ текао. Проверите и бројаче преноса, јер они раздвајају ништа-послато од покушано-и-неуспешно.
Ако бројачи стоје на нули са обе стране, проблем је изнад тунела. Ништа није стигло до интерфејса да било шта покрене.
Покрените саобраћај који peer сме да носи
Изаберите адресу унутар дозвољених префикса peer-а на локалној машини и потврдите да би је табела рутирања послала кроз интерфејс. Одредиште изван тих префикса ствара обичан рутиран захтев без икаквог учешћа WireGuard-а. Користите услугу која брзо одговара, попут ping-а или кратке TCP везе, да покушај има видљив почетак и крај. Затим поново прочитајте линију руковања уместо да гледате у екран и чекате.
ip route get 10.60.9.5
ping -c 3 -W 2 10.60.9.5
wg show wg0 latest-handshakes
wg show wg0 transfer
Упит путање је важнији од ping-а. Ако именује физички интерфејс, пакет никада није ушао у тунел и празно руковање је одговор рутирања, а не криптографски. Поправите путању пре него што отклоните грешку на peer-у.
Упоредите пар кључева и крајњу тачку
Када је саобраћај заиста понуђен, следећа провера је идентитет. Локални приватни кључ мора да одговара јавном кључу који одобрава друга страна, конфигурисани удаљени јавни кључ мора да идентификује предвиђени peer, а сваки унапред дељени кључ мора да се поклапа на оба краја. Разлика од једног знака у кључу base64 ствара peer који изгледа конфигурисан и никада не завршава размену. Упоређујте са записом о обезбеђивању уместо да поново генеришете кључеве, јер нови кључ поништава сваки peer који је веровао старом.
Крајња тачка захтева исти преглед: име домаћина, адреса, UDP порт и породица која се користи за долазак до ње. Застарела адреса или погрешан порт дају тишину уместо поруке.
Пратите спољну UDP путању
Руковање путује као UDP ка крајњој тачки, зато спољна путања мора да га носи. Наредбе испод проверавају да ли постоји слушалац, да ли је локални стек послао датаграм и која је крајња тачка конфигурисана. Покрените снимање док покрећете саобраћај, а не пре тога.
ss -lunp | grep 51820
sudo tcpdump -ni eth0 udp port 51820
wg show wg0 endpoints
conntrack -L -p udp | grep 51820
Снимак који показује почетак без одговора упућује изван машине, јер далека страна или не слуша, или је филтрирана, или је погрешно адресирана. Снимак који не показује ништа значи да пакет никада није изашао, што вас враћа на путању и на било коју ознаку сокета у игри. Када управљате оба краја, повежите покушај по временској ознаци са уским снимањем на серверу уместо општим. TCP тест порта овде ништа не доказује, јер је протокол само UDP.
Чим се појави руковање, тестирајте апликацију кроз тунел, јер завршена размена доказује идентитет и доступност, а не употребљиву пропусност или тачан DNS. Сачувајте излаз стања пре и после промене, и разлика постаје ваш доказ.