Privat nyckel här, offentlig nyckel där: WireGuard-nycklar
Din privata nyckel stannar på din enhet; peer-posten håller den andra sidans offentliga nyckel. Dela bara den offentliga halvan och ge varje enhet sin egen identitet.
De flesta handbyggda WireGuard-fel kokar ner till vilken nyckel som hamnade var. Gränssnittsavsnittet innehåller den privata nyckeln för enheten du konfigurerar, medan ett peer-avsnitt innehåller den offentliga nyckeln för maskinen i andra änden. Att byta dessa halvor, eller klistra in fel, ger en handskakning som aldrig fullbordas och en logg som aldrig namnger en nyckel. Gå igenom de fyra kontrollerna nedan i ordning innan du rör AllowedIPs eller DNS.
Två nycklar, två riktningar
En privat nyckel tillhör exakt en enhet och stannar i den enhetens gränssnittsavsnitt. Dess offentliga halva är vad varje annan peer behöver för att känna igen enheten, och verktygen härleder den i stället för att hitta på den. På servern visas enhetens offentliga nyckel som en peer-post; på din enhet har serverns offentliga nyckel den rollen. Läser man en konfiguration högt i de termerna fångas de flesta förväxlingarna innan de når en handskakning.
Kommandot wg skriver ut vad det lokala gränssnittet faktiskt använder, inklusive båda offentliga nycklarna. Därmed är det det snabbaste sättet att skilja ett konfigurationsfel från ett anslutningsproblem:
wg show
wg show interfaces
Den första utskriften listar varje peer med sin offentliga nyckel, slutpunkten den använde senast och åldern på sin senaste handskakning. En handskakningsålder på aldrig i ena änden och en färsk i den andra pekar på en nyckel som bara en ände accepterade. Det andra kommandot namnger de gränssnitt du kan undersöka vidare.
Vad man delar och vad man aldrig delar
En offentlig nyckel är avsedd att överlämnas, även om den fortfarande identifierar en enhetsrelation, därför skiljer det sig att skicka den till administratören som bad om den från att publicera den. En privat nyckel lämnar aldrig enheten som genererade den. En exporterad profil eller en QR-kod innehåller hela konfigurationen inklusive den privata nyckeln, så ingen av dem är säker att skicka vidare, och att gömma texten i en bild ändrar ingenting. Fördelade nycklar är valfria och lika hemliga, och båda ändarna måste ha samma värde, annars stannar handskakningen i det steget.
Ännu en distinktion är värd att säga rakt ut: en slutpunkt är en adress och en port, aldrig en nyckel. Att klistra in en offentlig nyckel i slutpunktsfältet, eller en adress i ett nyckelfält, ger en profil som tolkas och sedan inte gör något. Verktygen fångar inte det, eftersom båda fälten bara är strängar. WireGuards snabbstart visar generera-och-härled-kedjan på en rad.
En enhet, en peer-post
Där tjänsten tillåter det bör varje enhet ha sin egen peer-identitet. Att klistra in en laptops fullständiga profil på en telefon suddar ut vilken enhet som har den identiteten på servern och gör det svårare att återkalla en enda förlorad telefon. Om en privat nyckel läcker, ta bort det gamla peer-tillståndet på servern och ordna en ersättning. Att radera den lokala filen tar inte bort serverns post, och en ny klientnyckel hjälper ingen förrän servern känner till dess offentliga halva.
Håll kopplingen från enhet till offentlig nyckel bredvid adresslistan. Den listan är det som gör en återkallelse till en uppgift på två minuter i stället för en hel eftermiddag.
Vad som fortfarande misslyckas efter handskakningen
Nyckelpar identifierar peers; de avgör inte nätverksbeteende. AllowedIPs kopplar adressintervall till en peer, och rutterna runt omkring hanteras av klienten eller inställningsverktyget. Symtomet säger oftast vilket lager som ska öppnas härnäst:
| What you see | Which key problem it usually means | Where to look first |
|---|---|---|
| Handshake age stays at never on both ends | Peer public key missing, or an endpoint pointing at nothing | wg show, then the endpoint value |
| Handshake completes on one side only | The two ends hold different public keys for each other | wg show on both hosts |
| Handshake works, then no traffic | AllowedIPs or routes rather than keys | wg show and the route table |
| Worked until a key was regenerated | The peer entry still holds the old public key | Compare both public keys, then update the peer |
DNS kan misslyckas efter att båda parterna autentiserat sig korrekt, och ett program kan misslyckas medan tunneln själv är frisk, så en fungerande handskakning är inte slutet på diagnosen. Nycklar säger inte heller något om en operatörs loggningspraxis eller om en webbplats känner igen ditt konto, och de frågorna hör hemma någon annanstans. Gå vidare till nätverkslagren när de fyra kontrollerna passerar, för en saknad nyckel är inte ett dolt routingproblem.