OpenVPN 3 Linux kļūmes nāk kā D-Bus metodes kļūda ar nepazīstamu nosaukumu, un kārdinājums ir samazināt pakotnes versiju un cerēt. Klients nav viena programma: komandrindas saskarne runā pa kopni ar pakalpojumiem, kas pārvalda profilus, sesijas, VPN dzinēju un privileģētās tīkla izmaiņas. Lēmums, kurš no tiem pieciem pārvalda neizdevušos izsaukumu, ir lielākā daļa diagnostikas, un tas maksā vienu komandu, nevis versijas atgriešanu. Turpinājumā ir šis lēmums tādā secībā, kādā kļūmes parasti parādās.

Pieci īpašnieki aiz vienas komandas

Svarīgi ir pieci procesi, un katram ir savs kopnes nosaukums: saskarne, kas pieņem jūsu komandu, konfigurācijas pārvaldnieks, kas glabā profilus un to piekļuves politiku, sesiju pārvaldnieks, kam pieder sesijas mūžs, aizmugures sistēma, kas vada savienojumu caur OpenVPN 3 Core Engine, un tīkla konfigurācijas pakalpojums, kas instalē saskarni, maršrutus un DNS iestatījumus. Kļūda, kas nosauc konfigurācijas objektu, tāpēc nav aizmugures sistēmas kļūda, un aizmugures sistēma, kas neiedarbinās, nav autentifikācijas kļūme. Ziņojuma ievietošana vienā no šīm rindām jānotiek pirms kaut kā maiņas, jo katrs nākamais solis atkarīgs no tā, kura rinda ir patiesa. Rindas minēšana ir ceļš, kā īss labojums pārvēršas pēcpusdienā ar pakotnēm.

Pajautājiet sistēmas kopnei, kuri pakalpojumi ir klātesoši, pirms jautājat ko citu, un tad apstipriniet, ka instalētās daļas vienojas par versiju. OpenVPN 3 Linux reģistrē šos pakalpojumus kā sistēmas vienības, tāpēc kopne, kas jājautā, ir sistēmas kopne, versijas vaicājumam vajadzīga administratīvā vara, un saraksts, kas veidots ar --user, nolasa jūsu pieteikšanās sesiju, kur vienības nekad neparādās. Pakalpojumi aktivizējas pēc pieprasījuma, un daži izbeidzas, kad ir dīkstāvē, tāpēc pakalpojums, kas trūkst pirms jūsu pirmā pieprasījuma, vienkārši vēl nav ticis par neko jautāts. Trīs komandas zemāk atbild par klātbūtni, versiju un vienības stāvokli, neatverot VPN sesiju.

sudo busctl list | grep -i openvpn
sudo openvpn3-admin version --services
systemctl list-units 'openvpn3*'

Ko katrs saraksts patiešām pierāda

Paša klienta skati ir lētākais pieejamais pierādījums, un katrs no tiem pierāda mazāk, nekā šķiet. Profils konfigurācijas sarakstā rāda, ka profils ir importēts, un neko par to, vai kāds drīkst ar to savienoties. Sesija sesiju sarakstā rāda, ka pastāv sesijas objekts, un neko par to, vai attālā autentifikācija ir pabeigta.

openvpn3 configs-list
openvpn3 sessions-list

Objektu ceļi šajos izvados apzīmē pārvaldītus objektus uz kopnes, nevis failus, tāpēc tos nevar rediģēt, un iepriekš pierakstīts ceļš noveco tajā mirklī, kad šī sesija atvienojas. Viena atkārtota izmantošana no jūsu piezīmēm rada "no such object" kļūdas, kurām nav nekā kopīga ar VPN. Zemāk esošā posmu tabula atdala to, ko katrs savienojuma solis izveido, no tā, ko tas atstāj atvērtu, un tieši uz šīs atšķirības balstās versijas atgriešanas lēmums. Izlasiet rindu, kas atbilst jūsu pierādījumam, un pēc tam vēlreiz izlasiet kļūdas tekstu.

StageWhat existsWhat proves itWhat it does not prove
Profile importedA configuration object held by the configuration managerThe profile is listed by the clientThat the profile owner permits a connection
Session requestedA session object held by the session managerThe session appears in the session listThat the remote side accepted the credentials
Connect dispatchedAn asynchronous attempt on the VPN backendStatus changes arrive for that sessionThat an interface was configured
Tunnel configuredAn interface, routes and DNS settingsThe network service reports success and routes appearThat traffic reaches the peer

Savienojuma izsaukums atgriežas pirms tam, kad tunelis pastāv

Savienojuma izsaukums jums iedod sesiju, ko novērot, un atgriežas, tāpēc šķietami veiksmīgs izsaukums, kam seko klusums, ir normāls starpstāvoklis, nevis pretruna. Saskarnei joprojām jāseko stāvokļa izmaiņām un jāatbild uz katru mijiedarbības pieprasījumu. Profils, kuram vajag akreditācijas datus un kas nesaņem atbildi, gaida stāvoklī, kas izskatās tieši kā iekārta aizmugures sistēma. Šis gaidīšanas stāvoklis ir pelnījis atpazīšanu, jo tas sūta cilvēkus pie nepareizā komponenta.

Kamēr mēģinājums darbojas, sekojiet sesiju sarakstam un pašas saskarnes žurnālam šim profilam. Sesija, kas nekad neatstāj savu sākotnējo stāvokli, nosauc apstājušos komponentu, un žurnāls to parasti nosauc jau pirmajās rindās. Turiet profila nosaukumu pa rokai, jo žurnāla komanda ņem profilu, nevis sesijas ceļu, kas ir vēl viens iemesls lasīt sarakstu no jauna, nevis izmantot ceļu atkārtoti.

openvpn3 sessions-list
openvpn3 log --config <profile> --level 6

Viena komponenta žurnāla lasīšana, neatverot sesiju

Kad saskarne neziņo neko noderīgu, dodieties pie komponenta, kas reģistrēja kļūmi, nevis sāciet citu savienojumu. Ar konfigurētu systemd-journald reģistrētāju administratora ierobežotais žurnāla skats nolasa viena komponenta notikumus, nepieskaroties kopnes politikai un neatverot sesiju, un tas ir svarīgi, jo diagnostika, kas maina mērāmo sistēmu, pierāda ļoti maz. Filtrējiet pēc vienības, nevis pēc syslog atzīmes: atsevišķas pakalpojuma vienības negarantē kopīgu identifikatoru, tāpēc vaicājums pēc atzīmes var atgriezt tukšu lapu, kamēr pati vienība reģistrēja kļūmi.

Pierakstiet četrus laukus, pirms lūdzat kādam palīdzību: pilnu kļūdas nosaukumu, iesaistīto pakalpojumu un objektu, laika zīmogu un instalēto pakotņu versijas. Tas ir tas, kas vajadzīgs uzturētājam, un neviens no tiem neprasa ielīmēt profilu vai akreditācijas datus pieteikumā. Kopnes piekļuves politikas paplašināšana, lai kļūdu apklusinātu, nav diagnostika, tā izdzēš robežu, kas jūsu vietā nosauca komponentu. Profilu privātais saturs paliek ārpus kopīgotajiem ziņojumiem tā paša iemesla dēļ kā akreditācijas dati.

journalctl -u 'openvpn3-service-*' -n 50 --no-pager
openvpn3-admin journal --service <name>

Robežas, kas atteicās, labošana

Katrai kartes rindai ir savs labojums, un rindas viena otru neaizstāj. Profilā liegta darbība ir jautājums par politiku un īpašumtiesībām, savukārt aizmugures sistēma, kas neaktivizējas, ir jautājums par pakalpojumiem un iepakošanu. Serveris, kas noraida autentifikāciju, nav ne viens, ne otrs, tāpēc atkārtotas paroles maiņas nevar salabot vietēju aktivizācijas problēmu. Nepareiza labojuma izvēle ir ceļš, kā politikas problēma pārvēršas pārinstalēšanā.

Pēc pakotņu maiņas pārbaudiet saskanīgu un atbalstītu instalāciju, nevis kopējiet vecu bināro failu tā vietā. Kontrolēta versijas atgriešana ir leģitīma atbilde uz apstiprinātu regresiju, ar nosacījumu, ka pakotnes paliek saderīgas un pastāv ceļš atpakaļ uz atbalstītu uzturēšanu. Izveidojiet šo ceļu pirms tam, kad pakalpojums pārstāj startēt, nevis pēc tam.

Cita platforma var kopīgot to pašu VPN pamatbibliotēku, bet ne Linux kopnes pakalpojumus, tāpēc līdzīgi izskatoša kļūme Windows vidē neko nepasaka par šo. D-Bus pārskats dokumentē konfigurācijām un sesijām atklātos objektu ceļus, un tā ir tā arhitektūras daļa, uz kuras balstās šī diagnostika. Izlasiet to vienreiz, un nākamā kļūda atnāks ar komponentu, kas jau tam pievienots.

Saistītie raksti