OpenVPN 3 Linux: хувилбарыг буцаахын өмнө D-Bus алдааг уншина уу
Таван үйлчилгээ, нэг интерфейс. D-Bus алдааг татгалзсан бүрэлдэхүүн хэсэгтэй холбоно уу, сесс байгаа эсэхийг шалгаад, дараа нь тэр хил дээр засаарай.
OpenVPN 3 Linux-ийн алдаа нь танихгүй нэртэй D-Bus аргын алдаа болж ирдэг бөгөөд уруу таталт нь багцын хувилбарыг бууруулж, найдах явдал юм. Клиент нь нэг програм биш: командын мөрийн интерфейс нь автобусаар дамжуулан профайл, сесс, VPN хөдөлгүүр болон эрх бүхий сүлжээний өөрчлөлтийг эзэмшдэг үйлчилгээнүүдтэй харилцдаг. Эдгээр тавын аль нь бүтэлгүй дуудлагыг эзэмшиж байгааг тодорхойлох нь оношилгооны ихэнх хэсэг бөгөөд буцаахын оронд нэг команд болдог. Дараах нь алдаа ихэвчлэн гарч ирдэг дарааллаар тэр шийдвэр юм.
Нэг командын ард таван эзэн
Таван процесс чухал бөгөөд тус бүр өөрийн автобусны нэртэй: таны командыг хүлээн авдаг интерфейс, профайл болон тэдгээрийн хандалтын бодлогыг хадгалдаг тохиргооны менежер, сессийн хугацааг эзэмшдэг сессийн менежер, холболтыг OpenVPN 3 Core Engine-ээр гүйцэтгэдэг арын хэсэг, интерфейс, маршрут болон DNS тохиргоог суулгадаг сүлжээний тохиргооны үйлчилгээ. Тохиргооны объектыг нэрлэсэн алдаа нь тиймээс арын хэсгийн алдаа биш, эхлэхгүй байгаа арын хэсэг нь баталгаажуулалтын бүтэлгүйтэл биш. Мессежийг тэдгээр мөрүүдийн аль нэгэнд хамааруулах нь ямар нэг юм өөрчлөгдөхөөс өмнө хийгдэх ёстой, учир нь дараагийн алхам бүр аль мөр үнэнээс хамаарна. Мөрийг таамаглах нь богино засварыг багцтай өнгөрүүлсэн үдээс хойш болгох зам юм.
Өөр юу ч асуухаасаа өмнө системийн автобусаас ямар үйлчилгээ байгааг асуугаад, дараа нь суулгасан хэсгүүд хувилбар дээр санал нэг байгааг баталгаажуулаарай. OpenVPN 3 Linux эдгээр үйлчилгээг системийн нэгж болгон бүртгэдэг тул асуух автобус нь системийн автобус, хувилбарын асуулга нь захиргааны эрх шаарддаг, --user ашигласан жагсаалт нь нэгжүүд хэзээ ч харагддаггүй таны нэвтрэх сессийг уншдаг. Үйлчилгээнүүд хүсэлтээр идэвхждэг, зарим нь сул зогсох үед гардаг тул таны эхний хүсэлтээс өмнө дутуу байгаа үйлчилгээг ердөө л юу ч асуугаагүй байна. Доорх гурван команд нь VPN сесс нээхгүйгээр оршихуй, хувилбар болон нэгжийн төлөвийг хариулна.
sudo busctl list | grep -i openvpn
sudo openvpn3-admin version --services
systemctl list-units 'openvpn3*'Жагсаалт бүр үнэндээ юуг нотолдог вэ
Клиентийн өөрийн харагдац нь боломжит хамгийн хямд нотолгоо бөгөөд тус бүр харагдахаас бага зүйлийг нотолдог. Тохиргооны жагсаалт дахь профайл нь профайл оруулсан болохыг харуулдаг бөгөөд хэн нэгэн түүгээр холбогдож болох эсэхийг огт хэлдэггүй. Сессийн жагсаалт дахь сесс нь сессийн объект байгааг харуулдаг бөгөөд алсын баталгаажуулалт дууссан эсэхийг огт хэлдэггүй.
openvpn3 configs-list
openvpn3 sessions-listЭдгээр гаралтын объектын зам нь автобус дээрх удирдуулсан объектыг илэрхийлдэг, файлыг биш, тиймээс тэдгээрийг засах боломжгүй, өмнө нь бичсэн зам нь тэр сесс салахад хуучирдаг. Тэмдэглэлээс нэгийг дахин ашиглах нь VPN-тэй ямар ч холбоогүй "no such object" алдаа гаргадаг. Доорх шатны хүснэгт нь холболтын алхам бүр юу тогтоодог, юу нээлттэй үлдээдэгийг ялгадаг бөгөөд буцаах шийдвэр яг энэ ялгаанд тулгуурладаг. Өөрийн нотолгоонд тохирох мөрийг уншаад, дараа нь алдааны текстийг дахин уншина уу.
| 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 |
Холболтын дуудлага туннель үүсэхээс өмнө буцдаг
Холболтын дуудлага танд ажиглах сессийг өгөөд буцдаг, тиймээс гаднаа амжилттай мэт дуудлагын дараа чимээгүй байх нь зөрчил биш, хэвийн завсрын байдал юм. Интерфейс нэгэнт л төлөвийн өөрчлөлтийг дагаж, харилцан үйлчлэлийн аливаа хүсэлтэд хариулах ёстой. Итгэмжлэл шаардаад хариу авахгүй байгаа профайл нь яг гацсан арын хэсэг шиг харагдах байдалд хүлээдэг. Тэр хүлээлтийн байдал танигдах ёстой, учир нь энэ нь хүмүүсийг буруу бүрэлдэхүүн рүү илгээдэг.
Оролдлого явах үед сессийн жагсаалт болон интерфейсийн өөрийн логыг тэр профайлын хувьд ажиглаарай. Анхны байдлаасаа хэзээ ч гарахгүй байгаа сесс нь зогссон бүрэлдэхүүнийг нэрлэдэг, лог нь ихэвчлэн эхний хэдэн мөрөнд нэрлэдэг. Профайлын нэрийг гартаа байлгаарай, учир нь лог команд нь сессийн зам биш профайл авдаг, энэ нь замыг дахин ашиглахын оронд жагсаалтыг дахин унших өөр нэг шалтгаан юм.
openvpn3 sessions-list
openvpn3 log --config <profile> --level 6Нэг бүрэлдэхүүний логыг сесс нээхгүйгээр унших
Интерфейс ямар ч хэрэгтэй зүйл мэдээлэхгүй үед шинэ холболт эхлүүлэхийн оронд алдааг логт бичсэн бүрэлдэхүүн рүү очно уу. Тохируулсан systemd-journald бүртгэгчтэй үед администраторын хязгаарлагдмал лог харагдац нь нэг бүрэлдэхүүний үйл явдлыг автобусны бодлогод хүрэлгүй, сесс нээхгүйгээр уншдаг нь чухал, учир нь хэмжиж буй системээ өөрчилдөг оношилгоо маш бага зүйлийг нотолдог. Нэгжээр шүүнэ үү, syslog шошгоор биш: тусдаа үйлчилгээний нэгжүүд нийтлэг таних тэмдгийг баталгаажуулдаггүй тул шошгоор хийсэн асуулга хоосон хуудас буцааж болно, харин нэгж өөрөө алдааг бүртгэсэн байна.
Хэн нэгнээс тусламж хүсэхийн өмнө дөрвөн талбарыг тэмдэглээрэй: алдааны бүтэн нэр, холбогдох үйлчилгээ болон объект, цагийн тэмдэг, суулгасан багцын хувилбарууд. Эдгээр нь засварлагчид хэрэгтэй зүйл бөгөөд аль нь ч профайл эсвэл итгэмжлэлийг тасалбарт наахыг шаарддаггүй. Алдааг намжаахын тулд автобусны хандалтын бодлогыг өргөжүүлэх нь оношилгоо биш, энэ нь бүрэлдэхүүнийг таны өмнөөс нэрлэж байсан хилийг арилгадаг. Профайлын хувийн агуулга нь итгэмжлэлтэй ижил шалтгаанаар хуваалцсан тайлангаас гадуур үлддэг.
journalctl -u 'openvpn3-service-*' -n 50 --no-pager
openvpn3-admin journal --service <name>Татгалзсан хилийг засах
Газрын зургийн мөр бүр өөрийн засвартай бөгөөд мөрүүд бие биенээ орлохгүй. Профайл дээрх татгалзсан үйлдэл нь бодлого, өмчлөлийн асуудал, харин идэвхжихгүй байгаа арын хэсэг нь үйлчилгээ, багцлалтын асуудал юм. Баталгаажуулалтыг татгалздаг сервер нь аль нь ч биш тул давтан нууц үг солих нь локал идэвхжүүлэлтийн асуудлыг засахгүй. Буруу засварыг сонгох нь бодлогын асуудал дахин суулгац болох зам юм.
Багц өөрчлөгдсөний дараа хуучин хоёртын файлыг байранд нь хуулахын оронд уялдаатай, дэмжигдсэн суулгацыг шалгаарай. Хяналттай буцаалт нь баталгаажсан регрессэд хууль ёсны хариулт бөгөөд багцууд нийцтэй хэвээр байж, дэмжигдсэн засвар үйлчилгээ рүү буцах зам байх нөхцөлтэй. Тэр замыг үйлчилгээ ажиллахаа болихоос өмнө бий болго, дараа нь биш.
Өөр платформ нь Linux-ийн автобусны үйлчилгээг хуваалцахгүйгээр ижил үндсэн VPN сангиив хуваалцаж болох тул Windows дээрх төстэй алдаа энэ тухай юу ч хэлэхгүй. D-Bus тойм нь тохиргоо болон сессэд зориулан ил болгосон объектын замыг баримтжуулдаг бөгөөд энэ оношилгоо яг тэр архитектурын хэсэгт тулгуурладаг. Үүнийг нэг удаа уншаарай, дараагийн алдаа нь аль хэдийн холбогдсон бүрэлдэхүүнтэй ирнэ.