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. bind9-1 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. bind9-2 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. bind9-3 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 bind9-4 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. bind9-5 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. bind9-6 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. bind9-7 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. bind9-8 şimdi ise sudo nano /etc/resolv.conf   bu dosyayı düzenlememiz lazım . bind9-9 nedeni ise kensine gelen sorgulara cevaplaması içindir. görüldüğü gibi nameserver 127.0.0.1 yazılması ve kaydedilmesi gerekiyor. bind9-10 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. bind9-11 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. bind9-12 ş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. bind9-13 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 }; bind9-14 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. bind9-15 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. bind9-16 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,