De tunnel werkte op de laptop, dus het configuratiebestand ging naar de telefoon en de tablet, en nu komen en gaan de handshakes op alle drie. Er is niets verkeerd getypt en de serverconfiguratie is niet aangepast. Een WireGuard-profiel is geen account met een wachtwoord dat meerdere apparaten mogen gebruiken; het is een sleutelpaar, en alleen de publieke helft identificeert een peer. Het bestand kopiëren kopieert de identiteit, dus de server probeert nu één endpointrelatie te onderhouden voor meerdere apparaten die allemaal beweren hetzelfde te zijn. Vanuit de server is er geen tweede apparaat te zien, alleen een peer waarvan het adres blijft verschuiven.

Begin met de handshake-log op elk apparaat

Open de client op elk apparaat en noteer de laatste handshake-tijd en het huidige endpoint voordat je iets wijzigt. In een gezonde opzet blijven die waarden stabiel zolang een apparaat in gebruik is; bij een gedupliceerde identiteit wisselen de tijdstempels elkaar af, en het endpoint dat op de server is vastgelegd, kan een ander apparaat beschrijven dan het apparaat dat het profiel heeft. Die afwisseling is de signatuur, en ze verklaart waarom het symptoom op een wankele verbinding lijkt en niet op een configuratiefout. De apparaten zijn niet kapot; ze onderbreken elkaar.

Doe het uitlezen op de apparaten zelf, zodat elke waarneming aan een bepaalde machine hangt. Een tijdstempel die uit een supportchat is gekopieerd, verliest die binding en is daarna weinig waard.

Bevestig of twee apparaten één identiteit delen

Vergelijk de publieke sleutels, nooit de private. De publieke sleutel is afgeleid van de private, dus twee profielen met dezelfde private sleutel leveren dezelfde publieke sleutel op en zijn voor de server niet te onderscheiden. Als twee apparaten dezelfde publieke sleutel melden, is de vraag beslecht en helpt geen enkele keepalive-instelling. Twee verschillende sleutels met wankele handshakes wijzen ergens heel anders heen, daarom moet de vergelijking vóór elke wijziging komen.

wg show wg0 public-key
wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer

Deze opdrachten drukken alleen publiek materiaal en tellers af, en dat is alles wat een supportgesprek nodig heeft. Een peer-regel op de server met één publieke sleutel en een endpoint dat steeds tussen twee netwerken verschuift, is het verwachte gevolg van de duplicatie, want een geauthenticeerd pakket van een nieuwe bron werkt bij waar het verkeer heen gaat. Dat gedrag is het protocol dat werkt zoals ontworpen, en daarom wordt het zo makkelijk voor een netwerkstoring aangezien.

Voorzie een tweede identiteit op de juiste manier

Genereer een nieuw sleutelpaar op het apparaat dat er een nodig heeft, en voeg vervolgens de resulterende publieke sleutel als afzonderlijke peer met eigen toegestane adressen aan de server toe. De private sleutel hoort op het apparaat te ontstaan en daar te blijven; een sleutel die elders is gegenereerd en geplakt, is langs minstens één extra plek gereisd, en die reis is nu deel van het vertrouwensverhaal.

umask 077
wg genkey > newdevice.key
wg pubkey < newdevice.key

De serverkant heeft de publieke sleutel nodig plus een toewijzing van toegestane adressen die niet botst met het oorspronkelijke apparaat. Een profiel dat het oude tunneladres houdt maar een nieuwe sleutel presenteert, levert een peer op die de server misschien accepteert en daarna verkeerd routeert, wat een subtielere fout is dan een geweigerde handshake. Controleer de adrestoewijzing voordat je verbindt, niet na het eerste verwarrende pakketverlies.

Haal het duplicaat uit gebruik zonder het origineel te breken

Zodra de nieuwe identiteit werkt, verwijder je het gekopieerde profiel uit de omgeving van het oorspronkelijke apparaat in plaats van de serverregel te verwijderen die het origineel nog gebruikt. Als de kopie blootgesteld kan zijn geweest, trek die dan in plaats daarvan onmiddellijk in en geef daarna opnieuw uit; gemak is geen reden om een gedeeld geheim in omloop te laten.

Een beheerde dienst die echt meerdere apparaten per abonnement ondersteunt, zal dat zeggen en aparte inloggegevens via zijn eigen interface verstrekken. Handmatig één profiel dupliceren is nooit dat model, ook niet wanneer de merknaam van de dienst onbeperkte apparaten suggereert.

Test beide apparaten apart en samen

Controleer eerst elk apparaat afzonderlijk: handshake, bewegende overdrachtstellers en een bestemming die alleen de tunnel bereikt. Laat daarna beide tegelijk lopen en kijk hoe de server de endpoints ziet; twee verschillende sleutels zouden twee stabiele peer-regels moeten opleveren in plaats van één die springt.

Bewaar de nieuwe publieke sleutels bij de uitrolnotities en noteer welk apparaat welke heeft. Zonder die lijst herhaalt de volgende persoon die een profiel kopieert dezelfde fout, en de afwisselende handshakes worden weer op het netwerk afgeschoven.

Gerelateerde artikelen