VPN üzerinden NXDOMAIN, tünelin çöktüğü anlamına gelmez
Olumsuz bir yanıt, bir çözümleyicinin yanıt verdiği anlamına gelir; paketlerin durduğu değil. Bir şeyi yeniden kurmadan önce kodu, çözümleyiciyi ve önbelleğe alınmış yanıtı okuyun.
Başarısız tek bir sorguyu tünelin çöktüğünün kanıtı olarak okumak cezbedicidir, özellikle ad on dakika önce çalışıyorsa. Yanıt başka bir şey söylüyor. NXDOMAIN, bir çözümleyicinin sorgulanan adın var olmadığını bildirdiği tamamlanmış bir DNS işlemidir; bozuk bir tünel genellikle sessizlik, zaman aşımı veya yanlış sunucuya karşı bir çözümleme girişimi üretir. Argümanın wireshark'sız sürümü bir sorgu, bir yanıtlayan ve bir yanıt kodudur ve bu üçlü herhangi bir yapılandırma değişikliğinden önce kaydedilmeye değer.
Yanıtın gerçekte neyi kanıtladığı
DNS, istemcilerin sıklıkla tek bir hataya indirdiği sonuçları ayırır. Var olmayan bir ad, NXDOMAIN koduyla olumsuz bir yanıt üretirken var olan ama istenen türde kaydı olmayan bir ad, boş yanıt bölümüyle başarılı bir yanıt üretir. İkisi de bir uygulamaya yararsız görünür ve yalnızca biri adın yanlış olduğu anlamına gelir.
Bu fark, onarımın nereye ait olduğunu belirler. A kaydı olan bir ana bilgisayarda eksik AAAA kaydı, eksik ana bilgisayar değildir ve bunun peşinden gitmek için sertifika yeniden düzenlemek veya tüneli yeniden kurmak, mevcut tek ipucunu harcar. Ayrım ayrıca devamın biçimini belirler: adlandırma sorunu bölgede düzeltilir, tür sorunu ise doğru kaydı isteyerek veya adres ailesinin basitçe bulunmadığını kabul ederek düzeltilir.
Efsane: eksik bir özel ad tünelin başarısız olduğu anlamına gelir
Efsane yaşar çünkü bu iki olay o kadar sık birlikte gelir. İstemci VPN'e bağlanır, işletim sistemi zaten güvendiği bir çözümleyiciyi korur ve artık ihtiyaç duyduğu iç ad, özel bölgeyi hiç duymamış bir sunucuya sorulur. O sunucu dürüstçe ve olumsuz yanıt verir. Tünel paketi taşımaktadır; yanıt yalnızca yanıtlayanın hizmet vermediği bir ad alanı hakkındadır.
Split-horizon düzenlemeleri bunu rutin hale getirir: aynı bölge adı, farklı içerikle hem herkese açık hem de içeride vardır ve özel kayıtları yalnızca iç çözümleyici bilir. Bu nedenle yetkili görünen olumsuz bir yanıt almak, hangi çözümleyicinin yanıtladığının kanıtıdır, arayüzün durumunun kanıtı değil.
Sonucu iki yapılandırma ayrıntısı belirler. Tünel iç çözümleyiciyi itmeli veya seçmelidir ve istemci bu seçimi sorgulanan ada uygulamalıdır. Yazdığınız kayıttan biraz farklı bir sonek adlandıran alan başına bir kural, sorguyu herkese açık yola gönderir ve yanıt doğru ama yararsız olur.
Doğru çözümleyiciye doğru adla sorun
Hükmü kaydetmeden önce yanıtlayanı kaydedin. Hangi sunucunun yanıtladığını göstermeyen bir sorgu, ilke sorununu ad alanı sorunundan ayıramaz ve ikisinin onarımları ilgisizdir.
resolvectl query vpn.internal.example
resolvectl status | grep -A3 'DNS Servers'
dig +search app.intranet.example A
dig @10.8.0.1 app.intranet.example A
İlk iki satır yerel çözümleyicinin ne karar verdiğini ve kimi soracağını gösterir. +search sorgusu, bir uygulamanın arama soneki eklediğinde yaptığını yeniden üretir; bu genellikle teşhis aracına yazılan değil gerçek sorgudur. Son satır, istemci ilkesini atlayarak iç sunucuya doğrudan sorar; bu başarılı olurken normal sorgu başarısız olursa bölge sağlamdır ve sorguların yönlendirilmesi değildir.
Olumsuz önbellekleme, onarımdan sonraki gecikmeyi açıklar
Olumsuz yanıtlar tasarım gereği önbelleğe alınır ve RFC 2308, olumsuz önbelleğin ömrünün bölgenin yetki kaydından nasıl türetildiğini açıklar. Bu nedenle bir kaydı veya çözümleyici kuralını düzeltmek istemcide hemen değişiklik garantilemez ve önbelleğe alınmış yanıtı döndürmeye devam eden sorguyu yeniden denemek yeni bir şey kanıtlamaz. Yalnızca başka bir yanıtlayan, başka bir ad veya boşaltılmış önbellek taze kanıt verir.
Yerel önbelleği boşaltın, sonra aynı sorguyu aynı yanıtlayana karşı yineleyin. Yerel çözümleyici hizmetini kullanan sistemlerde bu tek bir komuttur; diğerlerinde hizmetin yeniden başlatılması veya platform aracıdır ve belirli araç, sonrasında aynı testi yinelemekten daha az önemlidir.
Adı yoldan ayırın
Ad beklenen özel adrese çözümlendiğinde DNS bir konu olarak biter ve sıradaki soru uygulama yolu olur. Sorgulara yanıt veren ama bağlantıyı reddeden ana bilgisayarın başka bir sorunu vardır ve doğru yanıttan sonra çözümleyicileri ayarlamaya devam etmek, bir olayın üç ilgisiz değişiklik edinmesinin yoludur. İkisinin örtüştüğünü varsaymadan önce çözümlenen adresi hizmetin gerçekte dinlediği adresle karşılaştırın.
Kaydı saklayın: sorgu, yanıtlayan, kod ve çözümlenen adres. O kayıt aynı zamanda sonraki bir raporu doğrulanabilir kılan şeydir ve bir teşhis ile yavaş görünen bir tünel hakkındaki hikâye arasındaki farktır.