De meeste handmatig gebouwde WireGuard-fouten komen neer op welke sleutel waar terechtkwam. Het interface-gedeelte bevat de privésleutel van het apparaat dat je configureert, terwijl een peer-gedeelte de publieke sleutel van de machine aan de andere kant bevat. Die helften verwisselen, of de verkeerde plakken, levert een handshake op die nooit voltooit en een log dat nooit een sleutel noemt. Werk de vier controles hieronder op volgorde af voordat je AllowedIPs of DNS aanraakt.

Twee sleutels, twee richtingen

Een privésleutel hoort bij precies één apparaat en blijft in het interface-gedeelte van dat apparaat. De publieke helft is wat elke andere peer nodig heeft om het apparaat te herkennen, en de tooling leidt die af in plaats van hem te verzinnen. Op de server verschijnt de publieke sleutel van jouw apparaat als peer-regel; op jouw apparaat vervult de publieke sleutel van de server die rol. Een configuratie hardop in die termen lezen vangt de meeste verwisselingen voordat ze een handshake bereiken.

Het commando wg print wat de lokale interface werkelijk gebruikt, inclusief beide publieke sleutels. Daarmee is het de snelste manier om een configuratiefout van een verbindingsprobleem te scheiden:

wg show
wg show interfaces

De eerste uitvoer somt elke peer op met zijn publieke sleutel, het laatst gebruikte eindpunt en de leeftijd van zijn laatste handshake. Een handshake-leeftijd van nooit aan de ene kant en een recente aan de andere kant wijst op een sleutel die slechts één kant accepteerde. Het tweede commando noemt de interfaces die je verder kunt onderzoeken.

Wat je deelt en wat je nooit deelt

Een publieke sleutel is bedoeld om overgedragen te worden, hoewel hij nog steeds een apparaatrelatie identificeert, daarom verschilt het sturen naar de beheerder die erom vroeg van het publiceren ervan. Een privésleutel verlaat nooit het apparaat dat hem genereerde. Een geëxporteerd profiel of een QR-code bevat de hele configuratie inclusief die privésleutel, dus geen van beide is veilig om door te geven, en de tekst in een afbeelding verbergen verandert niets. Vooraf gedeelde sleutels zijn optioneel en even geheim, en beide uiteinden moeten dezelfde waarde dragen, anders stopt de handshake bij die stap.

Nog een onderscheid is de moeite waard om ronduit te zeggen: een eindpunt is een adres en een poort, nooit een sleutel. Een publieke sleutel in het eindpuntveld plakken, of een adres in een sleutelveld, levert een profiel op dat wordt geparseerd en daarna niets doet. De tooling vangt dat niet, omdat beide velden alleen strings zijn. De WireGuard-snelstart toont de genereer-en-leid-af-keten op één regel.

Eén apparaat, één peer-regel

Waar de dienst het toestaat, hoort elk apparaat zijn eigen peer-identiteit te dragen. Het volledige profiel van een laptop op een telefoon plakken vertroebelt welk apparaat die identiteit op de server heeft en maakt het intrekken van één verloren toestel moeilijker. Als een privésleutel uitlekt, verwijder dan de oude peer-autorisatie op de server en zorg voor een vervanging. Het lokale bestand verwijderen haalt de regel op de server niet weg, en een nieuwe clientsleutel helpt niemand tot de server de publieke helft kent.

Houd de koppeling van apparaat naar publieke sleutel naast de adressenlijst. Die lijst maakt van een intrekking een taak van twee minuten in plaats van een hele middag.

Wat na de handshake nog steeds mislukt

Sleutelparen identificeren peers; ze bepalen geen netwerkgedrag. AllowedIPs koppelt adresbereiken aan een peer, en de routes eromheen beheert de client of het instelgereedschap. Het symptoom zegt meestal welke laag er daarna open moet:

What you seeWhich key problem it usually meansWhere to look first
Handshake age stays at never on both endsPeer public key missing, or an endpoint pointing at nothingwg show, then the endpoint value
Handshake completes on one side onlyThe two ends hold different public keys for each otherwg show on both hosts
Handshake works, then no trafficAllowedIPs or routes rather than keyswg show and the route table
Worked until a key was regeneratedThe peer entry still holds the old public keyCompare both public keys, then update the peer

DNS kan mislukken nadat beide peers zich correct hebben geauthenticeerd, en een toepassing kan mislukken terwijl de tunnel zelf gezond is, dus een werkende handshake is niet het einde van de diagnose. Sleutels zeggen ook niets over de logpraktijk van een operator of over of een website je account herkent, en die vragen horen elders. Ga naar de netwerklagen zodra de vier controles slagen, want een ontbrekende sleutel is geen vermomd routeringsprobleem.

Gerelateerde artikelen