Brisanje key-method iz OpenVPN profila ne mijenja ništa
Direktiva je nestala iz parsera, ne iz protokola. Odvojite zastarjelu opciju od formata razmjene ključeva prije uređivanja profila.
Profil koji godinama radi odjednom odbija pokrenuti se, a poruka navodi direktivu koju se nitko ne sjeća da je dodao: key-method. Sljedeći rezultat pretrage predlaže dodavanje key-method 2 radi kompatibilnosti, što je savjet iz drugog razdoblja. Parser koji je odbio redak aktualan je i uopće nema takvu opciju. Uklanjanje retka popravlja pokretanje i ne mijenja ništa u tome kako dva para štite sesiju.
Taj jaz između onoga što profil sadrži i onoga što protokol stvarno radi cijela je tema ovdje, i objašnjava nekoliko drugih izmjena koje ljudi rade istodobno. Također objašnjava zašto te izmjene obično dolaze u paketu.
Simptom je pogreška parsiranja, a ne neuspjeh rukovanja
Opcije se čitaju prije nego što se pošalje bilo koji paket. Profil s nepoznatom direktivom pada u toj fazi, pa proces nikada ne dosegne mrežu i nikada ne proizvede pogrešku rukovanja. Formulacija obično navodi opciju i datoteku, što ovo čini jednim od lakše pripisivih neuspjeha. U tome ne sudjeluju nikakav paket, ruta ni vatrozid.
openvpn --config /etc/openvpn/client/office.ovpn --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log
Ako poruka navodi direktivu, dijagnoza je gotova: datoteka sadrži nešto što ova gradnja ne prihvaća. Ako poruka umjesto toga navodi putanju datoteke, problem je uključivanje ili ključ koji nedostaje, a to je drugi odjeljak iste faze pokretanja.
Ono što ne biste smjeli zaključiti jest da klijent ili poslužitelj treba stariji način rada protokola. Neuspjeh parsiranja problem je rječnika između vaše datoteke i binarne datoteke, a binarna je u ovom slučaju jednostavno ispustila riječ iz svog rječnika.
Direktiva i format prijenosa dvije su različite stvari
Stara opcija key-method birala je kako se uokviruje TLS razmjena ključeva, a moderna razmjena metoda je s više paketa koju je ta opcija nekada zahtijevala. Opcija je nestala jer više nije birala ništa; format koji je imenovala postao je jedini. Uklanjanje retka stoga ostavlja sesiju s istim uokvirivanjem kao prije. Tekstualna izmjena to ne može promijeniti ni u jednom smjeru.
Zato je ponovno uvođenje stare binarne datoteke da bi se „obnovila“ metoda 2 pogrešan popravak. Ono ne obnavlja ništa osim starijeg parsera sa starijim zadanim vrijednostima i stoji vas popravaka koji su došli nakon njega. Ista logika vrijedi za slabljenje provjere certifikata ili popisa šifri u nadi da će se veza vratiti.
Korisna provjera je verzija i parsirana konfiguracija, a ne prisutnost riječi u datoteci:
openvpn --version | head -n 1
grep -rn 'key-method' /etc/openvpn/ 2>/dev/null
Što ukloniti i iz koje datoteke
Uređujte datoteku koju pokrenuti proces stvarno čita, i samo tu datoteku. Na pakiranim sustavima to je obično profil u direktoriju klijenta ili poslužitelja koji navodi unit, a ne kopija u vašem matičnom direktoriju koju držite za referencu. Generirani profil može se također ponovno izgraditi iz predloška, pa će se izmjena napravljena samo na raspoređenoj kopiji vratiti nakon sljedećeg pokretanja opskrbe.
Izbrišite zastarjeli redak i ostavite završnu točku, certifikate, politiku šifri i postavke kontrolnog kanala na miru. To su podržane opcije koje proces treba i nisu povezane s pogreškom parsiranja. Ako ista datoteka sadrži druge direktive koje ne prepoznajete, provjerite svaku prema verziji koju pokrećete umjesto da brišete njihovu skupinu dok se proces ne pokrene.
Zatim pokrenite predviđenu instancu i pročitajte njezin izlaz pri pokretanju. Čisto pokretanje s prisutnim slušateljem potvrda je da je ova faza završena; test klijenta nakon toga odgovara na drugo pitanje.
Odbijen profil i odbijen klijent izgledaju slično
Dva neuspjeha stvaraju slične niti podrške i trebaju različite dokaze. Poslužitelj koji odbija vlastitu konfiguraciju nikada se ne pokreće, pa se nijedan klijent ne može na njega spojiti. Poslužitelj koji se dobro pokreće i odbija jednog klijenta radi, a njegov zapis sadrži razlog: problem s certifikatom, gurnuta opcija koju klijent ne prihvaća, nesklad šifre.
Uklonjena opcija nije dijagnoza za drugi slučaj i posezanje za njom gubi isti sat dvaput. Ako zapis klijenta pokazuje odbijanje poslužitelja, pročitajte to odbijanje; ako pokazuje lokalnu pogrešku, datoteka koju treba pregledati je profil klijenta. Posezanje za direktivom koja više ne postoji odgađa obje istrage za istu mjeru.
Pitanja kompatibilnosti na koja redak nikada nije odgovorio
Profili koji kruže s ovom direktivom obično nose priču o određenoj platformi, a priča nadživljava tehnički razlog. Mobilni ili stolni klijent još uvijek treba potpuni podržani profil: pouzdani lanac certifikata, podatkovnu šifru koju prihvaćaju oba kraja, način kontrolnog kanala koji oba kraja implementiraju i nikakve direktive koje gradnja klijenta odbija. Ništa od toga ne odlučuje prisutnost ili odsutnost starog retka key-method.
Kompresija je zasebno pitanje politike istog oblika. Uklanjanje retka key-method ne govori ništa o tome je li direktiva kompresije podržana ili prihvatljiva u vašem postavljanju, a dvije odluke treba donijeti neovisno. Brisanje nekoliko sigurnosno relevantnih postavki odjednom dok se nešto ne spoji način je na koji radni profil postaje nerazjašnjen.
Vodite kratak zapis o tome što ste uklonili i zašto: opcija, verzija koja ju je odbila i naredba koja je pokazala pogrešku. Sljedećoj osobi koja naslijedi profil trebat će točno te tri činjenice, a zapisati ih sada jeftinije je nego rekonstruirati ih kasnije.