Å sletta key-method frå ein OpenVPN-profil endrar ingenting
Direktivet forsvann frå parsaren, ikkje frå protokollen. Skil det utdaterte valet frå nøkkelutvekslingsformatet før du redigerer ein profil.
Ein profil som har verka i årevis nektar plutseleg å starte, og meldinga namngir eit direktiv som ingen hugsar å ha lagt til: key-method. Det neste søkjeresultatet føreslår å leggje til key-method 2 for kompatibilitet, noko som er råd frå ei anna tid. Parsaren som avviste linja er ein noverande, og han har ikkje eit slikt val i det heile. Å fjerna linja rettar oppstarten, og det endrar ingenting ved korleis dei to partane vernar om økta.
Nettopp denne kløfta mellom det ein profil inneheld og det protokollen faktisk gjer er heile temaet her, og ho forklarer fleire andre endringar folk gjer samstundes. Ho forklarer òg kvifor desse endringane vanlegvis kjem i ein samla pakke.
Symptomet er ein parsefeil, ikkje ein feil i handtrykket
Val vert lesne før nokon pakke vert send. Ein profil med eit ukjent direktiv feilar i den fasen, så prosessen når aldri nettet og lagar aldri ein handtrykksfeil. Formuleringa namngir vanlegvis valet og fila, noko som gjer dette til ein av dei enklaste feila å tilskrive. Ingen pakke, rute eller brannmur er innblanda.
openvpn --config /etc/openvpn/client/office.ovpn --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log
Om meldinga namngir direktivet, er diagnosen ferdig: fila inneheld noko denne byggjinga ikkje godtek. Om meldinga i staden namngir ein filsti, er problemet ein manglande include eller nøkkel, som er ein annan del av same oppstartsfase.
Det du ikkje bør slutta, er at klienten eller tenaren treng ein eldre protokollmodus. Ein parsefeil er eit ordforrådsproblem mellom fila di og binærfila, og binærfila har i dette tilfellet rett og slett sleppt eit ord frå ordforrådet sitt.
Direktiv og overføringsformat er to ulike ting
Det gamle key-method-valet valde korleis TLS-nøkkelutvekslinga vart ramma inn, og den moderne utvekslinga er metoden med fleire pakkar som valet ein gong bad om. Valet forsvann fordi det ikkje lenger valde noko; formatet det namngav vart det einaste. Å fjerna linja lèt derfor økta bruke same innramminga som før. Ei tekstendring kan ikkje endra det i nokon retning.
Derfor er det feil reparasjon å føra inn att ei gammal binærfil for å «gjenoppretta» metode 2. Det gjenopprettar ingenting utanom ein eldre parsar med eldre standardverdiar, og det kostar deg rettingane som kom etter han. Same resonnementet gjeld for å svekkja ein sertifikatkontroll eller ei sifferliste i håp om at sambandet kjem attende.
Ein nyttig kontroll er versjonen og den parsa konfigurasjonen, ikkje om ordet finst i fila:
openvpn --version | head -n 1
grep -rn 'key-method' /etc/openvpn/ 2>/dev/null
Kva som skal fjernast, og frå kva fil
Rediger fila som den køyrande prosessen faktisk les, og berre den fila. På pakka system er det vanlegvis profilen i klient- eller tenarkatalogen som eininga namngir, ikkje ein kopi i heimekatalogen din som du held som referanse. Ein generert profil kan òg byggjast opp att frå ein mal, så ei endring som berre er gjord i den utrulla kopien kjem attende etter neste provisioning-køyring.
Slett den utdaterte linja og lat endepunktet, sertifikata, sifferpolitikken og innstillingane for kontrollkanalen vera i fred. Dette er støtta val som prosessen treng, og dei er ikkje innblanda i parsefeilen. Om same profil inneheld andre direktiv du ikkje kjenner att, sjekk kvart eitt mot versjonen du køyrer i staden for å sletta ei gruppe av dei til prosessen startar.
Start så den tiltenkte instansen og les oppstartsutdataa. Ein rein start med lyttaren til stades er stadfestinga på at denne fasen er ferdig; ein klienttest etterpå svarar på eit anna spørsmål.
Ein avvist profil og ein avvist klient ser like ut
To feil gjev liknande støttetrådar og krev ulike prov. Ein tenar som avviser si eiga konfigurering startar aldri, så ingen klient kan kopla til han. Ein tenar som startar fint og avviser éin klient køyrer, og loggen hans inneheld årsaka: eit sertifikatproblem, eit dytta val klienten ikkje godtek, eit sifferavvik.
Det fjerna valet er ikkje ein diagnose for det andre tilfellet, og å gripa etter det sløser bort den same timen to gonger. Om klientloggen viser avvisinga til tenaren, les den avvisinga; om han viser ein lokal feil, er klientprofilen fila som skal granskast. Å gripa etter eit direktiv som ikkje finst lenger, forseinkar begge granskingane like mykje.
Kompatibilitetsspørsmål linja aldri svara på
Profilar som sirkulerer med dette direktivet ber vanlegvis ei historie om ein bestemd plattform, og historia overlever den tekniske årsaka. Ein mobil- eller stasjonærklient treng framleis ein komplett støtta profil: ei klarert sertifikatkjede, eit datasiffer begge endar godtek, ein kontrollkanalmodus begge endar implementerer, og ingen direktiv klientbygginga avviser. Ingenting av dette vert avgjort av om den gamle key-method-linja er der eller ikkje.
Komprimering er eit eige policyspørsmål med same form. Å fjerna ei key-method-linje seier ingenting om eit komprimeringsdirektiv er støtta eller akseptabelt i utrullinga di, og dei to avgjerdene bør takast uavhengig av kvarandre. Å sletta fleire tryggleiksrelevante innstillingar på ein gong til noko koplar til, er måten ein fungerande profil vert ein uforklart profil.
Hald ei kort oversikt over kva du fjerna og kvifor: valet, versjonen som avviste det, og kommandoen som viste feilen. Den neste personen som arvar profilen treng nøyaktig dei tre fakta, og dei er billegare å skriva ned no enn å rekonstruera seinare.