Brisanje key-method iz profila OpenVPN ne spremeni ničesar
Direktiva je izginila iz razčlenjevalnika, ne iz protokola. Ločite zastarelo možnost od oblike izmenjave ključev, preden urejate profil.
Profil, ki je deloval leta, nenadoma noče začeti, sporočilo pa navaja direktivo, ki se je nihče ne spomni dodati: key-method. Naslednji zadetek iskanja predlaga dodajanje key-method 2 zaradi združljivosti, kar je nasvet iz drugega obdobja. Razčlenjevalnik, ki je vrstico zavrnil, je sedanji in takšne možnosti sploh nima. Odstranitev vrstice popravi zagon in ne spremeni ničesar v tem, kako obe strani ščitita sejo.
Prav ta vrzel med tem, kar vsebuje profil, in tem, kar protokol v resnici počne, je vsa tema, in pojasnjuje več drugih sprememb, ki jih ljudje delajo hkrati. Pojasnjuje tudi, zakaj te spremembe običajno pridejo v enem svežnju.
Simptom je napaka pri razčlenjevanju, ne neuspeh rokovanja
Možnosti se preberejo, preden se pošlje kateri koli paket. Profil z neznano direktivo v tej fazi ne uspe, zato proces nikoli ne doseže omrežja in nikoli ne ustvari napake rokovanja. Besedilo običajno navede možnost in datoteko, zato je to ena najlažje pripisovanih napak. V njej ne sodelujejo paket, pot ali požarni zid.
openvpn --config /etc/openvpn/client/office.ovpn --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log
Če sporočilo navaja direktivo, je diagnoza končana: datoteka vsebuje nekaj, česar ta gradnja ne sprejme. Če sporočilo namesto tega navaja pot do datoteke, je težava manjkajoči include ali ključ, kar je drug odsek iste zagonske faze.
Ne smete sklepati, da odjemalec ali strežnik potrebuje starejši način protokola. Neuspeh razčlenjevanja je težava slovarja med vašo datoteko in binarno datoteko, binarna datoteka pa je v tem primeru preprosto spustila eno besedo iz svojega slovarja.
Direktiva in prenosna oblika sta dve različni stvari
Stara možnost key-method je izbirala, kako se uokvirja izmenjava ključev TLS, sodobna izmenjava pa je metoda z več paketi, ki jo je ta možnost nekoč zahtevala. Možnost je izginila, ker ni več izbirala ničesar; oblika, ki jo je imenovala, je postala edina. Odstranitev vrstice torej pusti sejo z enakim uokvirjanjem kot prej. Besedilna sprememba tega ne more spremeniti v nobeno smer.
Zato je ponovna uvedba stare binarne datoteke, da bi „obnovili“ metodo 2, napačno popravilo. Ne obnovi ničesar razen starejšega razčlenjevalnika s starejšimi privzetimi vrednostmi in odvzame vam popravke, ki so prišli za njim. Ista logika velja za slabitev preverjanja potrdila ali seznama šifer v upanju, da se povezava vrne.
Koristno preverjanje sta različica in razčlenjena konfiguracija, ne prisotnost besede v datoteki:
openvpn --version | head -n 1
grep -rn 'key-method' /etc/openvpn/ 2>/dev/null
Kaj odstraniti in iz katere datoteke
Uredite datoteko, ki jo tekoči proces zares bere, in samo tisto. Na pakiranih sistemih je to običajno profil v imeniku odjemalca ali strežnika, ki ga navede enota, ne kopija v vašem domačem imeniku, ki jo hranite za referenco. Ustvarjeni profil se lahko tudi znova zgradi iz predloge, zato se bo sprememba, narejena samo v nameščeni kopiji, po naslednjem zagonu oskrbovanja vrnila.
Izbrišite zastarelo vrstico in pustite končno točko, potrdila, politiko šifer in nastavitve krmilnega kanala pri miru. To so podprte možnosti, ki jih proces potrebuje, in niso povezane z napako razčlenjevanja. Če ista datoteka vsebuje druge direktive, ki jih ne poznate, preverite vsako proti različici, ki jo izvajate, namesto da izbrišete njihovo skupino, dokler se proces ne zažene.
Nato zaženite predvideno instanco in preberite njen zagonski izpis. Čist zagon s prisotnim poslušalcem je potrditev, da je ta faza končana; preskus odjemalca zatem odgovarja na drugo vprašanje.
Zavrnjen profil in zavrnjen odjemalec sta videti enako
Dva neuspeha ustvarita podobne niti podpore in zahtevata različne dokaze. Strežnik, ki zavrne svojo konfiguracijo, se nikoli ne zažene, zato se noben odjemalec ne more povezati z njim. Strežnik, ki se dobro zažene in zavrne enega odjemalca, deluje, in njegov dnevnik vsebuje razlog: težava s potrdilom, potisnjena možnost, ki je odjemalec ne sprejme, neskladje šifre.
Odstranjena možnost ni diagnoza za drugi primer in poseganje po njej zapravi isto uro dvakrat. Če dnevnik odjemalca kaže zavrnitev strežnika, preberite to zavrnitev; če kaže lokalno napako, je datoteka za pregled profil odjemalca. Poseganje po direktivi, ki je ni več, obe preiskavi zavleče enako.
Vprašanja združljivosti, na katera vrstica ni nikoli odgovorila
Profili, ki krožijo s to direktivo, običajno nosijo zgodbo o določeni platformi, zgodba pa preživi tehnični razlog. Mobilni ali namizni odjemalec še vedno potrebuje popoln podprt profil: zaupanja vredno verigo potrdil, podatkovno šifro, ki jo sprejmeta oba konca, način krmilnega kanala, ki ga izvedeta oba konca, in nobene direktive, ki bi jo gradnja odjemalca zavrnila. Nič od tega ne odloča prisotnost ali odsotnost stare vrstice key-method.
Stiskanje je ločeno vprašanje politike z enako obliko. Odstranitev vrstice key-method ne pove ničesar o tem, ali je direktiva stiskanja v vaši namestitvi podprta ali sprejemljiva, in obe odločitvi je treba sprejeti neodvisno. Brisanje več varnostno pomembnih nastavitev naenkrat, dokler se nekaj ne poveže, je pot, po kateri delujoč profil postane nerazložen.
Vodite kratek zapis o tem, kaj ste odstranili in zakaj: možnost, različica, ki jo je zavrnila, in ukaz, ki je pokazal napako. Naslednja oseba, ki bo profil podedovala, bo potrebovala natanko ta tri dejstva, in zapisati jih zdaj je ceneje kot jih pozneje obnavljati.