’n Leë veld vir die jongste handskud beteken gewoonlik dat die koppelvlak nog geen handskud voltooi het sedert dit opgekom het nie, wat minder oor die opstelling sê as wat dit lyk. WireGuard bly stil totdat ’n pakket deur die koppelvlak moet vertrek, so ’n ledige peer met niks om te stuur rapporteer presies dit. Stel vas of enigiets werklik aangebied is voordat jy die sleutels ondersoek.

Die toets is ’n toegelate pakket na ’n bestemming wat die peer behoort te dra. Al die res op daardie statusskerm beskryf bedoeling eerder as aktiwiteit.

’n Onaktiewe koppelvlak het niks om te rapporteer nie

WireGuard doen handskud lui: die eerste pakket wat die tonnel nodig het, begin die uitruiling, en die koppelvlak bly tot dan stil. ’n Peer wat opgestel en nooit gebruik is nie, wys ’n leë handskud, nul grepe ontvang en ’n groeiende gaping sedert die vorige een. Daardie toestand is gesond vir ’n onaktiewe kliënt en kommerwekkend net as jy verwag het dat verkeer al moes vloei. Kyk ook na die oordragtellers, want hulle skei niks-gestuur van probeer-en-misluk.

As die tellers aan beide kante op nul staan, is die probleem stroomop van die tonnel. Niks het die koppelvlak bereik om enigiets te begin nie.

Lok verkeer uit wat die peer mag dra

Kies ’n adres binne die peer se toegelate voorvoegsels, op die plaaslike masjien, en bevestig dat die roetertabel dit deur die koppelvlak sou stuur. ’n Bestemming buite daardie voorvoegsels lewer ’n gewone geroteerde versoek sonder enige WireGuard-betrokkenheid. Gebruik ’n diens wat vinnig antwoord, soos ’n ping of ’n kort TCP-verbinding, sodat die poging ’n sigbare begin en einde het. Lees dan weer die handskudlyn in plaas daarvan om die skerm dop te hou en te wag.

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

Die roetevraag maak meer saak as die ping. As dit die fisiese koppelvlak noem, het die pakket nooit die tonnel binnegegaan nie en is die leë handskud ’n roeteantwoord eerder as ’n kriptografiese een. Herstel die roete voordat jy die peer ontfout.

Vergelyk die sleutelpaar en die eindpunt

Sodra verkeer werklik aangebied word, is identiteit die volgende kontrole. Die plaaslike private sleutel moet ooreenstem met die publieke sleutel wat die ander kant magtig, die opgestelde afstand-publieke sleutel moet die bedoelde peer identifiseer, en enige vooraf gedeelde sleutel moet aan beide kante pas. ’n Enkele karakterverskil in ’n base64-sleutel lewer ’n peer wat opgestel lyk en nooit ’n uitruiling voltooi nie. Vergelyk met die voorsieningsrekord eerder as om sleutels te hergenereer, want ’n nuwe sleutel maak elke peer wat die ou een vertrou het, ongeldig.

Die eindpunt verdien dieselfde ondersoek: gasheernaam, adres, UDP-poort en die familie wat gebruik word om dit te bereik. ’n Verouderde adres of die verkeerde poort lewer stilte eerder as ’n boodskap.

Hou die buitenste UDP-pad dop

Die handskud reis as UDP na die eindpunt, so die buitenste pad moet dit dra. Die opdragte hieronder kyk of daar ’n luisteraar is, of die plaaslike stapel die datagram uitgestuur het, en watter eindpunt opgestel is. Voer die opname uit terwyl jy verkeer uitlok, nie voor dit nie.

ss -lunp | grep 51820
sudo tcpdump -ni eth0 udp port 51820
wg show wg0 endpoints
conntrack -L -p udp | grep 51820

’n Opname wat die inisiasie wys sonder antwoord, dui buite die masjien, want die ander kant luister óf nie, word gefiltreer, óf is verkeerd geadresseer. ’n Opname wat glad niks wys nie, beteken die pakket het nooit vertrek nie, wat jou terugbring na die roete en na enige socket-merk in die spel. Wanneer jy beide kante administreer, korreleer die poging per tydstempel met ’n noue opname op die bediener eerder as ’n algemene een. ’n TCP-poorttoets bewys hier niks, want die protokol is slegs UDP.

Sodra ’n handskud verskyn, toets ’n toepassing oor die tonnel, want ’n voltooide uitruiling bewys identiteit en bereikbaarheid eerder as bruikbare deurset of korrekte DNS. Hou die statusuitset van voor en ná die verandering, en die verskil word jou bewyse.

Verwante artikels