WireGuard-håndtryk lykkes, men der kommer ingen svar tilbage
Et nyligt håndtryk beviser, at nøglerne virker. Følg én indre adresse og læs overførselsstællerne, før du skyder skylden på tunnelen, firmwaren eller nøglerne.
Nylige håndtryk er gode nyheder og en meget mindre påstand end den sætning, folk gerne vil skrive. Parterne udvekslede autentificerede håndtryksbeskeder. En applikationspakke skal stadig nå sin indre destination og vende tilbage.
Det gab mellem et sundt kontrolplan og et tavst dataplan er hele emnet her. To aflæsninger af de samme stællere fortæller dig, hvilken side af det du er på.
Et håndtryk beviser nøgler, ikke levering
WireGuard-håndtrykket er en nøgleaftale med autentificering. Det lykkes, så snart parterne kan nå hinanden og har gyldige nøgler. Routing, firewall-politik og selve destinationen er spørgsmål som håndtrykket aldrig stiller.
Så en tunnel kan være perfekt etableret, mens hver pakke i den droppes. En fejlrutet indre pakke og et svar, der tager en anden vej, ser ens ud fra klienten.
Én indre adresse er hele testen
Vælg én destination og bliv ved den. Partens egen tunneladresse er det nemmeste tilfælde, og en vært bag parten tilføjer præcis ét hop. Skift mellem dem uden at notere ændringen giver resultater, som ingen kan sammenligne.
Se så på den rute, klienten vælger. En mere specifik lokal rute kan sende pakken et andet sted hen, før WireGuard overhovedet bliver spurgt, og det sker altid, når hjemme-LAN'et overlapper det fjerne område.
ip route get 10.30.8.10
ip -4 addr show wg0
ip route show table all | grep -w wg0
En adresse, der opløses til den fysiske grænseflade, har allerede besvaret spørgsmålet. Tunnelen dropper intet. Pakken kom aldrig ind i den.
Stællere er bevis, ikke dom
wg show rapporterer bytes sendt og modtaget pr. part, og de to tal bevæger sig uafhængigt. Tag en aflæsning, lav én tilladt anmodning, og tag så en ny aflæsning inden for samme minut.
wg show wg0 transfer
wg show wg0 latest-handshakes
ping -c 4 10.30.8.10
wg show wg0 transfer
Sending, der stiger mens modtagelse står stille, er signaturen på en ubesvaret anmodning. Det siger ikke, om anmodningen blev filtreret, om destinationen var nede, eller om svaret forlod ad en anden rute. Det er tre undersøgelser med ét symptom. Skil dem ad, før du ændrer nogen konfiguration.
Et fast byteantal er heller ikke en succesgrænse. Stællerværdier følger trafikken, og at behandle ét tal som bevis på sundhed giver selvsikker nonsens.
Parten undersøger selv returpakken
Den fjerne part accepterer kun en indre pakke, når kilden ligger inden for den parts allowedips. En rute, der findes på afsenderen, er ikke nok. En manglende kildeangivelse hos modtageren dropper returtrafikken i stilhed.
Værtens firewalls står bag den kontrol. En videresendelsesregel, der tillader tunnelgrænsefladen men ikke det indre undernet, accepterer håndtrykket og afviser pakken. Fra klientens side ligner det præcis en død part. En vært med to grænseflader kan også svare fra den forkerte kilde, og så kasserer parten det svar, den aldrig forventede.
Hold forsøget ærligt
At teste en fjernadgangsprofil fra det samme hjemmenetværk, den skal nå, øver en anden vej end den tilsigtede. Flyt til det eksterne netværk, og notér dets lokale præfiks, så de to kørsler kan sammenlignes.
En lille vellykket udveksling udelukker heller ikke alle vejproblemer. Større pakker kan fejle, hvor små slipper igennem, og et filter, der matcher på størrelse eller protokol, kan opføre sig anderledes under belastning.
Behold håndtrykket som det kendte fungerende trin og gå videre derfra. Det næste nyttige bevis er, hvor én indre anmodning stopper, ikke et nyt sæt nøgler og endnu en runde gætteri.