Profilis, kuris veikė ilgus metus, staiga atsisako paleisti, o pranešimas įvardija direktyvą, kurios niekas neprisimena pridėjęs: key-method. Kitas paieškos rezultatas siūlo pridėti key-method 2 dėl suderinamumo, tačiau tai patarimas iš kitos epochos. Analizatorius, atmetęs eilutę, yra dabartinis, ir jame tokios parinkties apskritai nėra. Eilutės pašalinimas sutaiso paleidimą ir nieko nekeičia tame, kaip du partneriai apsaugo sesiją.

Būtent šis atotrūkis tarp to, ką profilis turi, ir to, ką protokolas iš tikrųjų daro, ir yra visa tema, ir jis paaiškina keletą kitų pakeitimų, kuriuos žmonės daro tuo pačiu metu. Jis taip pat paaiškina, kodėl tie pakeitimai dažniausiai ateina vienu paketu.

Simptomas yra analizės klaida, o ne rankos paspaudimo sutrikimas

Parinktys nuskaitomos prieš išsiunčiant bet kokį paketą. Profilis su nežinoma direktyva nepavyksta tame etape, todėl procesas niekada nepasiekia tinklo ir niekada nesukuria rankos paspaudimo klaidos. Formuluotė paprastai įvardija parinktį ir failą, todėl ši klaida yra viena lengviausiai priskiriamų. Joje nedalyvauja nei paketas, nei maršrutas, nei ugniasienė.

openvpn --config /etc/openvpn/client/office.ovpn --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log

Jei pranešimas įvardija direktyvą, diagnozė baigta: faile yra kažkas, ko ši versija nepriima. Jei pranešimas vietoj to įvardija failo kelią, problema yra trūkstamas include arba raktas, o tai yra kita to paties paleidimo etapo dalis.

Nereikėtų daryti išvados, kad klientui ar serveriui reikia senesnio protokolo režimo. Analizės nepavykimas yra žodyno problema tarp jūsų failo ir dvejetainio failo, o dvejetainis failas šiuo atveju tiesiog išmetė vieną žodį iš savo žodyno.

Direktyva ir perdavimo formatas yra du skirtingi dalykai

Senoji key-method parinktis rinkdavosi, kaip įrėminamas TLS raktų mainai, o šiuolaikiniai mainai yra kelių paketų metodas, kurio ši parinktis kadaise prašydavo. Parinktis dingo, nes ji neberinkdavosi nieko; formatas, kurį ji įvardijo, tapo vieninteliu. Todėl eilutės pašalinimas palieka sesiją su ta pačia įrėminimo schema kaip anksčiau. Teksto pakeitimas to negali pakeisti nė viena kryptimi.

Štai kodėl seno dvejetainio failo grąžinimas, siekiant „atkurti“ 2 metodą, yra netaisyklingas remontas. Jis nieko neatkuria, išskyrus senesnį analizatorių su senesnėmis numatytosiomis reikšmėmis, ir atima vėliau atėjusius pataisymus. Ta pati logika galioja silpninant sertifikato patikrinimą ar šifrų sąrašą tikintis, kad ryšys grįš.

Naudingas patikrinimas yra versija ir išanalizuota konfigūracija, o ne žodžio buvimas faile:

openvpn --version | head -n 1
grep -rn 'key-method' /etc/openvpn/ 2>/dev/null

Ką pašalinti ir iš kurio failo

Redaguokite failą, kurį vykdomas procesas iš tikrųjų skaito, ir tik tą failą. Supakuotose sistemose tai paprastai yra profilis kliento arba serverio kataloge, kurį nurodo unit, o ne kopija jūsų namų kataloge, kurią laikote nuorodai. Sugeneruotas profilis taip pat gali būti perstatytas iš šablono, todėl pakeitimas, padarytas tik įdiegtoje kopijoje, grįš po kito aprūpinimo vykdymo.

Ištrinkite pasenusią eilutę ir palikite galinį tašką, sertifikatus, šifrų politiką ir valdymo kanalo nustatymus ramybėje. Tai palaikomos parinktys, kurių procesui reikia, ir jos nesusijusios su analizės klaida. Jei tame pačiame profilyje yra kitų direktyvų, kurių neatpažįstate, patikrinkite kiekvieną pagal jūsų vykdomą versiją, o ne trinkite jų grupę, kol procesas pasileis.

Tada paleiskite numatytą egzempliorių ir perskaitykite jo paleidimo išvestį. Švarus paleidimas su esamu klausytoju yra patvirtinimas, kad šis etapas baigtas; kliento testas po to atsako į kitą klausimą.

Atmestas profilis ir atmestas klientas atrodo panašiai

Dvi nesėkmės sukuria panašias palaikymo temas ir reikalauja skirtingų įrodymų. Serveris, atmetantis savo konfigūraciją, niekada nepaleidžiamas, todėl joks klientas negali prie jo prisijungti. Serveris, kuris paleidžiamas gerai ir atmeta vieną klientą, veikia, o jo žurnale yra priežastis: sertifikato problema, stumiama parinktis, kurios klientas nepriima, šifro neatitikimas.

Pašalinta parinktis nėra antrojo atvejo diagnozė, o jos griebimasis praranda tą pačią valandą du kartus. Jei kliento žurnalas rodo serverio atmetimą, skaitykite tą atmetimą; jei rodo vietinę klaidą, tikrinamas failas yra kliento profilis. Griebimasis direktyvos, kurios nebėra, abu tyrimus atitolina tiek pat.

Suderinamumo klausimai, į kuriuos eilutė niekada neatsakė

Profiliai, kurie cirkuliuoja su šia direktyva, paprastai nešiojasi istoriją apie konkrečią platformą, ir istorija pergyvena techninę priežastį. Mobiliajam ar darbalaukio klientui vis dar reikia visiškai palaikomo profilio: patikimos sertifikatų grandinės, duomenų šifro, kurį priima abu galai, valdymo kanalo režimo, kurį įgyvendina abu galai, ir jokių direktyvų, kurių atmeta kliento versija. Nė vieno iš jų nenulemia senos key-method eilutės buvimas ar nebuvimas.

Suspaudimas yra atskiras politikos klausimas tos pačios formos. key-method eilutės pašalinimas nieko nesako apie tai, ar suspaudimo direktyva palaikoma ar priimtina jūsų diegime, ir abu sprendimus reikia priimti nepriklausomai. Kelių su saugumu susijusių nustatymų ištrynimas vienu metu, kol kažkas prisijungs, yra kelias, kuriuo veikiantis profilis tampa nepaaiškinamu.

Laikykite trumpą įrašą apie tai, ką pašalinote ir kodėl: parinktis, ją atmetusi versija ir komanda, parodžiusi klaidą. Kitam žmogui, kuris paveldės profilį, reikės būtent tų trijų faktų, ir juos užrašyti dabar pigiau nei vėliau atkurti.

Susiję straipsniai