Tünel kapandıktan bir gün sonra bile dahili bir ad hâlâ VPN sunucusuna çözümleniyor ve çözümleyici dosyası o girdiyle tekrar tekrar geri geliyor. Debian resolvconf'in duruma sahip olduğu yerde bu dosya sağlayıcı kayıtlarından bir araya getirilir ve bunlardan biri artıktır. Kaydı silmek bir dakika sürer; silinmesinin güvenli olduğunu kanıtlamak asıl iştir. Bu kapılar sırayla çalışır ve başarısız bir kapı, sizi sonraki adıma göndermek yerine yordamı bitirir.

resolvconf'in duruma sahip olduğunu doğrulayın

Önce sahibi belirleyin, çünkü systemd-resolved altındaki aynı belirti farklı komutlar ve farklı bir onarım gerektirir. resolvconf paketi /run/resolvconf altında bir veritabanı tutar ve /etc/resolv.conf dosyasını bu veritabanından oluşturduğu dosyaya yönlendirir. İki okuma soruyu çözer: sembolik bağlantının hedefi ve paketin kurulu ve etkin olup olmadığı. /run/systemd/resolve altındaki bir hedef, aşağıdakilerin hiçbirinin geçerli olmadığı diğer tasarım anlamına gelir.

dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service

Bağlantı başka bir yeri gösteriyorsa veya paket yoksa burada durun. Adı ödünç alan ve başka bir çözümleyici yöneticisi tarafından sağlanan bir uyumluluk sarmalayıcısı bu veritabanının sahibi değildir.

Veritabanı girdileri tutar, yanıtı değil

Veritabanı girdileri tutar ve dosya bir çıktıdır, bu yüzden kaldırmak istediğiniz girdiyi hangi programın kurduğunu görmenin tek yolu girdileri listelemektir. Kayıtlar kısadır ve anahtarları sonra ihtiyaç duyacağınız tutamaçlardır. Hangisinin eski olduğuna karar vermeden önce onları okuyun, çünkü VPN arabirimine benzeyen bir ad başka bir istemciye ait olabilir. Özel adresleri ve dahili arama alanlarını paylaşılan tanılamanın dışında tutun; anahtar tek başına genellikle kaydı tanımlar.

sudo resolvconf --list
sudo resolvconf -i

İlk komut sağlanan kayıtları işlemeden yazdırır, ikincisi şu anda DNS yapılandırması sağlayan arabirimleri listeler. Anahtarlar geleneksel olarak bir arabirim adı ve sağlayıcı programdan oluşturulur. resolvconf kılavuzu bu anahtarların işaret ettiği veritabanını açıklar.

Anahtarı yeniden oluşturmak yerine çıktıdan kopyalayın. Bir girdi yalnızca eski bir betik o adı kullandı diye tun0 olarak adlandırılmaz.

Kaydın sahibi olmadığını kanıtlayın

Bir kaydı, hiçbir canlı bağlantı kurmadıysa silmek güvenlidir. Anahtarı onu oluşturan bağlantıyla ilişkilendirin, ardından o bağlantının gittiğini doğrulayın. Bu ilişkilendirme kapının tamamıdır ve silme komutuna giden yolda en sık atlanan adımdır. Kanıt belirsizse kaydı canlı sayın ve durun.

Süreç adları zayıf kanıttır. OpenConnect vpnc-script çağırır, bu yüzden bir vpnc sürecini denetlemek hangi kaydın güncel olduğu hakkında hiçbir şey söylemez. Yeni bir bağlantı, eski bir bağlantının bıraktığı arabirim adını da yeniden kullanabilir ve bu, anahtarın gerçek yaşından daha eski görünmesine yol açar. Kaydın içindeki sunucu adresini hâlâ ayakta olan tünellerin adresleriyle karşılaştırın ve eşleşiyorlarsa durun.

Bağlantıya sahip yönetici üzerinden normal bir bağlantı kesme ilk çaredir. O bağlantının kurduğunu geri çeker ve diğer sağlayıcıları dokunulmadan bırakır.

Kaldırmayı ve yeniden yazımı denetleyin

Kayıt eski olarak doğrulandığında, onu tam anahtarla silin ve ardından varsaymak yerine sonucu okuyun. Bu komut sunucudaki her uygulama için çözümleyici durumunu değiştirir, bu yüzden onu denetlediğiniz bir pencerede çalıştırın. Anahtarı tırnak içine alın, çünkü kabuğun aksi hâlde genişleteceği karakterler içerir. Bloktaki yer tutucu, listeden kopyaladığınız anahtarı temsil eder, birebir dizeyi değil.

sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example

Silme, güncelleme etkinse güncelleme betiklerini çalıştırır; güncellemeler kapalıysa güncellemeyi erteler, bu yüzden kaldırılan kayıt ve yeniden yazılan dosya iki ayrı olaydır. Dosyaya bakmadan önce listeyi yeniden okuyun ve anahtarın gittiğini doğrulayın. Ardından kalan sağlayıcılar üzerinden hâlâ çözümlenmesi gereken bir adı ve bir genel adı sorgulayın, ikisini de değişiklikten önce gördüğünüzle karşılaştırın. Özel bir ad tamamen çözümlenmeyi bırakırsa, o kayıt onu hâlâ taşıyordu.

resolvconf -u yalnızca o güncelleme betiklerini çalıştırır. Eski bir kaydı hiçbir zaman tanımlamaz veya silmez ve eski girdilerden yeniden oluşturmak aynı istenmeyen dosyayı yeniden üretir.

Öldürülen bir bağlantı kesme kancası kaydı geride bırakır

Tek seferlik bir temizlik bugünkü durumu geri getirir ve bir sonraki kesintiye uğramış kapanma kaydı yerine koyar. Sökme yolunu yürüyün: istemcinin bağlantı kesme kancası, o kancanın çağırdığı yardımcı ve herhangi biri öldürüldüğünde ne olduğu. Kesintiye uğramış kapanma olağan kaynaktır, çünkü kanca hiç çalışmadı. Kancanın çıkış durumunu bir kez kaydedin ve sessizce başarısız olup olmadığını bileceksiniz.

Kurulumu ve temizliği tek bir sahip altında tutun. Arabirim adlarını tahmin eden ikinci bir betik sonunda başka bir bağlantının kaydını silecek ve bu, başladığınız eski girdiden daha kötüdür. Sahip ayrıca bir kaydın ne zaman eskidiğine karar vermelidir, çünkü hangi bağlantının onu kurduğunu bilir.

Ardından yaşam döngüsünü çalışın: bağlanın, bağlantıyı kesin, kayıtları yeniden listeleyin. Girdinin kendiliğinden kaybolması, onarımın kalıcı olduğunun tek kanıtıdır.

İlgili makaleler