OpenVPN 3 Linux: aqra żball D-Bus qabel ma tmur lura
Ħames servizzi, frontend wieħed. Ippjana żball D-Bus mal-komponent li rrifjuta, iċċekkja jekk teżistx sessjoni, imbagħad ikkoreġi f'dak il-konfini.
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-listIl-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.
| Stage | What exists | What proves it | What it does not prove |
|---|---|---|---|
| Profile imported | A configuration object held by the configuration manager | The profile is listed by the client | That the profile owner permits a connection |
| Session requested | A session object held by the session manager | The session appears in the session list | That the remote side accepted the credentials |
| Connect dispatched | An asynchronous attempt on the VPN backend | Status changes arrive for that session | That an interface was configured |
| Tunnel configured | An interface, routes and DNS settings | The network service reports success and routes appear | That 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 6Li 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.