Il-fallimenti ta' OpenVPN 3 Linux jaslu bħala żball tal-metodu D-Bus b'isem mhux magħruf imwaħħal miegħu, u t-tentazzjoni hija li tniżżel pakkett għal verżjoni eqadma u tittama. Il-klijent mhuwiex programm wieħed: frontend tal-linja tal-kmand jitkellem fuq il-bus ma' servizzi li jippossjedu l-profili, is-sessjonijiet, il-magna VPN u l-bidliet tan-netwerk ipprivileġġati. Li tiddeċiedi liema minn dawk il-ħamsa jippossjedi s-sejħa li tfalli hija l-parti l-kbira tad-dijanjosi, u tiswa kmand wieħed minflok treġġigħ lura. Dak li ġej huwa dik id-deċiżjoni, fl-ordni li biha l-fallimenti normalment jidhru.

Ħames sidien wara kmand wieħed

Ħames proċessi jgħoddu, u kull wieħed għandu isem tal-bus tiegħu: il-frontend li jaċċetta l-kmand tiegħek, il-maniġer tal-konfigurazzjoni li jaħżen il-profili u l-politika tal-aċċess tagħhom, il-maniġer tas-sessjonijiet li jippossjedi t-tul tas-sessjoni, il-backend li jmexxi l-konnessjoni permezz ta' OpenVPN 3 Core Engine, u s-servizz tal-konfigurazzjoni tan-netwerk li jinstalla l-interface, ir-rotot u s-settings tad-DNS. Żball li jsemmi oġġett ta' konfigurazzjoni għalhekk mhuwiex żball tal-backend, u backend li ma jibdiex mhuwiex falliment ta' awtentikazzjoni. It-tqegħid tal-messaġġ f'wieħed minn dawk ir-ringieli jrid iseħħ qabel ma jinbidel xi ħaġa, għax kull pass sussegwenti jiddependi minn liema ringiela hija vera. L-istima tar-ringiela hija kif tiswiħa qasira ssir nofs ta' jum ta' xogħol fuq il-pakketti.

Staqsi lill-bus tas-sistema liema servizzi huma preżenti qabel ma tistaqsi xi ħaġa oħra, imbagħad ikkonferma li l-biċċiet installati jaqblu fuq verżjoni. OpenVPN 3 Linux jirreġistra dawk is-servizzi bħala unitajiet tas-sistema, għalhekk il-bus li għandu jiġi mistoqsi huwa dak tas-sistema, il-mistoqsija tal-verżjoni teħtieġ awtorità amministrattiva, u lista magħmula b'--user taqra s-sessjoni tal-login tiegħek, fejn l-unitajiet qatt ma jidhru. Is-servizzi jattivaw ruħhom fuq talba u xi wħud joħorġu meta jkunu inattivi, għalhekk servizz nieqes qabel l-ewwel talba tiegħek sempliċement għadu ma ntalabx għal xi ħaġa. It-tliet kmandi hawn taħt iwieġbu dwar il-preżenza, il-verżjoni u l-istat tal-unità mingħajr ma jiftħu sessjoni VPN.

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

X'jgħid verament kull lista

Il-veduti tal-klijent stess huma l-irħas prova disponibbli, u kull waħda minnhom tgħid inqas milli tidher. Profil fil-lista tal-konfigurazzjoni juri li profil huwa importat u xejn dwar jekk xi ħadd jistax jikkonnettja miegħu. Sessjoni fil-lista tas-sessjonijiet turi li teżisti oġġett ta' sessjoni u xejn dwar jekk l-awtentikazzjoni remota spiċċatx.

openvpn3 configs-list
openvpn3 sessions-list

Il-mogħdijiet tal-oġġett f'dawk l-outputs jidentifikaw oġġetti ġestiti fuq il-bus u mhux fajls, għalhekk ma jistgħux jiġu editjati, u mogħdija rreġistrata qabel issir skaduta fil-mument li dik is-sessjoni tiskonnettja. Li terġa' tuża waħda min-noti tiegħek tipproduċi żbalji "no such object" li m'għandhomx x'jaqsmu mal-VPN. It-tabella tal-istadji hawn taħt tifred dak li jistabbilixxi kull pass ta' konnessjoni minn dak li tħalli miftuħ, u dik hija eżattament id-distinzjoni li fuqha tiddependi deċiżjoni ta' treġġigħ lura. Aqra r-ringiela li taqbel mal-prova tiegħek, imbagħad erġa' aqra t-test tal-iżball.

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

Is-sejħa tal-konnessjoni terga' lura qabel ma teżisti l-mina

Is-sejħa tal-konnessjoni tagħtik sessjoni biex tosserva u terga' lura, u għalhekk sejħa li tidher li rnexxiet segwita mis-skiet hija stat intermedju normali u mhux kontradizzjoni. Il-frontend xorta jrid isegwi l-bidliet tal-istat u jwieġeb kull talba ta' interazzjoni. Profil li jeħtieġ kredenzjali u ma jirċevix tweġiba jistenna fi stat li jidher eżattament bħal backend imdendel. Dak l-istat ta' stennija jistħoqqlu rikonoxximent, għax jibgħat lin-nies lejn il-komponent żbaljat.

Waqt li tentattiv għaddej, osserva l-lista tas-sessjonijiet u l-log tal-frontend stess għal dak il-profil. Sessjoni li qatt ma titlaq mill-istat inizjali tagħha ssemmi l-komponent li waqaf, u l-log normalment isemmih fl-ewwel ftit linji. Żomm l-isem tal-profil f'idejk, għax il-kmand tal-log jieħu profil u mhux mogħdija tas-sessjoni, li hija raġuni oħra biex terġa' taqra l-lista minflok ma terġa' tuża mogħdija.

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

Li taqra l-log ta' komponent wieħed mingħajr ma tiftaħ sessjoni

Meta l-frontend ma jirrappurtax xejn utli, mur għand il-komponent li rreġistra l-falliment minflok ma tibda konnessjoni oħra. B'logger systemd-journald ikkonfigurat, il-veduta tal-ġurnal delimitatata tal-amministratur taqra l-avvenimenti ta' komponent wieħed mingħajr ma tmiss il-politika tal-bus jew tiftaħ sessjoni, li jgħodd għax dijanjosi li tbiddel is-sistema li tkun qed tkejjel tgħid ftit ħafna. Iffiltra bl-unità u mhux bit-tikketta tas-syslog: l-unitajiet tas-servizz individwali ma jiggarantixxu ebda identifikatur komuni, għalhekk mistoqsija bit-tikketta tista' tirritorna paġna vojta waqt li l-unità stess irreġistrat il-falliment.

Irreġistra erba' oqsma qabel ma titlob għajnuna mingħand xi ħadd: l-isem sħiħ tal-iżball, is-servizz u l-oġġett involuti, it-timbru tal-ħin, u l-verżjonijiet tal-pakketti installati. Dawn huma dak li jeħtieġ min iżomm il-pakkett, u ebda wieħed minnhom ma jeħtieġ li tpejjep profil jew kredenzjali f'ticket. It-twessigħ tal-politika tal-aċċess għall-bus biex jiskotol l-iżball mhuwiex dijanjosi, iħassar il-konfini li kien qed isemmi l-komponent għalik. Il-kontenut privat tal-profili jibqa' barra mir-rapporti maqsumin għall-istess raġuni tal-kredenzjali.

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

Il-korrezzjoni tal-konfini li rrifjuta

Kull ringiela tal-mappa għandha l-korrezzjoni tagħha, u r-ringieli ma jissostitwixxux lil xulxin. Operazzjoni miċħuda fuq profil hija mistoqsija dwar politika u sjieda, filwaqt li backend li ma jattivax hija mistoqsija dwar servizzi u ppakkjar. Server li jirrifjuta l-awtentikazzjoni mhuwiex lanqas waħda, għalhekk bidliet ripetuti tal-password ma jistgħux isewwu problema lokali ta' attivazzjoni. L-għażla tal-korrezzjoni żbaljata hija kif problema ta' politika ssir installazzjoni mill-ġdid.

Wara bidla fil-pakketti, ivverifika installazzjoni koerenti u appoġġjata minflok ma tikkopja binariu antik f'postu. Treġġigħ lura kkontrollat hija tweġiba leġittima għal rigressjoni kkonfermata, sakemm il-pakketti jibqgħu kompatibbli u teżisti triq lura lejn manutenzjoni appoġġjata. Stabbilixxi dik it-triq qabel ma s-servizz jieqaf jibda, mhux wara.

Pjattaforma oħra tista' taqsam l-istess librerija ewlenija tal-VPN mingħajr ma taqsam is-servizzi tal-bus ta' Linux, għalhekk falliment li jidher simili fuq Windows ma jgħid xejn dwar dan. Il-Ħarsa ġenerali tad-D-Bus tiddokumenta l-mogħdijiet tal-oġġett esposti għall-konfigurazzjonijiet u s-sessjonijiet, u dik hija l-parti tal-arkitettura li fuqha tiddependi din id-dijanjosi. Aqraha darba, u l-iżball li jmiss jasal b'komponent diġà mwaħħal miegħu.

Artikli relatati