Merhaaba Arkadaşlar,
Debian'cı olarak sizlere Ubuntu üzerinde DNS server nasıl kurulur ayarları nasıl yapılır, bunlardan bahsedeceğim. Aranızda biz bunu Microsoft Windows üzerinde zaten yapıyoruz diyebilirsiniz, fakat Linux server'de bu işi lisans bedeli ödemeden ve daha kararlı minimum donanım maliyetiyle bu işi çözebilirsiniz , gerçekten kararlı ve stabil çalışıyor nerdeyse tüm ISP firmaları bu işi Linux üzerinde yapıyor(Centos, Redhat, Ubuntu, Suse) kullanıyor.
Daha Çok Ubuntu 'yu benimsediğim için bazı çözümlerimde hep ubuntu'yu kullanmışımdır.
Ubuntu kurulumunu ,kurduğunuzu varsayarak hemen anlatıma geçiyorum.

klavye kısayolların'dan ctrl -alt - x yaparak bir komut satırı gelecektir
sudo apt-get install bind9 dnsutils yazdım ve enter tuşuna basarak onayladım paketleri buldu ve kurmak için benden onay istedi, elbetteki kurulum yapması için onay verdik.
hemen ardından komut satırına
sudo nano /etc/bind/named.conf yazıyoruz.

DNS sunucumuzda hizmetini vereceğimiz alan adını burda oluşturuyoruz.
mesela ben aşağıda kendi alan adım için bir zone açtım sonra database yolunu gösterdim şuanda öyle bir database yok ama diğer adımda yaratacağım.

aşağıda yaptığım iş ise
sudo mkdir /etc/bind/zones; ==> zones adında bir klasör oluşturuyorumki her alan adı için bir db oluşturabileyim. bütün alan adlarının db leri ayrı ayrı açıldığı için bir klasörde topluyoruz.
sudo touch /etc/bind/zones/cemburakengin.com.db; şimdi kayıtların açılacağı db (database) oluşturdum

sudo nano /etc/bind/zones/cemburakengin.com.db burda ise nano komutumuzla düzenlemek için oluşturduğum db yi açıyorum.
normalde içi boş gelir ben aşağıdaki gibi yazıyorum. cemburakengin.com alan adıyla ilgili bütün A , Mx , Cname , ns kayıtlarını burada yazıyoruz'ki herhangi bir yönlendirmede buradan okuyacak bir diğer konu ise subdomain'de burada oluşturabiliyoruz.
örnek olarak benim cemburakengin.com bir domain test.cemburakengin.com sub domaindir. bir A kaydı açıp
www.test.cemburakengin.com 8.8.8.8 ip sine yönlendirebiliriz.

bu iki resimdeki içerikten bahsetmek istiyorum, ns1.cemburakengin.com bu NameServer anlamına gelir ve dünyada sorgular'la muhatap sunucudur. genellikle 2 adet ns sunucusu kurulur nedeni ise ns1.cemburakengin.com sunucusuna erişilmediği zaman ns2.cemburakengin.com sunucusundan devam edilsin. ben burada tek sunucu yaptım ve ns2.cemburakengin.com adresinide aynı ip'ye yönlendirdim yani aynı sunucuya yönlendirdim, aslında tavsiye edilmez böyle bir sistem kurmaya karar verdiyseniz ayrı bir ip de ve ayrı bir lokasyonda birer adet sunucu kurulur.
farkettinizmi bilmiyorum 2013091501 diye bir numara var bu numara aslında bir seri no olarak düşünün her oluşturduğunuz yeni kayıtta son numarasını birer şekilde arttırın çünkü diğer sunucular sizden yeni kayıt oluştuğu bilgisini alabilsin.
bu seri no yıl/ay/gün/NO şeklinde yapılır tabiki yeni bir a kaydı açtığınızda öğünün yılı ay ve gün ne ise onuda güncellemelisiniz.
root.cemburakengin.com ise aslında bu DNS sunucusu
root@cemburakengin.com mail hesabına sahip farklı sorunlarda 3. firmalar bu mail hesabında sizinle iletişime geçmesi için kullanırlar.
aşağıdaki resimde gördüğünüz gibi bir SubDomain kaydı örneğide oluşturulmuştur.

yukardaki resimdeki kayıtlardan sonra kaydedip çıkıyoruz şimdi doğru çalışıp çalışmadığını kontrol etmek için
aşağıdaki gördüğünüz gibi
sudo named-checkzone cemburakengin.com /etc/bind/zones/cemburakengin.com.db; yazdıktan sonra aşağıdaki gibi OK görüyorsanız sorunsuz kaydı açmış bulundunuz demektir.

bu işlemden sonra hemen DNS servisini bir yeniden başlatmamız gerekiyor.
sudo /etc/init.d/bind9 force-reload; görüldüğü gibi OK bilgisini aldık.

şimdi ise
sudo nano /etc/resolv.conf bu dosyayı düzenlememiz lazım .

nedeni ise kensine gelen sorgulara cevaplaması içindir.
görüldüğü gibi
nameserver 127.0.0.1 yazılması ve kaydedilmesi gerekiyor.

hemen ardından bir sorgu çekiyorum
nslookup cemburakengin.com;
aşağıdaki gibi bir çıktı alacaksanız kendisinde bulunduğunu ve 53 Nolu port'tan yayın yaptığını yazıyor.

birde yeni bir kod komut ile çalışıp çalışmadığını ayrıca bir kontrol ediyorum bunun için ise
dig cemburakengin.com bunu yazınca aşağıdaki gibi bir çıktı alırsınız.
görüldüğü gibi hiç bir sıkıntı yok ve tüm kayıtların geldiğini görüyorsunuz.

şimdi ise bir forward işlemi yapacağız olurda kendi sunucusu üzerinde olmayan bir alan adı sorgusu gelirse dışarıya sormak için bu işlemi yapmamız gerekiyor bunun adına Forwarders denir.
sudo nano /etc/bind/named.conf yazılması üzerine bir dosya gelecektir.

aşağıda görüldüğü üzere
forwarders {
195.175.39.39; //türktelekom 1.dns sunucusu
195.175.39.40; // türktelekom 2.dns sunucusu
};

yukardada belirttiğim gibi kendisine sorgu geldiğinde ve sorgunun kaydı kendisinde yok ise dış dünyadaki başka sunucuya sormak için bu yolu kullanır.
örnek olarak kurduğumuz sunucuya
www.hotmail.com adresinin sorgusu geldiğinde ilk önce kendi kayıtlarına bakacak yok ise hemen türktelekom dns sunucusuna sorguyu gönderecek ve türktelekom sunucularından gelen cevabı alıp client'e yollaycaktır.
gördüğünüz gibi ubuntunun ip si ve benim clientimin ipsi farkettinizmi bilmiyorum ama UBUNTU Bind Sunucumun ip sini kullandığım kişisel bilgisayarımda dns ip bölümüne girdim çünkü artık ben tüm sorgularımı bu sunucuyu kullanarak yapacağım.

aşağıda görüldüğü gibi önce bir CMD satırı açtım ve ping
www.cemburakengin.com adresine ping attım sunucuda açtığım kaydın bilgisi geldi.
ping
www.test.cemburakengin.com adresine ping atınca yine sunucuda açtığım kaydın bilgilerinin geldiğini görmektesiniz.

Evet... bir makalemin'de sonuna gelmiş bulunmaktayım umarım faydalı olur, DNS konusu gerçekten önemli bir konu ve gerçekten geniş kapsamlı bir konudur. .
selamlar,