Alan Adı & DNS

    dig Komutu ile DNS Sorgulama

    Terminalden DNS kayıtlarını sorgulayan güçlü dig komutunun ileri kullanımı.

    11 dk okuma Güncellendi: 10 Temmuz 2026

    Bir alan adının hangi IP adresine gittiğini, e-postalarının nereye teslim edildiğini ya da SPF kaydının doğru yazılıp yazılmadığını öğrenmek istediğinizde tarayıcıdaki grafik araçlar çoğu zaman yetersiz kalır. İşte tam bu noktada dig (Domain Information Groper) devreye girer. dig, DNS sunucularına doğrudan soru soran, cevabı ham haliyle ve eksiksiz gösteren bir terminal aracıdır. Bir sistem yöneticisinin DNS ile ilgili neredeyse her sorunu teşhis ederken ilk uzandığı komuttur.

    Bu rehberde dig komutunu sıfırdan ele alacağız: temel sorgu söz diziminden başlayıp A, MX, TXT gibi kayıt tiplerini nasıl sorgulayacağınızı, +short ile çıktıyı nasıl sadeleştireceğinizi, @sunucu ile belirli bir çözümleyiciyi nasıl seçeceğinizi ve +trace ile çözüm zincirini kökten yetkili sunucuya kadar nasıl izleyeceğinizi göreceğiz. Ayrıca çıktının ANSWER, AUTHORITY ve ADDITIONAL bölümlerinin ne anlama geldiğini satır satır çözerek gerçek dünyada karşılaşacağınız senaryolara hazırlanacaksınız. Konunun altyapısını tazelemek isterseniz DNS nedir yazımız iyi bir başlangıç noktasıdır.

    dig Komutunun Temel Söz Dizimi#

    dig komutunun en yalın kullanımı, sorgulamak istediğiniz alan adını doğrudan yazmaktan ibarettir. Uzantı belirtmezseniz dig varsayılan olarak A kaydını (IPv4 adresini) sorgular.

    dig clou.tr
    

    Genel söz dizimi ise şu şablona oturur:

    dig [@sunucu] [alanadi] [kayit-tipi] [+secenekler]
    

    Buradaki her parça isteğe bağlıdır ve sırası oldukça esnektir. @sunucu hangi DNS sunucusuna soracağınızı, alanadi sorgulayacağınız adı, kayit-tipi hangi kaydı istediğinizi (A, MX, TXT, NS...), +secenekler ise çıktının biçimini ve davranışını belirler. Örneğin dig ornek.com MX @1.1.1.1 +short komutu, Cloudflare çözümleyicisine ornek.com alan adının MX kayıtlarını sorar ve sadece sonucu döndürür.

    dig çoğu Linux dağıtımında bind-utils (Red Hat/CentOS/AlmaLinux tarafında) ya da dnsutils (Debian/Ubuntu tarafında) paketiyle gelir. Sisteminizde kurulu değilse hızlıca ekleyebilirsiniz:

    # Debian / Ubuntu
    sudo apt install dnsutils
    
    # AlmaLinux / Rocky / CentOS
    sudo dnf install bind-utils
    

    Kurulumdan sonra dig -v komutu sürüm bilgisini gösterir; bu, aracın çalışır durumda olduğunun en hızlı teyididir.

    Kayıt Tiplerini Sorgulama: A, AAAA, MX, TXT, NS#

    dig'in asıl gücü, tek bir komutla her tür DNS kaydını okuyabilmesidir. Kayıt tipini alan adının hemen ardına yazmanız yeterlidir. En sık kullanacağınız sorgular şunlardır:

    dig ornek.com A        # IPv4 adresi
    dig ornek.com AAAA     # IPv6 adresi
    dig ornek.com MX       # e-posta sunucuları
    dig ornek.com TXT      # SPF, DKIM, doğrulama kayıtları
    dig ornek.com NS       # yetkili nameserver'lar
    dig ornek.com CNAME    # takma ad (alias)
    dig ornek.com SOA      # bölge yetki (authority) kaydı
    

    MX kaydı sorgusu, e-posta teslim sorunlarını çözerken en değerli araçlardan biridir. Çıktıda her sunucunun bir önceliği (öncelik değeri düşük olan önce denenir) ve bir hedefi bulunur:

    dig gmail.com MX +short
    
    5 gmail-smtp-in.l.google.com.
    10 alt1.gmail-smtp-in.l.google.com.
    20 alt2.gmail-smtp-in.l.google.com.
    30 alt3.gmail-smtp-in.l.google.com.
    40 alt4.gmail-smtp-in.l.google.com.
    

    TXT kayıtları ise e-posta kimlik doğrulaması için kritik öneme sahiptir. Bir alan adının SPF politikasını görmek için:

    dig ornek.com TXT +short
    

    Çıktıda v=spf1 include:_spf.google.com ~all gibi bir satır görürseniz, alan adı adına e-posta göndermeye yetkili sunucular tanımlanmış demektir. DKIM anahtarları ise genellikle secici._domainkey.ornek.com gibi alt alanlarda tutulur; bunları da aynı yöntemle sorgulayabilirsiniz. Bir alan adının bütün yaygın kayıtlarını tek çıktıda görmek için ANY tipini kullanabilirsiniz; ancak birçok yetkili sunucu güvenlik nedeniyle artık ANY sorgularına eksik yanıt verdiğinden, üretim ortamında kayıtları tek tek sorgulamak daha güvenilir sonuç verir.

    dig Çıktısını Okumak: ANSWER, AUTHORITY ve ADDITIONAL#

    dig komutunu seçeneksiz çalıştırdığınızda karşınıza gelen uzun çıktı, ilk bakışta karmaşık görünse de aslında düzenli bölümlerden oluşur. Her bölümü anlamak, DNS sorunlarını teşhis etme yeteneğinizi kökten değiştirir. Örnek bir çıktıyı inceleyelim:

    ; <<>> DiG 9.18.24 <<>> ornek.com A
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43127
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;ornek.com.            IN      A
    
    ;; ANSWER SECTION:
    ornek.com.     300     IN      A       203.0.113.10
    
    ;; Query time: 24 msec
    ;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
    ;; WHEN: Fri Jul 10 12:30:00 UTC 2026
    ;; MSG SIZE  rcvd: 55
    

    Çıktının en tepesindeki HEADER satırı sağlığın özetidir. status: NOERROR her şeyin yolunda olduğunu, NXDOMAIN alan adının bulunmadığını, SERVFAIL ise sorgulanan sunucunun cevap üretemediğini gösterir. flags alanındaki harfler de anlamlıdır: qr yanıt bayrağı, rd özyineleme istendiği, ra sunucunun özyinelemeyi desteklediği, aa ise cevabın yetkili sunucudan geldiği anlamına gelir.

    Aşağıdaki tablo, çıktıdaki dört ana bölümün görevini özetler:

    BölümİçeriğiNe zaman dolar
    QUESTIONSorduğunuz soru (ad + tip)Her zaman
    ANSWERSorunuzun asıl cevabı (kayıt değerleri)Kayıt varsa
    AUTHORITYBu bölgeden sorumlu yetkili sunucularYönlendirme/yetki gerektiğinde
    ADDITIONALİlgili ek kayıtlar (ör. NS sunucularının IP'leri)Sunucu yardımcı bilgi verirse

    ANSWER SECTION en çok ilgilendiğiniz yerdir; burada ornek.com. 300 IN A 203.0.113.10 satırındaki 300 değeri TTL'dir, yani bu kaydın kaç saniye önbellekte tutulacağını söyler. AUTHORITY SECTION genellikle NS sorgularında ya da bir alt bölgeye yönlendirme yapıldığında dolar. ADDITIONAL SECTION ise yetkili sunucuların IP adresleri gibi ek bilgileri barındırır ve resolver'ın ekstra bir sorguya ihtiyaç duymadan işini bitirmesini sağlar. En alttaki Query time satırı sorgunun kaç milisaniye sürdüğünü gösterir ve yavaş DNS teşhisinde işinize yarar.

    +short ile Sade Çıktı ve Betiklerde Kullanım#

    Yukarıdaki ayrıntılı çıktı teşhis için harikadır, ama bazen size sadece IP adresi lazımdır. +short seçeneği, çıktıyı yalnızca cevap değerlerine indirger ve gerisini atar:

    dig clou.tr +short
    
    203.0.113.10
    

    Bu sadelik, dig'i kabuk betiklerinde ve otomasyonda son derece kullanışlı hâle getirir. Örneğin bir alan adının IP'sini bir değişkene atamak istediğinizde tek satır yeterlidir:

    IP=$(dig +short ornek.com A | head -n1)
    echo "Sunucu IP adresi: $IP"
    

    +short seçeneğini kayıt tipleriyle birleştirerek çok temiz sonuçlar alabilirsiniz. Aşağıdaki tablo en çok kullanacağınız kombinasyonları özetler:

    KomutNe döndürür
    dig +short ornek.com AYalnızca IPv4 adresi
    dig +short ornek.com MXÖncelik + posta sunucusu satırları
    dig +short ornek.com NSNameserver adları
    dig +short ornek.com TXTTırnak içinde TXT değerleri
    dig +short -x 8.8.8.8Ters (PTR) çözümleme sonucu

    Betik yazarken çıktının biçiminin sabit kalması büyük avantajdır; +short tam olarak bunu sağlar. Ayrıca birden fazla seçeneği zincirleyebilirsiniz: dig +short +answer gibi kombinasyonlar ya da gürültüyü kısan +nocomments +noquestion +nostats grubu, kendi çıktı biçiminizi ince ayarla oluşturmanıza olanak tanır.

    @sunucu ile Belirli Bir DNS Sunucusunu Sorgulama#

    Varsayılan olarak dig, sisteminizin /etc/resolv.conf dosyasında tanımlı çözümleyiciyi kullanır. Ancak @ işaretiyle sorguyu istediğiniz herhangi bir DNS sunucusuna yönlendirebilirsiniz. Bu özellik, DNS propagasyonunu (yayılmayı) takip ederken paha biçilmezdir.

    dig ornek.com @1.1.1.1     # Cloudflare
    dig ornek.com @8.8.8.8     # Google
    dig ornek.com @9.9.9.9     # Quad9
    

    Bir kaydı yeni değiştirdiğinizde farklı çözümleyicilerin hâlâ eski değeri gösterip göstermediğini bu şekilde kontrol edersiniz. Daha da önemlisi, alan adının yetkili sunucusunu doğrudan sorgulayarak önbelleği tamamen aradan çıkarabilirsiniz:

    # Önce yetkili sunucuları bul
    dig ornek.com NS +short
    
    # Sonra doğrudan ona sor (önbellek yok, en güncel gerçek)
    dig ornek.com A @ns1.saglayici.com
    

    Yetkili sunucudan gelen cevap, alan adının o anki kesin durumudur; hiçbir ara önbellek katmanı içermez. Bu yüzden "kaydı değiştirdim ama neden yansımadı?" sorusunu çözerken önce yetkili sunucuya sorup değişikliğin kaynakta gerçekten yerleştiğini teyit eder, ardından herkese açık çözümleyicilerdeki gecikmenin sadece TTL kaynaklı olduğunu anlarsınız. Bu farkın neden oluştuğunu propagasyon süresi ve DNS yazımızda ayrıntılı biçimde inceliyoruz. Belirli bir sunucuyu standart dışı bir portta sorgulamanız gerekirse -p seçeneğini kullanabilirsiniz, örneğin dig ornek.com @127.0.0.1 -p 5353 yerel bir test çözümleyicisini hedefler.

    +trace ile Çözüm Zincirini İzlemek#

    DNS çözümlemesi, kök sunuculardan başlayıp yetkili sunuculara uzanan hiyerarşik bir yolculuktur. +trace seçeneği, bu yolculuğun her adımını gözünüzün önüne serer. Normalde resolver bu işi arka planda yaparken, +trace sizi bizzat resolver'ın koltuğuna oturtur ve her aşamada hangi sunucunun sizi nereye yönlendirdiğini gösterir.

    dig +trace clou.tr
    

    Çıktı yukarıdan aşağıya doğru şu mantıkla ilerler:

    1. Önce kök sunucular (.) listelenir ve sorgu bunlardan birine yönlendirilir.
    2. Kök sunucu, .tr gibi TLD sunucularına işaret eder.
    3. TLD sunucusu, alan adının yetkili nameserver'larına yönlendirir.
    4. Yetkili sunucu, sorulan kaydın kesin cevabını verir.

    Bu zinciri okumak, DNS delegasyonundaki (yetki devri) kopuklukları bulmak için birebirdir. Örneğin +trace bir aşamada takılıp kalıyor ya da beklenmedik bir sunucuya yöneliyorsa, sorunun tam olarak hangi katmanda olduğunu (registrar'daki yanlış nameserver, eksik glue kaydı ya da yetkili sunucudaki hatalı zone) hemen daraltabilirsiniz. Aşağıdaki tablo, dig'in DNS teşhisinde en çok işe yarayan seçeneklerini derli toplu sunar:

    Seçenekİşlevi
    +shortYalnızca cevap değerlerini gösterir
    +traceÇözüm zincirini kökten yetkiliye izler
    +noall +answerSadece ANSWER bölümünü gösterir
    -x IP-adresiTers (PTR) çözümleme yapar
    +dnssecDNSSEC imza kayıtlarını (RRSIG) getirir
    +tcpSorguyu UDP yerine TCP üzerinden yapar
    +statsSorgu süresi ve sunucu istatistiklerini ekler

    +noall +answer kombinasyonu özellikle günlük kullanımda çok pratiktir; başlık, soru ve istatistik gürültüsünü tamamen kaldırıp size yalnızca kayıtların kendisini verir. Bir sunucunun DNSSEC ile imzalanıp imzalanmadığını merak ediyorsanız dig +dnssec ornek.com çıktısındaki RRSIG satırlarına bakmanız yeterlidir.

    Ters DNS ve Sık Kullanılan İleri Senaryolar#

    dig'in en çok göz ardı edilen ama en değerli kullanımlarından biri ters DNS (PTR) sorgusudur. Bir IP adresinin hangi ana bilgisayar adına çözümlendiğini -x seçeneğiyle öğrenirsiniz. Bu, e-posta sunucularının itibar kontrolünde ve kara listeye düşmemek için kritik öneme sahiptir; çünkü birçok alıcı sunucu, gönderen IP'nin geçerli bir PTR kaydına sahip olmasını şart koşar.

    dig -x 8.8.8.8 +short
    
    dns.google.
    

    Gerçek hayatta sık ihtiyaç duyacağınız bazı ileri sorguları bir arada görelim:

    # Bir alan adının tüm nameserver'larını listele
    dig ornek.com NS +short
    
    # DKIM anahtarını doğrula
    dig secici._domainkey.ornek.com TXT +short
    
    # TTL değerini görmek için ANSWER bölümünü sadeleştir
    dig ornek.com A +noall +answer
    
    # Bir kaydı belirli yetkili sunucudan, TCP üzerinden çek
    dig ornek.com A @ns1.saglayici.com +tcp
    
    # Toplu kontrol: birden fazla alan adını tek seferde sorgula
    dig +short a.com b.com c.com
    

    Bu senaryolar, günlük yönetim işlerinizin büyük kısmını karşılar. Örneğin bir müşterinin e-postaları teslim edilmiyorsa önce dig MX, ardından dig TXT ile SPF kaydını, sonra dig -x ile gönderen IP'nin PTR kaydını sırayla kontrol ederek sorunu birkaç dakikada daraltabilirsiniz. Alan adı, DNS ve barındırma altyapınızı tek çatı altında yönetmek isterseniz alan adı ve hosting hizmetlerimiz bu tür kontrolleri sizin yerinize sadeleştiren bir panel sunar. Daha ileri düzey DNS ve sunucu tarafı ihtiyaçlarınız için sunucu yönetimi ekibimiz de yanınızdadır.

    Sıkça Sorulan Sorular#

    dig komutu hangi işletim sistemlerinde çalışır?#

    Bu araç başta Linux ve macOS olmak üzere çoğu Unix türevi sistemde yerleşik olarak ya da tek bir paket kurulumuyla gelir. Debian/Ubuntu'da dnsutils, Red Hat türevlerinde bind-utils paketiyle kurulur. Windows'ta doğrudan gelmez; ancak WSL (Windows Subsystem for Linux) üzerinden ya da BIND araç setini kurarak Windows'ta da kullanabilirsiniz. Windows'un yerleşik alternatifi nslookup komutudur, fakat dig çok daha ayrıntılı ve okunması kolay çıktı verir.

    dig ile nslookup arasındaki fark nedir?#

    İkisi de DNS sorgulaması yapar, ancak dig betikleştirmeye ve ayrıntılı teşhise çok daha uygundur. dig çıktısı ham DNS kayıtlarını olduğu gibi gösterir; TTL, bayraklar, yetki bölümü gibi ayrıntıları saklamaz. nslookup ise daha çok interaktif ve basit kullanım için tasarlanmıştır, çıktısı da sadeleştirilmiştir. Bir sistem yöneticisi için dig, özellikle +short, @sunucu ve +trace gibi seçenekleri sayesinde çok daha güçlü bir araçtır.

    Kayıt değişikliğim neden dig ile hemen görünmüyor?#

    Çünkü sorguladığınız çözümleyici muhtemelen kaydın eski değerini TTL süresi boyunca önbellekte tutuyordur. Değişikliğin kaynağa gerçekten işlenip işlenmediğini görmek için doğrudan yetkili sunucuya sorun: önce dig ornek.com NS +short ile yetkili sunucuyu bulun, sonra dig ornek.com A @ns1.saglayici.com ile ona doğrudan sorun. Yetkili sunucu yeni değeri gösteriyorsa değişiklik yerleşmiştir; herkese açık çözümleyicilerdeki gecikme yalnızca TTL'nin dolmasını bekliyordur.

    dig ile bir e-posta sorununu nasıl teşhis ederim?#

    Sırayla üç sorgu çoğu sorunu ortaya çıkarır. Önce dig ornek.com MX +short ile posta sunucularının doğru tanımlandığını, ardından dig ornek.com TXT +short ile SPF kaydının varlığını ve doğruluğunu, son olarak dig -x GONDEREN_IP +short ile gönderen sunucunun geçerli bir ters (PTR) kaydı olup olmadığını kontrol edin. Bu üç adım; teslim edilmeme, spam klasörüne düşme ve kimlik doğrulama başarısızlığı gibi en yaygın e-posta problemlerinin büyük çoğunluğunu kapsar.

    +short ve +trace seçeneklerini birlikte kullanabilir miyim?#

    Hayır, bu ikisi farklı amaçlara hizmet ettiği için birlikte anlamlı çalışmaz. +short çıktıyı yalnızca son cevaba indirger, +trace ise tam tersine her ara adımı ayrıntılı gösterir; dolayısıyla +trace kullandığınızda +short etkisiz kalır. Zincirin tamamını izlemek istiyorsanız +trace, yalnızca nihai sonucu betikte kullanmak istiyorsanız +short tercih edin. Çıktıyı sadece belirli bir bölüme daraltmak istediğinizde ise +noall +answer kombinasyonu daha uygun bir orta yoldur.

    dig sorgusu neden SERVFAIL veya NXDOMAIN döndürür?#

    NXDOMAIN durumu, sorduğunuz alan adının ya da alt alan adının hiç var olmadığı anlamına gelir; genellikle yazım hatası ya da henüz oluşturulmamış bir kayıt söz konusudur. SERVFAIL ise sorgulanan sunucunun cevap üretemediğini gösterir; bunun tipik nedenleri hatalı DNSSEC imzaları, ulaşılamayan yetkili sunucular ya da bozuk bir zone yapılandırmasıdır. SERVFAIL aldığınızda sorguyu +trace ile tekrarlayıp zincirin hangi adımında koptuğunu bulmak, sorunu daraltmanın en hızlı yoludur.

    Kapanış#

    dig, DNS dünyasında yolunuzu bulmanızı sağlayan bir pusuladır. Temel bir A kaydı sorgusundan +trace ile tüm çözüm zincirini izlemeye, @sunucu ile belirli bir çözümleyiciyi hedeflemekten -x ile ters DNS kontrolüne kadar öğrendiğiniz her seçenek, bir DNS sorununu teşhis ederken elinizi güçlendirir. Çıktının ANSWER, AUTHORITY ve ADDITIONAL bölümlerini rahatça okuyabildiğinizde, artık "site açılmıyor" ya da "e-postalar gitmiyor" gibi belirsiz şikâyetleri dakikalar içinde somut bir kök nedene indirgeyebilirsiniz.

    Bu araçları düzenli kullanmak, DNS'i bir kara kutu olmaktan çıkarıp tamamen görünür kılar. Kayıtlarınızı güvenle yönetebileceğiniz sezgisel bir DNS paneli, hızlı hosting çözümleri, ölçeklenebilir sunucu altyapısı ve kayıtlarınızı zahmetsizce takip edeceğiniz bir alan adı yönetimi için Clou.TR yanınızda. Sunucularınızın günlük bakımını bize devretmek isterseniz sunucu yönetimi hizmetimizle teknik yükü omuzlarınızdan alır, siz işinize odaklanırsınız.

    DNSdigTerminal

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.