OpenVPN 3 Linux: geri almadan önce D-Bus hatasını okuyun
Beş hizmet, tek önyüz. Bir D-Bus hatasını reddeden bileşene bağlayın, oturum var mı bakın, sonra o sınırda düzeltin.
OpenVPN 3 Linux arızaları, yabancı bir adın iliştirildiği bir D-Bus yöntem hatası olarak gelir ve baştan çıkarıcı olan, paketi sürüm düşürüp ummaktır. İstemci tek bir program değildir: komut satırı önyüzü, profillere, oturumlara, VPN motoruna ve ayrıcalıklı ağ değişikliklerine sahip hizmetlerle veriyolu üzerinden konuşur. Bu beşinden hangisinin başarısız çağrıya sahip olduğuna karar vermek tanının büyük kısmıdır ve geri alma yerine tek bir komuta mal olur. Aşağıdakiler, arızaların genellikle göründüğü sırayla, o karardır.
Tek komutun arkasındaki beş sahip
Beş süreç önemlidir ve her birinin kendi veriyolu adı vardır: komutunuzu kabul eden önyüz, profilleri ve erişim politikalarını saklayan yapılandırma yöneticisi, oturum ömrüne sahip oturum yöneticisi, bağlantıyı OpenVPN 3 Core Engine üzerinden yürüten arka uç ve arayüzü, yolları ve DNS ayarlarını kuran ağ yapılandırma hizmeti. Bir yapılandırma nesnesini adlandıran hata bu nedenle arka uç hatası değildir ve başlamayan bir arka uç kimlik doğrulama hatası değildir. İletiyi o satırlardan birine yerleştirmek herhangi bir şey değiştirilmeden önce olmalıdır, çünkü sonraki her adım hangi satırın doğru olduğuna bağlıdır. Satırı tahmin etmek, kısa bir düzeltmenin paketlerle geçen bir öğleden sonraya dönüşme biçimidir.
Başka bir şey sormadan önce sistem veriyoluna hangi hizmetlerin bulunduğunu sorun, sonra kurulu parçaların bir sürüm üzerinde anlaştığını doğrulayın. OpenVPN 3 Linux bu hizmetleri sistem birimleri olarak kaydeder, yani sorgulanacak veriyolu sistem veriyoludur, sürüm sorgusu yönetici yetkisi gerektirir ve --user ile yapılan listeleme, birimlerin hiç görünmediği oturum açma oturumunuzu okur. Hizmetler istek üzerine etkinleşir ve bazıları boştayken çıkar, yani ilk isteğinizden önce eksik olan bir hizmet henüz hiçbir şey için sorulmamıştır. Aşağıdaki üç komut, VPN oturumu açmadan varlık, sürüm ve birim durumunu yanıtlar.
sudo busctl list | grep -i openvpn
sudo openvpn3-admin version --services
systemctl list-units 'openvpn3*'Her listenin gerçekte ne kanıtladığı
İstemcinin kendi görünümleri mevcut en ucuz kanıttır ve her biri göründüğünden daha azını kanıtlar. Yapılandırma listesindeki bir profil, bir profilin içe aktarıldığını gösterir ve kimsenin onunla bağlanıp bağlanamayacağı hakkında hiçbir şey söylemez. Oturum listesindeki bir oturum, bir oturum nesnesinin var olduğunu gösterir ve uzaktaki kimlik doğrulamanın bitip bitmediği hakkında hiçbir şey söylemez.
openvpn3 configs-list
openvpn3 sessions-listBu çıktılardaki nesne yolları, veriyolunda yönetilen nesneleri gösterir, dosyaları değil, bu yüzden düzenlenemezler ve daha önce not edilen bir yol, o oturum bağlantısı kesildiği anda geçersizleşir. Notlarınızdan birini yeniden kullanmak, VPN ile hiç ilgisi olmayan "no such object" hataları üretir. Aşağıdaki aşama tablosu, bir bağlantının her adımının ne kurduğunu neyi açık bıraktığından ayırır ve geri alma kararı tam da bu ayrıma dayanır. Kanıtınıza uyan satırı okuyun, sonra hata metnini yeniden okuyun.
| 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 |
Bağlantı çağrısı tünel var olmadan geri döner
Bağlantı çağrısı size izlenecek bir oturum verir ve geri döner, bu yüzden görünüşte başarılı bir çağrının ardından sessizlik gelmesi çelişki değil normal bir ara durumdur. Önyüz yine de durum değişikliklerini izlemek ve her etkileşim isteğini yanıtlamak zorundadır. Bir kimlik bilgisi gerektiren ve yanıt almayan profil, tam olarak takılmış bir arka uç gibi görünen bir durumda bekler. Bu bekleme durumu tanınmayı hak eder, çünkü insanları yanlış bileşene gönderir.
Bir deneme sürerken, oturum listesini ve önyüzün kendi günlüğünü o profil için izleyin. Başlangıç durumundan hiç çıkmayan bir oturum, duran bileşeni adlandırır ve günlük onu genellikle ilk birkaç satırda adlandırır. Profil adını elinizin altında tutun, çünkü günlük komutu bir oturum yolu değil bir profil alır, bu da bir yolu yeniden kullanmak yerine listeyi yeniden okumak için bir nedendir.
openvpn3 sessions-list
openvpn3 log --config <profile> --level 6Tek bir bileşenin günlüğünü oturum açmadan okumak
Önyüz yararlı bir şey bildirmediğinde, yeni bir bağlantı başlatmak yerine arızayı günlüğe yazan bileşene gidin. Yapılandırılmış bir systemd-journald günlükleyicisiyle, yöneticinin sınırlandırılmış günlük görünümü tek bir bileşenin olaylarını veriyolu ilkesine dokunmadan ve oturum açmadan okur, bu önemlidir çünkü ölçtüğü sistemi değiştiren bir tanı çok az şey kanıtlar. Syslog etiketine göre değil birime göre süzün: tek tek hizmet birimleri ortak bir tanımlayıcı garanti etmez, bu yüzden bir etiket sorgusu boş bir sayfa döndürebilirken birim kendisi arızayı kaydetmiş olabilir.
Birinden yardım istemeden önce dört alanı not edin: hatanın tam adı, ilgili hizmet ve nesne, zaman damgası ve kurulu paket sürümleri. Bir bakımcının ihtiyaç duyduğu bunlardır ve hiçbiri bir profile ya da kimlik bilgisine bir kayda yapıştırmayı gerektirmez. Veriyolu erişim ilkesini hatayı susturmak için genişletmek tanı değildir, bileşeni sizin için adlandıran sınırı siler. Profil içeriklerinin özel kısmı, kimlik bilgileriyle aynı nedenle paylaşılan raporların dışında kalır.
journalctl -u 'openvpn3-service-*' -n 50 --no-pager
openvpn3-admin journal --service <name>Reddeden sınırı düzeltmek
Haritanın her satırının kendi düzeltmesi vardır ve satırlar birbirinin yerini tutmaz. Bir profilde reddedilen işlem politika ve sahiplik sorusudur, oysa etkinleşmeyen bir arka uç hizmetler ve paketleme sorusudur. Kimlik doğrulamayı reddeden bir sunucu ikisi de değildir, bu yüzden yinelenen parola değişiklikleri yerel bir etkinleştirme sorununu onaramaz. Yanlış düzeltmeyi seçmek, bir politika sorununun yeniden kuruluma dönüşme biçimidir.
Paket değişikliğinden sonra eski bir ikili dosyayı yerine kopyalamak yerine tutarlı ve desteklenen bir kurulumu doğrulayın. Denetimli bir geri alma, paketler uyumlu kaldığı ve desteklenen bakıma dönüş yolu bulunduğu sürece doğrulanmış bir gerilemeye meşru bir yanıttır. O yolu hizmet başlamayı bırakmadan önce kurun, sonra değil.
Başka bir platform, aynı çekirdek VPN kitaplığını Linux'un veriyolu hizmetlerini paylaşmadan paylaşabilir, bu yüzden Windows'ta benzer görünen bir arıza bu konuda hiçbir şey söylemez. D-Bus genel bakışı, yapılandırmalar ve oturumlar için sunulan nesne yollarını belgeler ve bu tanının dayandığı mimari parçası odur. Bir kez okuyun, ve sonraki hata ona çoktan bağlanmış bir bileşenle gelecektir.