Kopierad WireGuard-profil: varför båda enheterna misslyckas
En kopierad profil duplicerar nyckeln, inte enheten. Gå igenom handskakningsloggen, bekräfta den delade identiteten och utfärda sedan en andra korrekt.
Tunneln fungerade på laptopen, så konfigurationsfilen flyttades till telefonen och surfplattan, och nu kommer och går handskakningarna på alla tre. Inget skrevs fel och serverkonfigurationen redigerades inte. En WireGuard-profil är inte ett konto med lösenord som flera enheter får använda; det är ett nyckelpar, och bara den offentliga halvan identifierar en peer. Att kopiera filen kopierar identiteten, så servern försöker nu hålla en enda ändpunktsrelation för flera enheter som alla hävdar att de är samma. Från serverns sida finns ingen andra enhet att lägga märke till, bara en peer vars adress ständigt flyttar sig.
Börja med handskakningsloggen på varje enhet
Öppna klienten på varje enhet och anteckna tiden för den senaste handskakningen och den aktuella ändpunkten innan du ändrar något. I en frisk uppsättning håller sig dessa värden stabila medan en enhet används; med en duplicerad identitet växlar tidsstämplarna, och den ändpunkt som registrerats på servern kan beskriva en annan enhet än den som har profilen. Den växlingen är signaturen, och den förklarar varför symptomet ser ut som en ostadig anslutning och inte som ett konfigurationsfel. Enheterna är inte trasiga; de avbryter varandra.
Gör läsningen på enheterna själva, så att varje observation är knuten till en bestämd maskin. En tidsstämpel kopierad från en supportchatt tappar den kopplingen och är sedan väldigt lite värd.
Bekräfta om två enheter delar en identitet
Jämför de offentliga nycklarna, aldrig de privata. Den offentliga nyckeln härleds från den privata, så två profiler med samma privata nyckel ger samma offentliga nyckel och går inte att skilja åt för servern. Om två enheter rapporterar samma offentliga nyckel är frågan avgjord och ingen keepalive-inställning hjälper. Två olika nycklar med ostadiga handskakningar pekar någon helt annanstans, därför måste jämförelsen komma före varje ändring.
wg show wg0 public-key
wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer
Dessa kommandon skriver bara ut offentligt material och räknare, och det är allt ett supportsamtal behöver. En peer-post på servern med en enda offentlig nyckel och en ändpunkt som ständigt flyttar mellan två nätverk är det förväntade resultatet av dupliceringen, eftersom ett autentiserat paket från en ny källa uppdaterar vart trafiken skickas. Det beteendet är protokollet som fungerar som designat, och därför är det så lätt att missta för ett nätverksfel.
Tillhandahåll en andra identitet på rätt sätt
Generera ett nytt nyckelpar på enheten som behöver det och lägg sedan till den resulterande offentliga nyckeln på servern som en separat peer med egna tillåtna adresser. Den privata nyckeln bör skapas på enheten och stanna där; en nyckel som genereras någon annanstans och klistras in har rest genom minst en extra plats, och den resan är nu en del av förtroendehistorien.
umask 077
wg genkey > newdevice.key
wg pubkey < newdevice.key
Serversidan behöver den offentliga nyckeln plus en tilldelning av tillåten adress som inte krockar med den ursprungliga enheten. En profil som behåller den gamla tunneladressen men visar en ny nyckel ger en peer som servern kanske accepterar och sedan dirigerar fel, vilket är ett mer subtilt fel än en avvisad handskakning. Kontrollera adresstilldelningen innan du ansluter, inte efter det första förvirrande paketförlusten.
Avveckla duplikatet utan att bryta originalet
När den nya identiteten fungerar tar du bort den kopierade profilen från den ursprungliga enhetens omgivning i stället för att radera serverposten som originalet fortfarande använder. Om kopian kan ha exponerats ska du i stället återkalla den direkt och sedan utfärda en ny; bekvämlighet är inget skäl att låta en delad hemlighet cirkulera.
En hanterad tjänst som verkligen stöder flera enheter per prenumeration kommer att säga det och utfärda separata inloggningsuppgifter från sitt eget gränssnitt. Manuell duplicering av en profil är aldrig den modellen, även när tjänstens varumärke antyder obegränsat antal enheter.
Testa båda enheterna var för sig och tillsammans
Verifiera varje enhet för sig först: handskakning, överföringsräknare som rör sig och en destination som bara tunneln når. Kör sedan båda samtidigt och se hur servern uppfattar ändpunkterna; två olika nycklar bör ge två stabila peer-poster i stället för en som hoppar.
Behåll de nya offentliga nycklarna tillsammans med distributionsanteckningarna och anteckna vilken enhet som har vilken. Utan den listan upprepar nästa person som kopierar en profil samma fel, och de växlande handskakningarna kommer åter att skyllas på nätverket.