Linux DNS Sağlık Kontrolü İçin Bash Scripti: Otomasyon ve En iyi Uygulamalar

0 Yanıtlar 0 Görüntülenme
·
Katılımcılar
Konuyu Açan #0
[/b]Sunucuların ve hizmetlerin sürekliliği açısından DNS'nin düzgün çalışması kritik öneme sahiptir. DNS sorunları, erişim problemleri ve yavaş yüklenmeler gibi ciddi sorunlara yol açabilir. Bu nedenle, otomatik DNS sağlık kontrolleri, sistem yöneticilerinin vazgeçilmez araçlarından biri olmalı. İşte, temel bir Bash scripti ile DNS durumunu düzenli şekilde kontrol etmek ve olası sorunları tespit etmek için kullanabileceğiniz bir yöntem.

Script temel olarak şu adımları içerir:
  • DNS sorgusu yaparak cevap alınıp alınmadığını kontrol eder.
  • Cevap alınmadığında veya hatalı durumda uyarı verir.
  • Belirli bir süre içinde tekrar eden hataları loglar veya e-posta ile bilgilendirir.
  • İsteğe bağlı olarak, alternatif DNS sunucuları üzerinden de kontrol yapılabilir.


Örnek olarak, aşağıdaki script, belirli bir alan adını Google DNS (8.8.8.8) ve yerel DNS (127.0.0.1) üzerinden sorgular. Eğer cevap alınamazsa veya hata alınırsa, log dosyasına kaydeder ve gerekirse uyarı e-postası gönderir.

Kod örneği:

KOD
1234567891011121314151617181920212223242526272829303132
#!/bin/bash

[b]Kontrol edilecek alan adı[/b]
DOMAIN="example.com"

[b]DNS sunucuları[/b]
DNS_SERVERS=("8.8.8.8" "127.0.0.1")

[b]Log dosyası[/b]
LOG_FILE="/var/log/dns_health_check.log"

[b]E-posta ayarları[/b]
EMAIL="admin@domain.com"

[b]İşlev: DNS sorgusu[/b]
check_dns() {
    local server=$1
    dig @$server $DOMAIN +time=2 +tries=1 +noall +answer
    return $?
}

[b]Ana kontrol döngüsü[/b]
for dns in "${DNS_SERVERS[@]}"; do
    if check_dns "$dns"; then
        echo "$(date): $DOMAIN - DNS $dns sağlıklı." >> $LOG_FILE
    else
        echo "$(date): $DOMAIN - DNS $dns sağlıksız veya cevap alınamadı." >> $LOG_FILE
        # Burada e-posta veya başka bildirim mekanizmaları eklenebilir
        echo "DNS kontrolü başarısız: $dns üzerinden $DOMAIN" | mail -s "DNS Sağlık Uyarısı" $EMAIL
    fi
done


Bu temel script, düzenli çalıştırıldığında DNS sağlığını izlemek ve sorunları erkenden tespit etmek için kullanılabilir. Ayrıca, scripti geliştirmek adına şu noktaları göz önünde bulundurabilirsiniz:

  • Çift yönlü kontrol: A veya AAAA kayıtları da sorgulanabilir.
  • Çoklu DNS sunucusu listesi: Olası fallback mekanizmaları.
  • Otomasyon: Cron ile periyodik çalıştırma.
  • Raporlama: Günlük, haftalık özetler veya grafiksel göstergeler.


Çalışma ortamınıza ve ihtiyaçlara göre bu scripti uyarlamak, sisteminizin DNS sağlığını etkin biçimde korumanıza olanak sağlar. Sizce, DNS sağlık kontrolü sırasında en çok hangi sorunları görüyorsunuz veya eklemek istediğiniz özellikler nelerdir?

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi