Det starter normalt med en profil, der har været forbundet i årevis, åbnet på en nyere klient og fejler, før tunnelen overhovedet starter. Terminalen udskriver noget i retning af Options error: Unrecognized option ... in client.ovpn:130: tls-remote med en version i parentes til sidst. Læs det som en klage fra parseren: filen indeholder en direktiv, som denne klient ikke længere kender.

Den ene meddelelse forklarer, hvorfor det ikke hjælper at genskabe nøgler, indtaste adgangskoden igen eller kontrollere serveren. Fejlen sker, mens klienten læser sin egen konfiguration, før den åbner en socket. Det nyttige arbejde er at identificere den afviste direktiv og erstatte den med den nuværende ækvivalent.

Læs den fejlende linje, før du ændrer noget

Kør klienten selv i stedet for at starte den fra et ikon i proceslinjen, så meddelelsen er synlig, og profilens sti er entydig. Åbn filen på den angivne linje, og se på det token, klienten nævnte. Linjenummeret er profillinjen, ikke en version, hvilket forvirrer folk, fordi det samme tal står i parentesen som udgivelsesidentifikator.

Gamle profilgeneratorer udsendte ikke én dårlig direktiv, men flere. Ret den første fejl, kør klienten igen, og forvent, at den næste dukker op. Den rækkefølge er normal og ikke et tegn på, at ændringerne gjorde tingene værre.

Hvad der skete med keysize og tls-remote

keysize krævede en chiffernøglelængde i den æra, hvor profilen valgte chifferen eksplicit. OpenVPN 2.4 erklærede den forældet, og senere klienter fjernede den fra indstillingstabellen, så parseren nu afviser linjen i stedet for at ignorere den. Moderne forhandling udleder nøglelængden fra den valgte chiffer, og derfor er der intet tilbage for direktivet at styre.

tls-remote blev fjernet i 2.4. Den sammenlignede servercertifikatet med et forventet navn, og dens erstatning er verify-x509-name, som er strengere med hensyn til, hvordan navnet matches. Den gamle direktiv er væk, så en profil, der bærer den, vil aldrig blive parset på en nuværende klient.

Ret én direktiv ad gangen. Hvis profilen også angiver en chiffer, som klienten ikke tilbyder, giver det en anden fejl senere, og hvis man blander begge ændringer i én redigering, kan man ikke se, hvilken der brød håndtrykket. Genopret forbindelsen efter hver redigering, og gem fejlteksten. Den vane giver også et fungerende fallback, hvis en ændring gør tingene værre.

Omskriv serveridentitetskontrollen

Erstatningen tager det forventede navn og en sammenligningstilstand. verify-x509-name vpn.example.edu name kræver, at certifikatets subject er nøjagtigt lig med den værdi. Andre tilstande matcher et præfiks eller en fuld subject-streng, og hvis man vælger den forkerte tilstand, bliver en fungerende profil til en ren verifikationsfejl.

Hvis det gamle tls-remote-argument var serverens fulde common name, er en nøjagtig name-sammenligning normalt rigtig. Hvis det var en delvis værdi, skal du bruge præfikstilstanden i stedet for at forkorte det forventede navn, fordi et kortere nøjagtigt match ikke vil verificere. Når den oprindelige værdi ikke er skrevet ned, skal du spørge den, der driver serveren, om det subject, de offentliggør.

Slå ikke kontrollen fra for at få fejlen til at forsvinde. At fjerne serveridentitetsverifikationen gør et rettbart profilproblem til en uverificeret tunnel, som netop er den risiko, direktivet fandtes for at forhindre.

Rettet profil, lokal redigering eller ældre klient

Når en anden ejer serveren, er den reneste vej en aktuel profil fra vedkommende. Din kopi stammer fra en ældre generator, og deres eksport bruger allerede de nuværende direktiver. Én download fjerner hele kategorien af fejl og holder fremtidige ændringer på ét sted.

Når du ejer begge ender, skal du redigere en kopi og beholde originalen. Ændr én direktiv, gem, forbind, og noter den klientversion, du testede. Hold en kort note ved hver ændring, fordi en profil, der er redigeret over flere sessioner, er svær at revidere fra hukommelsen. Kommandolinjekørsler mod den redigerede fil gør den løkke hurtig, fordi fejlen går direkte til terminalen.

At fastlåse eller rulle tilbage til en klient før 2.4 får også meddelelsen til at forsvinde, og med en enhed, der aldrig bliver opdateret, kan det være den eneste brugbare nødløsning. Behandl det som midlertidigt: en gammel klient på en nuværende computer betyder normalt et gammelt bibliotek og en uunderstøttet konfiguration, hvilket er et udskudt snarere end løst problem.

Når tunnelen er oppe, skal du læse hele profilen endnu en gang. Profiler, der bar én fjernet direktiv, bærer ofte en anden, og den anden dukker først op, efter den første er væk.

Relaterede artikler