Biri ekran karardığında VPN öldü derse, ilk yararlı soru üç olaydan hangisinin gerçekten gerçekleştiğidir: oturum kilitlendi, panel kapatıldı veya tüm makine uykuya geçti. Bunlar ayrı zamanlayıcılardaki ayrı mekanizmalardır ve yalnızca biri bir sürecin zamanlanmasını tamamen engelleyebilir. Aşağıdaki denetimleri sırayla yapın. Soruyu yanıtlayan ilk denetimde durun, çünkü ondan sonraki her denetim başka bir şeyi yanıtlar.

Birinci denetim: kilidi kararmadan ve uykudan ayırın

Kilit, oturumu kimin kullanabileceğini değiştirir; kompozitör çizmeye devam eder, ağ yığını çalışmaya devam eder ve VPN istemcisi hiçbir şey fark etmez. Ekranın kararması, bir hareketsizlik aralığından sonra paneli kapatır ve makineyi tamamen uyanık bırakır. Askıya alma işlemcileri durdurur, yani kullanıcı alanındaki hiçbir süreç zamanlanmaz, bu nedenle aralığı ne kadar kısa ayarlarsanız ayarlayın hiçbir canlı tutma sinyali çalışamaz.

EventWhat it stopsCan it kill the tunnel?
Session lockInput to your sessionNo
Display blankThe panelNo
Suspend to RAMCPU scheduling, hence every processYes, and silently
HibernateEverything, with state written to diskYes

Bu tablo, «ekran karardı» ifadesinin neden tanı olmadığının nedenidir. Beş dakikada kararmaya ve otuzda uykuya ayarlanmış bir masaüstü, altıncı dakikada tamamen sağlıklı bir tünelle karanlık bir ekran gösterir. Otuzuncu dakikadaki arıza başka bir olay ve başka bir çözümdür, ikisi de odanın öbür ucundan aynı görünür.

İkinci denetim: güç ve ağ olaylarını tek bir zaman çizelgesine koyun

Günlüğü tüm açılış yerine sınırlı bir zaman aralığı için okuyun ve hem oturum açma yöneticisini hem de bağlantının sahibini dahil edin:

journalctl -b -u systemd-logind -u NetworkManager --since "45 minutes ago"
systemd-inhibit --list

İlk komut uyku isteklerini, uyanmayı ve bunları izleyen ağ geçişlerini gösterir. İkincisi şu anda neyin bir engelleyici kilidi tuttuğunu gösterir; bu, bir şeyin uykuyu bilerek engelleyip engellemediğini ve bunun hangi program olduğunu söyler. Bağlantınızın sahibi NetworkManager değilse birim adlarını uyarlayın ve başka bir kullanıcının birimini veya sistem günlüğünü okumanın yerel politikaya bağlı olduğunu unutmayın.

Eksik bir satır olumsuz sonuç değildir. Seçilen birimin günlüğü hesabınıza görünmüyorsa, bir uyku kaydının yokluğu hiçbir şeyi kanıtlamaz ve boş bir filtreden «hiç uyumadı» sonucunu çıkarmak, insanların bir haftayı canlı tutma sinyallerini ayarlayarak geçirmesinin yoludur.

Üçüncü denetim: makine uykuya geçtiyse bunun amaçlanıp amaçlanmadığına karar verin

Zaman çizelgesinde bir uyku geçişi göründüğünde soru, VPN neden bozuldu sorusundan makinenin hiç uyuması gerekir miydi sorusuna dönüşür. Dizüstü bilgisayarda yanıt genellikle evettir ve tünel kesintisi, istemcinin uyandığında toparlanması gereken beklenen bir davranıştır. Erişilebilir kalması gereken bir iş istasyonunda değiştirilmesi gereken şey uyku politikasıdır. Bu iki makineden hangisine baktığınıza karar vermek tek bir soru gerektirir ve bu, günlüğün sizin yerinize yanıtlayabileceği bir soru değildir.

Bunu oturum açmış oturuma ait denetimlerle veya gereksinim tüm makineyi kapsıyorsa yöneticinin desteklediği bir mekanizmayla değiştirin. Başka bir hesapla oturum açmışken görüntü yöneticisinin bir ayarını düzenlemek aynı eylem değildir ve bir sonraki oturum başlayana kadar çalışmış gibi görünür. Güç yönetimini tamamen kapatmak, pil ömrüne mal olan ve asıl politika sorusunu gizleyen geniş bir ilk tepkidir.

Dördüncü denetim: makine uyanık kaldıysa ağa ve istemciye bakın

Tünelini kaybeden uyanık bir makinenin üç hikâyeden biri vardır: erişim ağı düştü, VPN istemcisi durdu veya yeniden başladı ya da sunucu tarafı ilişkinin süresinin dolmasına izin verdi, istemci ise bağlı olduğuna inanmaya devam etti. Altta yatan bağlantı olayının zaman damgalarını tünel olayıyla karşılaştırın ve hangisinin önce geldiği konusunda kesin olun.

Ardından kurtarma yolunu özgün oturumdan ayrı olarak sınayın. Kurtarılan tünel üzerinden yeni bir istek başarılı olabilirken, kesintiden önce açılan uzun ömürlü uygulama oturumu bozuk kalır, çünkü uygulama eski bir soket veya önbelleğe alınmış bir adres tutuyor. Bu bir uygulama sorunudur, tünelin geri gelmediğinin kanıtı değildir.

Yararlı bir rapor neler içerir

Sırayı zaman damgaları ve sahiplerle birlikte yazın: oturum ne zaman kilitlendi, ekran ne zaman karardı, uyku isteği kaydedildi mi, bağlantı ne zaman düştü ve geri geldi, tünel ne zaman durum değiştirdi ve uygulama gerçekte ne yaptı. Her öğenin bir sahibi vardır, böylece her öğe Linux hakkında genel bir şikâyete dönüşmek yerine doğru kişiye verilebilir.

Bu satırlardan biri eksikse, ölçülmesi gereken bir sonraki şey odur, değiştirilmesi gereken bir sonraki şey değil. Boşluğu olan bir zaman çizelgesi, tahmine dayanarak yapılan bir ayar değişikliğinden daha bilgilendiricidir.

İlgili makaleler