Profils, kas darbojies gadiem, pēkšņi atsakās startēt, un ziņojums nosauc direktīvu, kuru neviens neatceras esam pievienojis: key-method. Nākamais meklēšanas rezultāts iesaka pievienot key-method 2 saderības dēļ, bet tas ir citas ēras padoms. Parsētājs, kas noraidīja rindu, ir pašreizējais, un tam šādas opcijas nemaz nav. Rindas dzēšana salabo startēšanu un neko nemaina tajā, kā abas puses aizsargā sesiju.

Tieši šī plaisa starp to, ko satur profils, un to, ko protokols patiešām dara, ir visa tēma, un tā izskaidro vairākas citas izmaiņas, ko cilvēki veic vienlaikus. Tā arī izskaidro, kāpēc šīs izmaiņas parasti nāk vienā paketē.

Simptoms ir parsēšanas kļūda, nevis roku satveršanas kļūme

Opcijas tiek nolasītas pirms jebkura paketes nosūtīšanas. Profils ar nezināmu direktīvu šajā posmā neizdodas, tāpēc process nekad nesasniedz tīklu un nekad neizraisa roku satveršanas kļūdu. Formulējums parasti nosauc opciju un failu, kas padara šo par vienu no visvieglāk attiecināmajām kļūmēm. Tajā nav iesaistīta neviena pakete, maršruts vai ugunsmūris.

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

Ja ziņojums nosauc direktīvu, diagnostika ir pabeigta: failā ir kaut kas tāds, ko šī būve nepieņem. Ja ziņojums tā vietā nosauc faila ceļu, problēma ir trūkstošs include vai atslēga, kas ir citāda tās pašas startēšanas posma daļa.

Nevajadzētu secināt, ka klientam vai serverim vajag vecāku protokola režīmu. Parsēšanas kļūme ir vārdu krājuma problēma starp jūsu failu un bināro failu, un binārais fails šajā gadījumā vienkārši izmeta vienu vārdu no sava vārdu krājuma.

Direktīva un pārraides formāts ir divas dažādas lietas

Vecā key-method opcija izvēlējās, kā tiek ierāmēta TLS atslēgu apmaiņa, un mūsdienu apmaiņa ir vairāku pakešu metode, ko šī opcija kādreiz pieprasīja. Opcija pazuda, jo tā vairs neko neizvēlējās; formāts, ko tā nosauca, kļuva par vienīgo. Tāpēc rindas dzēšana atstāj sesiju ar tādu pašu ierāmējumu kā iepriekš. Teksta izmaiņa to nevar mainīt nevienā virzienā.

Tāpēc veca binārā faila atgriešana, lai „atjaunotu“ 2. metodi, ir nepareizs remonts. Tas neko neatjauno, izņemot vecāku parsētāju ar vecākām noklusējuma vērtībām, un tas atņem jums labojumus, kas nāca pēc tam. Tā pati loģika attiecas uz sertifikāta pārbaudes vai šifru saraksta vājināšanu cerībā, ka savienojums atgriezīsies.

Noderīga pārbaude ir versija un parsētā konfigurācija, nevis vārda klātbūtne failā:

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

Ko noņemt un no kura faila

Rediģējiet failu, ko darbojošais process patiešām lasa, un tikai to. Iepakotās sistēmās tas parasti ir profils klienta vai servera direktorijā, ko nosauc unit, nevis kopija jūsu mājas direktorijā, ko glabājat uzziņai. Ģenerēto profilu var arī pārbūvēt no veidnes, tāpēc izmaiņa, kas veikta tikai izvietotajā kopijā, atgriezīsies pēc nākamās nodrošināšanas izpildes.

Dzēsiet novecojušo rindu un atstājiet galapunktu, sertifikātus, šifru politiku un vadības kanāla iestatījumus mierā. Tās ir atbalstītas opcijas, kas procesam ir vajadzīgas, un tās nav saistītas ar parsēšanas kļūdu. Ja tajā pašā profilā ir citas direktīvas, ko nepazīstat, pārbaudiet katru pret jūsu izpildīto versiju, nevis dzēsiet to grupu, līdz process startē.

Pēc tam startējiet paredzēto instanci un izlasiet tās startēšanas izvadi. Tīra startēšana ar klātesošu klausītāju ir apstiprinājums, ka šis posms ir pabeigts; klienta tests pēc tam atbild uz citu jautājumu.

Noraidīts profils un noraidīts klients izskatās līdzīgi

Divas kļūmes rada līdzīgus atbalsta pavedienus un prasa atšķirīgus pierādījumus. Serveris, kas noraida savu konfigurāciju, nekad neiestartējas, tāpēc neviens klients nevar tam pievienoties. Serveris, kas labi startē un noraida vienu klientu, darbojas, un tā žurnālā ir iemesls: sertifikāta problēma, uzspiesta opcija, ko klients nepieņem, šifra neatbilstība.

Noņemtā opcija nav diagnostika otrajam gadījumam, un ķeršanās pie tās izšķērdē to pašu stundu divreiz. Ja klienta žurnāls rāda servera noraidījumu, lasiet šo noraidījumu; ja tas rāda lokālu kļūdu, pārbaudāmais fails ir klienta profils. Ķeršanās pie direktīvas, kas vairs neeksistē, aizkavē abas izmeklēšanas vienādi.

Saderības jautājumi, uz kuriem rinda nekad neatbildēja

Profili, kas cirkulē ar šo direktīvu, parasti nes sev līdzi stāstu par konkrētu platformu, un stāsts pārdzīvo tehnisko iemeslu. Mobilajam vai galddatora klientam joprojām vajag pilnīgu atbalstītu profilu: uzticamu sertifikātu ķēdi, datu šifru, ko pieņem abi gali, vadības kanāla režīmu, ko īsteno abi gali, un nekādas direktīvas, ko noraida klienta būve. Neviens no tiem netiek noteikts ar vecās key-method rindas esamību vai neesamību.

Saspiešana ir atsevišķs politikas jautājums ar tādu pašu formu. key-method rindas noņemšana neko nepasaka par to, vai saspiešanas direktīva jūsu izvietojumā tiek atbalstīta vai ir pieņemama, un abi lēmumi jāpieņem neatkarīgi. Vairāku ar drošību saistītu iestatījumu dzēšana uzreiz, līdz kaut kas savienojas, ir ceļš, kā strādājošs profils kļūst par neizskaidrotu.

Glabājiet īsu pierakstu par to, ko noņēmāt un kāpēc: opcija, versija, kas to noraidīja, un komanda, kas parādīja kļūdu. Nākamajam cilvēkam, kas profilu manto, būs vajadzīgi tieši šie trīs fakti, un tos pierakstīt tagad ir lētāk nekā vēlāk rekonstruēt.

Saistītie raksti