To enheder, ét OpenVPN-certifikat: genopkoblingsløkken
En tunnel, der genstarter hvert halve minut, er som regel to enheder med det samme klientcertifikat. Gå loggen, opdelingen og pensioneringen igennem.
En tunnel, der kommer op og derefter genstarter hvert halve minut, er som regel ikke et cipher- eller MTU-problem. Det er én identitet, der bruges to gange. Serveren ser et velkendt common name, tager den nye session som den nyeste, og den ældre enhed opdager, at den er blevet erstattet. Fra klientens side ligner det en inaktivitets-timeout og en genstart, og derfor begynder undersøgelsen så ofte det forkerte sted.
Begynd med genstartsintervallet
Intervallet er et spor før alt andet. En jævn rytme, der passer til ping-restart-vinduet, peger på en session, der erstattes, snarere end en fejlende rute, fordi rutefejl sjældent er så regelmæssige. Notér det præcise mellemrum mellem genstarter og årsagslinjen i klientloggen. En timeout efterfulgt af en genstart fortæller en anden historie end et mislykket handshake.
Tjek, hvornår genstarterne begyndte i forhold til en anden enhed. En ny bærbar, en telefon eller en profil kopieret til en ekstra maskine er de sædvanlige udløsere, og tidspunktet passer som regel med den dag, nogen satte den op.
Skriv intervallet og årsagen ned. Begge er beviser, og begge er billige at indsamle.
Læs, hvad serveren sagde om det andet login
På en server, du styrer, navngiver loggen common name og viser en anden forbindelse, der ankommer. Uden duplicate-cn erstatter den ankomst den eksisterende session for samme navn, og beskeden siger det som regel rent ud. Med duplicate-cn lever begge sessioner side om side, og symptomet ændrer sig: klienterne forbliver oppe, men deler ét sæt indstillinger per klient og én tilbagekaldelsesbeslutning. Læs de to poster sammen, fordi erstatningen kun er synlig i rækkefølge.
På en hostet tjeneste har du måske slet ingen serverlog. Sporet er så timing: en stabil tunnel, der falder, hver gang en anden maskine forbinder, og intet i klientloggen ud over timeouten.
Sammenlign certifikat- og nøgleblokkene i begge profiler, ikke kun det eksterne værtsnavn. Kopierede profiler adskiller sig som regel kun i filnavnet.
Del identiteten på serversiden
Udsted ét certifikat per enhed gennem den CA, der signerer for denne server. Med Easy-RSA betyder det et separat klientnavn til hver enhed, og profilen bygges derefter ud fra det certifikat og dets nøgle. Common name bliver enhedens identitet, hvilket er præcis det, serveren manglede. Navngiv dem efter enheden frem for personen, så en udskiftning giver et nyt navn.
Den delte kontrolkanalnøgle er en anden ting. tls-crypt eller tls-auth beskytter kontrolkanalen for hver klient og er beregnet til at blive delt. Den er ikke en klientidentitet, og at udskifte den retter ikke et duplikeret certifikat.
Hold certifikatet, nøglen og enhver klientkonfigurationsfil under det samme common name, ellers bryder mappingen ved næste forbindelse. Uoverensstemmelse der giver en klient, der godkender og derefter ikke modtager noget.
Hold adresser og indstillinger på linje efter opdelingen
Faste adresser indfører en anden måde at kollidere på. Hvis serveren tildeler dem via ifconfig-pool-persist eller en fil per klient, peger de poster stadig på det gamle navn. To enheder kan ende med samme tunneladresse, selv efter at certifikaterne er adskilt, og den fejl ser anderledes ud end den oprindelige løkke.
Opdater mappingen samtidig med certifikatet, og genopret derefter begge enheder og sammenlign deres tildelte adresser. En duplikeret adresse viser sig som periodisk tab snarere end en ren genopkobling.
Send indstillinger, der skal være forskellige per enhed, gennem den enheds egen fil, ikke gennem en delt skabelon. En delt skabelon gør også den næste dublet sværere at få øje på.
Pensionér den gamle identitet ordentligt
Tilbagekald certifikatet, når hardware pensioneres eller mangler, i stedet for at slette profilen fra den gamle maskine. Tilbagekaldelsen producerer en ny CRL, og serveren skal have den fil, hvor crl-verify peger. Med det direktiv på plads får en manglende eller ulæselig CRL serveren til at afvise hver klient, så test én kendt konto efter hver opdatering.
Hold et register, der binder hvert certifikat til en person eller enhed, med udstedelses- og tilbagekaldelsesdatoer. Det register svarer på, hvem der stadig har adgang uden at læse filnavne, og det forhindrer den næste kopierede profil i at starte løkken igen.