VPN'in ad sunucusu sürekli LAN'ınkinin altına düşüyor ve /etc/resolv.conf dosyasını düzenlemek bunu birkaç dakikalığına düzeltiyor. O dosya üretiliyor, bu yüzden düzeltme asla kalıcı olmuyor. Debian resolvconf'unda sıralama girdisi /etc/resolvconf/interface-order ve DNS adreslerini değil kayıt adlarını sıralıyor. İki dosyadan birine dokunmadan önce hangi resolver yığınının gerçekten yetkili olduğunu doğrulayın.

Çıktının sahibinin resolvconf olduğunu doğrulayın

Mevcut dosyayı neyin yazdığını ve onu yeniden neyin yazacağını sorarak başlayın. resolvconf paketi kendini dinamik resolver yapılandırması için bir çerçeve olarak tanımlar ve systemd-resolved ya da NetworkManager tarafından yönetilen bir resolver çalıştıran makine dışarıdan aynı görünse de tamamen başka bir politika kullanabilir.

readlink -f /etc/resolv.conf
dpkg -l resolvconf 2>/dev/null | tail -n 1

Çözümlenen yol resolvconf'un çalışma dizinine çıkmıyorsa burada durun: bu belge başka bir yığına aittir.

Ancak bu kontrolden sonra resolvconf'un şu anda tuttuğu kayıtları listelemeye değer.

Desenleri yazmadan önce kayıtları okuyun

interface-order tedarikçi kayıtlarının adlarıyla eşleşir, adreslerle ve çekirdek arayüz adlarıyla değil. Neyin kayıtlı olduğunu listeleyin ki desenleriniz var olan girdilere işaret etsin.

ls /run/resolvconf/interfaces
cat /etc/resolvconf/interface-order

Bir kayıt adı genellikle tedarikçisini belirten bir son ek taşır, bu yüzden bir tünel kaydı ile bir DHCP kaydı aynı arayüz önekini paylaşıp yine de farklı sıralanabilir. Dizinin listesinden tam adları kopyalayın. Arayüz adından ad çıkarsamayın, çünkü neyin kaydedileceğine istemci entegrasyonu karar verir. Uydurduğunuz bir ad asla eşleşmez ve kayıt hiçbir hata iletisi olmadan her şeyi yakalayan desene düşer.

Sırayı ilk eşleşme desenleri olarak yazın

Dosya, satır başına bir tane olmak üzere shell glob desenleri listesidir. Bir kayıt, eşleştiği ilk desenin konumunu alır, bu yüzden belirli bir desenin üstündeki geniş bir desen o belirli satırı erişilemez kılar.

# /etc/resolvconf/interface-order
lo*
tun_work.*
enp*
*

Belirli tünel desenini her şeyi yakalayan desenin ve fiziksel arayüz deseninin üstüne koyun.

Dosyanın zaten sahip olduğu diğer satırları koruyun. Tüm politikayı bir örnekle değiştirmek, ilgisiz tedarikçilerin sessizce kaymasının yoludur; tek bir satırı değiştirin, yeniden oluşturun ve karşılaştırın. Desenler boşluk, eğik çizgi ya da baştaki nokta veya tilde içeremez; boş satırlar ve hash yorumları yok sayılır.

Yeniden oluşturun ve sonucu doğrulayın

Sıra, güncelleme betikleri dosyayı yeniden kurduğunda geçerlidir. Üretilen çıktıyı düzenlemek yerine desteklenen güncelleme yolunu çalıştırın, sonra resolver'ın gerçekte ne aldığını okuyun.

resolvconf -u
cat /etc/resolv.conf

Bir değil iki sorguyu doğrulayın: tünel üzerinden çözülmesi gereken özel bir ad ve genel bir denetim adı. Sıra doğru görünürken özel ad hâlâ başarısız oluyorsa sorun kayıt önceliği değil ad alanı yönlendirmesidir ve hiçbir yeniden sıralama bunu düzeltmez. Her yanıtı yalnızca başarıyla değil, onu döndüren sunucuyla karşılaştırın. Yanlış resolver'ın yanıtladığı özel bir ad yine başarısızlıktır ve kullanıcıya DNS kesintisi gibi görünür.

Eski kaydı düşürmek yerine kullanımdan kaldırın

Bağlantı kesildikten sonra tekrar tekrar beliren eski bir VPN kaydı, istemci entegrasyonunda bir yaşam döngüsü hatasıdır. Onu en alta taşımak belirtiyi gizler ve listede ölü bir resolver bırakır.

Onu kaydeden bileşen üzerinden kullanımdan kaldırın, sonra kayıt dizininin artık onu listelemediğini doğrulayın.

Tedarikçinin adını, değiştirdiğiniz deseni ve çalıştırdığınız iki sorguyu not edin. Bir sonraki kişiye hikâyeden çok o adlar gerekir.

İlgili makaleler