Bir alan adının hangi IP adresine gittiğini, e-postaların hangi sunucuya teslim edildiğini ya da yeni yaptığınız bir DNS değişikliğinin dünyaya yayılıp yayılmadığını merak ettiğinizde ilk uzanacağınız araç genellikle nslookup olur. Adı "name server lookup" ifadesinden gelir ve tam olarak bunu yapar: bir isim sunucusuna gidip "şu alan adının şu kaydı nedir?" diye sorar, cevabı size ham haliyle gösterir. Grafiksel bir panel açmadan, tarayıcı önbelleğine takılmadan, doğrudan DNS'in kendisiyle konuşursunuz.
nslookup'ın en büyük avantajı her yerde bulunmasıdır. Windows'un tüm sürümlerinde, macOS'ta ve neredeyse tüm Linux dağıtımlarında kutudan çıktığı gibi gelir; ekstra bir şey kurmanız gerekmez. Bu yüzden bir müşterinin makinesinde, bir kurumsal sunucuda ya da uzaktan bağlandığınız bir VPS'te "acaba bu araç var mı?" diye düşünmeden hemen kullanabilirsiniz. Bu yazıda kıdemli bir sistem yöneticisinin bakış açısıyla nslookup'ın temel ve ileri kullanımını, kayıt tipi seçmeyi, belirli bir DNS sunucusuna soru sormayı, interaktif modu ve dig ile arasındaki farkları gerçek örnekler üzerinden anlatacağım.
nslookup Nedir ve Nasıl Çalışır#
nslookup, DNS çözümlemesini komut satırından test etmenize yarayan bir istemci aracıdır. Siz bir alan adı yazdığınızda arka planda şu olur: araç, sisteminizde tanımlı DNS çözümleyiciye (resolver) bir sorgu paketi gönderir, çözümleyici bu cevabı kendi önbelleğinden ya da yetkili (authoritative) sunuculardan getirir ve nslookup size sonucu yazdırır. Yani nslookup'ın kendisi DNS kayıtlarını tutmaz; sadece soruyu sorup gelen cevabı gösteren bir arayüzdür.
DNS'in genel mantığını hiç görmediyseniz önce DNS nedir yazısına göz atmanızı öneririm; alan adı, kayıt tipleri ve çözümleme zinciri orada baştan anlatılıyor. Burada varsayımım, en azından "alan adı → IP" dönüşümünün ne olduğunu bildiğiniz yönünde.
Bir noktayı baştan netleştirelim çünkü çok soru gelir: nslookup çoğunlukla yerel çözümleyicinizden cevap alır ve bu cevap önbellekli olabilir. Yani bir kaydı yeni değiştirdiyseniz, nslookup size hâlâ eski değeri gösterebilir. Bu araç bir hata değildir; sadece internetin gerçekliğini yansıtır. Eski değere takılıyorsanız ya yetkili sunucuya doğrudan soracaksınız (aşağıda anlatıyorum) ya da yerel önbelleği temizleyeceksiniz; bunun için DNS önbellek temizleme yazısı adım adım yardımcı olur.
nslookup'ı Çalıştırmak (Windows ve Linux)#
Windows tarafında en hızlı yol, Başlat menüsüne cmd yazıp Komut İstemi'ni açmaktır. PowerShell de sorunsuz çalışır. Linux ve macOS'ta ise doğrudan terminali açmanız yeterli. Her iki dünyada da komutun temel biçimi aynıdır.
nslookup clou.tr
Bu komut şuna benzer bir çıktı verir:
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: clou.tr
Address: 203.0.113.24
Linux'ta nslookup bazı minimal dağıtımlarda varsayılan gelmez. Debian/Ubuntu ailesinde dnsutils, RHEL/AlmaLinux/Rocky ailesinde bind-utils paketiyle kurulur. Bir sunucuya bağlandınız ve komut "not found" diyorsa hızlıca şunu yapın:
# Debian / Ubuntu
sudo apt update && sudo apt install -y dnsutils
# AlmaLinux / Rocky / RHEL
sudo dnf install -y bind-utils
Kurulumdan sonra komut aynı şekilde çalışır. Sunucularınızın yönetiminde bu tür temel araçları önceden hazır tutmak zaman kazandırır; kendi altyapınızı kurarken sunucu yönetimi hizmetimiz bu tip küçük ama kritik ayarları da kapsar.
Temel Sorgular ve Çıktının Anlamı#
nslookup çıktısındaki her satırın bir anlamı var ve bunları okumayı öğrenmek işin yarısıdır. İlk iki satırdaki Server ve Address, sorunuzu hangi DNS sunucusunun yanıtladığını söyler. Yukarıdaki örnekte 192.168.1.1, muhtemelen ev/ofis yönlendiricinizdir ve dış dünyaya sizin adınıza sorar.
En kritik ifade "Non-authoritative answer" satırıdır. Bu, cevabın yetkili sunucudan değil, çözümleyicinin önbelleğinden geldiğini gösterir. Yani bilgi doğru olabilir ama tazeliğinin garantisi yoktur. Tam tersine, cevabın başında bu ibare yoksa ve doğrudan yetkili sunucuya sormuşsanız, o veri kaynaktan gelen en güncel değerdir. Bir DNS değişikliğini kontrol ederken bu ayrımı gözden kaçırmak, "değişiklik yayılmadı" gibi yanlış bir sonuca varmanıza yol açar.
Ters sorgu (reverse lookup) da temel kullanımlardan biridir. Elinizdeki bir IP adresinin hangi isme çözüldüğünü öğrenmek için doğrudan IP'yi verirsiniz:
nslookup 203.0.113.24
Bu, PTR kaydını sorgular ve genelde e-posta sunucularının itibar kontrolünde ya da bir bağlantının nereden geldiğini anlamada işe yarar. Kendi mail sunucunuzu işletiyorsanız PTR/rDNS kaydınızın alan adınızla uyumlu olması teslim edilebilirlik açısından önemlidir; e-posta çözümlerimizde bu kayıtlar zaten doğru yapılandırılmış gelir.
Kayıt Tipi Seçmek (MX, A, TXT ve Diğerleri)#
nslookup varsayılan olarak A (ve ortam destekliyse AAAA) kaydını getirir, ama DNS çok daha fazla kayıt tipi barındırır. E-posta yönlendirmesini görmek için MX, alan adının sahiplik/doğrulama kayıtları için TXT, hangi sunucuların yetkili olduğunu görmek için NS kaydına bakmanız gerekir. İşte burada kayıt tipi seçimi devreye girer.
Windows'ta ve interaktif modda kayıt tipini set type= ile belirlersiniz. Tek satırlık (non-interaktif) kullanımda ise -type= ön eki daha pratiktir:
# E-posta (MX) kayıtları
nslookup -type=MX clou.tr
# TXT kayıtları (SPF, DKIM doğrulama, alan adı sahiplik kanıtı)
nslookup -type=TXT clou.tr
# Yetkili isim sunucuları
nslookup -type=NS clou.tr
# IPv6 adresi
nslookup -type=AAAA clou.tr
# Takma ad zinciri
nslookup -type=CNAME www.clou.tr
# Bölge yönetim bilgisi (seri no, TTL değerleri)
nslookup -type=SOA clou.tr
MX sorgusunun çıktısı şuna benzer ve preference (öncelik) değeri küçük olan sunucu önce denenir:
clou.tr MX preference = 10, mail exchanger = mail.clou.tr
clou.tr MX preference = 20, mail exchanger = mail2.clou.tr
Aşağıdaki tablo en sık kullanacağınız kayıt tiplerini ve neye baktığınızı özetliyor:
| Kayıt Tipi | Ne Sorar | Tipik Kullanım |
|---|---|---|
| A | Alan adının IPv4 adresi | Site hangi sunucuda çalışıyor |
| AAAA | Alan adının IPv6 adresi | IPv6 erişilebilirliği |
| MX | E-posta sunucusu | Mail teslim rotası |
| TXT | Serbest metin kayıtları | SPF, DKIM, alan doğrulama |
| NS | Yetkili isim sunucuları | Delegasyon kontrolü |
| CNAME | Takma ad hedefi | www → kök yönlendirmesi |
| SOA | Bölge otoritesi bilgisi | TTL ve seri numarası |
| PTR | IP → isim | Ters çözümleme, rDNS |
SPF ve DKIM gibi TXT tabanlı kayıtları doğru okumak, e-posta güvenliğinizin de doğru çalıştığını gösterir. Bir alan adı satın alırken ya da taşırken bu kayıtların düzgün geçtiğini nslookup ile teyit etmek iyi bir alışkanlıktır; alan adı ve site taşıma süreçlerinde bu kontrolü hep yaparım.
Belirli Bir DNS Sunucusuna Sorgu Yapmak#
nslookup'ın gerçek gücü, sorgunuzu istediğiniz DNS sunucusuna yöneltebilmenizde ortaya çıkar. Varsayılan olarak sisteminizdeki çözümleyiciye sorar; ama siz "yerel çözümleyicimi bir kenara bırak, doğrudan Google'ın 8.8.8.8'ine ya da alan adının yetkili sunucusuna sor" diyebilirsiniz. Bunu yapmak için komutun sonuna sunucu adresini eklersiniz:
# Google Public DNS üzerinden sor
nslookup clou.tr 8.8.8.8
# Cloudflare DNS üzerinden sor
nslookup clou.tr 1.1.1.1
# Belirli bir kayıt tipini belirli bir sunucudan sor
nslookup -type=MX clou.tr 8.8.8.8
Bu neden çok önemli? Çünkü DNS yayılımını (propagation) test etmenin en dürüst yolu budur. Bir kaydı değiştirdiniz, yerel çözümleyiciniz eski değeri önbellekte tutuyor olabilir. Ama farklı sağlayıcıların DNS sunucularına tek tek sorarsanız, değişikliğin dünya genelinde ne kadar yayıldığını görürsünüz. Bir sunucu yeni değeri, diğeri eski değeri gösteriyorsa yayılım henüz tamamlanmamış demektir; hepsi yeni değeri gösteriyorsa iş bitmiştir.
En güvenilir teyit ise doğrudan alan adının yetkili sunucusuna sormaktır, çünkü orada asla önbellek gecikmesi olmaz. Önce yetkili sunucuyu bulun, sonra ona sorun:
# 1) Yetkili sunucuları öğren
nslookup -type=NS clou.tr
# 2) Dönen isim sunucusuna doğrudan sor
nslookup clou.tr ns1.clou.tr
Bu yanıt "Non-authoritative answer" ibaresi olmadan gelir; işte o an elinizdeki en taze, kaynaktan gelen değerdir. Yeni bir SSL sertifikası için alan doğrulaması yaparken ya da WordPress sitenizi yeni sunucuya taşıdıktan sonra bu kontrolü mutlaka yaparım.
İnteraktif Mod#
nslookup'ı hiçbir argüman vermeden çalıştırırsanız interaktif moda girer. Bu modda araç açık kalır, siz peş peşe komut girersiniz ve her seferinde baştan yazmak zorunda kalmazsınız. Özellikle bir oturumda çok sayıda kayıt kontrol edecekseniz çok verimlidir. Moda girmek için sadece komutu yazın:
nslookup
Karşınıza bir > istemi gelir. Buradan ayarları bir kez yapıp birden fazla alan adını art arda sorgulayabilirsiniz:
> server 1.1.1.1
Default server: 1.1.1.1
Address: 1.1.1.1#53
> set type=MX
> clou.tr
> example.com
> set type=A
> www.clou.tr
> exit
İnteraktif modda sık kullanılan komutlar şunlar: server <adres> sorulacak DNS sunucusunu değiştirir, set type=<tip> kayıt tipini ayarlar, set debug cevabın tüm ayrıntılarını (TTL, bayraklar, ek bölümler) açar ve exit moddan çıkar. set debug özellikle bir kaydın TTL süresini görmek için değerlidir; TTL, o kaydın çözümleyicilerde ne kadar önbellekte kalacağını söyler ve yayılım süresini doğrudan etkiler.
Debug açıkken çıktı çok daha zengin gelir ve ttl satırını görürsünüz. Kritik bir değişiklik planlıyorsanız, değişiklikten önce TTL'yi düşürmek (örneğin 300 saniyeye) geçişi çok daha hızlı hâle getirir; bu klasik bir yönetici taktiğidir. Kendi sanal sunucunuzu yönetiyorsanız bu tür ince ayarları rahatça yapabilirsiniz; VDS ve sanal sunucu çözümlerimiz tam kontrol sunar.
nslookup mı dig mi#
Linux ve macOS dünyasında nslookup'ın güçlü bir rakibi vardır: dig (Domain Information Groper). İkisi de DNS sorgular ama yaklaşımları farklıdır. nslookup daha "insan dostu" ve her platformda mevcuttur; dig ise daha ayrıntılı, betiklemeye (scripting) uygun ve DNS'in ham cevabını olduğu gibi gösterir. Kıdemli yöneticiler genellikle Linux üzerinde dig'i tercih eder çünkü çıktısı daha kesin ve ayrıştırması kolaydır.
Aynı sorgunun iki araçtaki hâli şöyle görünür:
# nslookup ile
nslookup -type=MX clou.tr
# dig ile aynısı
dig clou.tr MX +short
dig ... +short yalnızca değerin kendisini döndürür ki bu betiklerde altın değerindedir. Aşağıdaki tablo iki aracı pratik açıdan karşılaştırıyor:
| Kriter | nslookup | dig |
|---|---|---|
| Windows'ta var mı | Evet, varsayılan | Hayır (ayrı kurulum) |
| Linux/macOS'ta var mı | Genelde evet | bind-utils/dnsutils ile |
| Çıktı ayrıntısı | Orta, sadeleştirilmiş | Yüksek, ham DNS |
| Betiklemeye uygunluk | Orta | Yüksek (+short, +noall) |
| Öğrenme kolaylığı | Kolay | Biraz daha teknik |
| Kayıt tipi seçimi | set type / -type | komut sonunda tip |
Pratik kuralım şu: Windows makinesindeyim ya da hızlı bir kontrol yapıyorsam nslookup. Bir Linux sunucusundayım, otomasyon yazıyorum ya da bir DNSSEC/CNAME zincirini ince ince incelemem gerekiyorsa dig. İkisini de bilmek en iyisidir çünkü hangi makinenin başına oturacağınızı önceden bilemezsiniz. Sağlam bir DNS altyapısı, iyi bir SSL ve WAF yapılandırmasıyla birleştiğinde sitenizin hem erişilebilirliğini hem güvenliğini bir arada korur.
Sık Karşılaşılan Sorunlar ve İpuçları#
En sık gelen şikayet "değişikliği yaptım ama nslookup eski değeri gösteriyor" cümlesidir. Neredeyse her zaman sebebi önbellektir. Çözüm iki adımlıdır: önce yetkili sunucuya doğrudan sorun (yeni değer orada görünüyorsa değişikliğiniz gerçekten yapılmıştır), sonra yerel önbelleği temizleyin. Windows'ta bunun için ipconfig /flushdns komutu kullanılır; ayrıntılar için DNS önbellek temizleme yazısına bakın.
İkinci sık durum "server can't find alan.adi: NXDOMAIN" mesajıdır. NXDOMAIN, sorduğunuz ismin hiç var olmadığı anlamına gelir; ya alan adı yanlış yazılmıştır ya da o kayıt gerçekten tanımlı değildir. Bunu "SERVFAIL" ile karıştırmayın: SERVFAIL, ismin var olabileceğini ama sunucunun cevabı üretemediğini (çoğunlukla DNSSEC hatası ya da yetkili sunucu arızası) gösterir. İki mesaj tamamen farklı yerlere bakmanızı gerektirir.
Bir başka faydalı ipucu, alan adının sonuna nokta koymaktır. clou.tr. yazdığınızda (sondaki nokta ile) araç bunu tam nitelikli isim (FQDN) kabul eder ve sisteminizdeki "search domain" son eklerini eklemeye çalışmaz. Kurumsal ağlarda beklenmedik sonuçları bu küçük nokta çözer. Son olarak, nslookup'ın bazı sürümlerinde ters sorgular ya da IPv6 için -type=PTR ve -type=AAAA biçimini açıkça belirtmek, ortama göre daha tutarlı sonuç verir. Yoğun trafikli sitelerinizde erişimi düzenli izlemek isterseniz Clou.TR panelindeki uptime ve durum araçları da bu sorguları sizin adınıza otomatik yapar; ek araçlar sayfasından pratik DNS yardımcılarına da bakabilirsiniz.
Sıkça Sorulan Sorular#
nslookup Windows'ta neden farklı çalışıyor gibi görünüyor?#
Aslında temel davranış aynıdır ama Windows sürümü kayıt tipini set type= ile alışkanlık hâline getirdiği için farklı hissettirir. Windows'ta hem tek satırlık nslookup -type=MX clou.tr hem de interaktif modda set type=MX çalışır. Linux'ta da ikisi geçerlidir; fark araçtan çok kullanım alışkanlığındandır. İkisinin de aynı DNS protokolünü konuştuğunu unutmayın.
nslookup neden hâlâ eski IP adresini gösteriyor?#
Çünkü büyük olasılıkla cevap yerel çözümleyicinizin önbelleğinden geliyor ve o kaydın TTL süresi henüz dolmadı. Bunu doğrulamak için sorgunuzu alan adının yetkili sunucusuna yöneltin; oradaki değer yeni ise değişiklik gerçekten yapılmıştır ve yalnızca yayılımın tamamlanmasını beklemeniz gerekir. Yerel tarafta ise DNS önbelleğini temizlemek gösterilen değeri hızla tazeler.
MX kayıtlarını nslookup ile nasıl görürüm?#
Kayıt tipini MX olarak belirleyip alan adını sorgulamanız yeterlidir. Komut satırında nslookup -type=MX clou.tr yazın; çıktıda her posta sunucusu için bir preference (öncelik) değeri ve mail exchanger adı görürsünüz. Öncelik değeri düşük olan sunucu e-posta tesliminde önce denenir, o başarısız olursa sıradaki devreye girer.
nslookup ile dig arasındaki fark nedir, hangisini kullanmalıyım?#
nslookup her platformda hazır bulunur ve hızlı, sade kontroller için idealdir; dig ise daha ayrıntılı çıktı verir ve betiklemeye çok daha uygundur. Windows'ta ya da hızlı bir bakış için nslookup, Linux sunucularında derin analiz veya otomasyon için dig tercih edilir. İkisi de aynı DNS verisini sorgular, yalnızca sunuş ve esneklik düzeyleri farklıdır.
Belirli bir DNS sunucusuna nasıl sorgu yaparım?#
Komutun en sonuna sormak istediğiniz DNS sunucusunun adresini eklemeniz yeterlidir. Örneğin nslookup clou.tr 8.8.8.8 sorguyu Google Public DNS'e, nslookup clou.tr 1.1.1.1 ise Cloudflare'e yöneltir. Bu yöntem DNS yayılımını test etmenin en pratik yoludur; farklı sağlayıcıların ne gösterdiğini karşılaştırarak değişikliğinizin ne kadar yayıldığını anlarsınız.
nslookup "NXDOMAIN" hatası veriyor, ne anlama gelir?#
NXDOMAIN, sorduğunuz alan adının veya alt alan adının DNS'te hiç tanımlı olmadığını söyler. Genellikle bir yazım hatası ya da gerçekten var olmayan bir kayıt sebebiyle karşılaşırsınız. Önce ismi harf harf kontrol edin, sonra ilgili kaydın DNS yönetim panelinizde tanımlı olduğundan emin olun. Bu hatayı, "kayıt var ama sunucu cevap üretemedi" anlamına gelen SERVFAIL ile karıştırmayın.
Kapanış#
nslookup, DNS ile ilgili her türlü sorunun ilk teşhis aracıdır: alan adının doğru IP'ye gidip gitmediğini, e-postaların doğru sunucuya yönlendiğini, yaptığınız bir değişikliğin yayılıp yayılmadığını saniyeler içinde gösterir. Kayıt tipini seçmeyi (set type / -type), belirli bir sunucuya sormayı ve interaktif modu öğrendiğinizde, artık DNS bir "kara kutu" olmaktan çıkar ve tam olarak neyin nerede olduğunu görürsünüz. dig'i de cebinizde bulundurmak, hangi makinenin başına geçerseniz geçin sizi rahat ettirir.
Sağlam bir web varlığının temelinde doğru yapılandırılmış DNS, güvenilir sunucular ve iyi bir barındırma altyapısı yatar. Clou.TR olarak bu tarafı sizin için baştan doğru kuruyoruz: hızlı ve yönetimli web hosting, tam kontrol sunan sunucu çözümleri, kolay alan adı yönetimi ve gerektiğinde uzman sunucu yönetimi desteği bir arada. DNS kayıtlarınızı biz devreye alalım, siz işinize odaklanın; yeni bir projeye başlıyorsanız ürün sayfalarımıza göz atın ve ihtiyacınıza en uygun paketi birlikte belirleyelim.