Ara 11

DNS Sunucusunun kurulumu
Şimdi asıl DNS sunucusu olarak kullanacağımız Bind9′u kurabiliriz. Bind ile beraber yazdığımız “zone” dosyalarını kontrol etmek için kullanabileceğimiz komutları getirecek “dnsutils” paketini de kuruyoruz.

apt-get install bind9 dnsutils

Bind kurulduktan sonra /etc/bind klasörüne giderek named.conf.local isimli dosyaya, DNS sunucumuza yönlendireceğimiz alan adlarımızı tanımlayacağız. Yapacağımız bu işleme aslında “zone eklemek” deniyor.

nano /etc/bind/named.conf.local;

Açtığımız bu dosyaya aşağıda example.com alan adı için hazırladığım kodu, kendi alan adınıza uyarlayarak ekleyin.

zone "example.com" {
        type master;
        file "/etc/bind/zones/example.com.db";
        notify yes;
};

Bu tanım ile “example.com” alan adı için bizim DNS sunucumuzun “master” (ana, birincil) DNS sunucusu olduğunu belirtiyoruz. Burada sadece alan adımız için bir işaret koymuş olduk aslında. Asıl DNS tanımlarını example.com.db dosyasında yapacağız. Şimdi /etc/bind/ altında alan adı DNS tanımlarımızı tutacağımız “zones” isimli klasörü oluşturalım. (“zones” ismini ben seçtim, yukarıdaki ayarda da değiştirmek şartıyla istediğiniz ismi verebilirsiniz.)

mkdir /etc/bind/zones;
touch /etc/bind/zones/example.com.db;

Bu komutla zones klasörünün yanında example.com için DNS ayarlarımızı yazacağımız example.com.db dosyasını da oluşturduk. example.com.db içine kendi IP ve alan adınızı ilgili yerlerde değiştirerek aşağıdaki temel DNS ayarlarını girebilirsiniz. Bu ayarların anlamlarını kısaca aşağıda anlatacağım.

$TTL 86400
@   IN  SOA ns1.example.com. root.example.com. (
             2008120601
             8H
             2H
             4W
             1D )
         IN      NS      ns1.example.com.
         IN      NS      ns2.example.com.
         IN      MX      10 mail.example.com.
 
example.com. A   192.168.1.100
ns1     IN  A   192.168.1.100
ns2     IN  A   192.168.1.100
mail        IN  A   192.168.1.100
www     CNAME   example.com.
ftp     CNAME   example.com.
 
; subdomain [test.example.com] entry
test.example.com.      IN A   192.168.1.100
www.test.example.com.      IN A   192.168.1.100
ftp.test.example.com.      IN A   192.168.1.100

İkinci satırda, temel ns adresinizi ve DNS için bir e-mail adresi giriyorsunuz. (root.example.com=root@example.com).
Üçüncü satırdaki “2008120601″ rakamı “Serial” denilen bu tanım için verilmiş bir seri numarası. Bu seri numarası başka DNS sunucularının daha önceden varolan alan adları için yeni ayarlar yapıldığında hangi ayarın daha yeni olduğunu anlaması için kullanılıyor. Genelde Yıl-ay-gün ve 2 rakamlı bir sıra no yazarak bu seri numarasını verirler, sizin de öyle yapmanız DNS üzerinde yaptığınız değişikliklerin tüm dünyada daha kısa sürede aktif hale gelmesi için etkili olabilir. DNS ayarlarınız üzerinde değişiklik yaptığınızda seri numarasını artırmanızı da tavsiye ederim.

4 ile 7. satırlar arası DNS ayarının geçerliliği ve başka geçerlilik ayarları ile ilgili bölüm. Biraz uzun bir konu olduğu için geçiyorum. Yazdığım değerleri herhangi bir alan adı için kullanabilirsiniz.

8 ve 9. satırlarda NS kayıtları oluşturuyoruz. İlerleyen satırlarda da (13-14) NS olarak atanan alan adlarının IP karşılığını belirtiyoruz A kayıtı ekleyerek. 10. satırda mail sunucusu için kullanacağımız MX kaydını ekliyoruz. “mail” subdomainini de 15. satırda IP karşılığı ile tanımlıyoruz.

CNAME kayıtları aslında alan adları üzerinde DNS yönlendirdirmesi diyebileceğimiz bir alan adına yönlenen alan adı kayıtları için kullanılır diyebiliriz. Yani x.example.com u bir A kayıtına sahip y.example.com’a yönlendirmek isterseniz, bunu CNAME kayıtı ekleyerek yapabilirsiniz. 16 ve 17. satırlarda da benim yaptığım www denilen subdomaini asıl domain kaydına yönlendirmek. İnternet kullanıcılarının pek çoğu farkında olmasa da “www” aslında bir subdomaindir ve gereksizdir. Sırf alışkanlıkları karşılamak amacıyla, herkes DNS sunucusuna bu kaydı ekliyor.

19. satırdan sonuna kadar da aslında “test.example.com” alan adını tanımlıyorum. Bu alan adı için de “www” ve “ftp” gibi sıkça kullanılan subdomainleri de ekliyorum. Dolayısıyla aslında bir subdomain eklemek için alan adını yazıp karşısına A kaydı olduğunu belirterek IP sini yazmak yeterli.

Dosya ile uğraşırken dikkat etmeniz gereken en önemli iki nokta şunlar :
1) yazılan her alan adının sonunda mutlaka nokta (.) olmalı
2) Yorum satırı eklemek istiyorsanız satır noktalı virgül (;) ile başlamalı.

Dosyayı kaydettikten sonra ayarlarımızda bir sorun olup olmadığını sınamak için dnsutils paketi ile gelen “named-checkzone” komutunu kullanabilirsiniz.

named-checkzone example.com /etc/bind/zones/example.com.db;

Eğer “OK” sonucunu alıyorsanız, dosyanızda en azından yazılış açısından bir sorun yok demektir. 2. bir alan adı eklemek isterseniz yapmanız gereken named.conf.local dosyasına yukarıda yaptığımızın aynısı gibi bir alan adı konfigürasyonu daha eklemek ve zones altında ayrı bir dosya olarak alan adı ayarlarını girmek. Alan adlarımız üzerinde değişiklik yaptıktan sonra DNS sunucumuza ayar dosyalarımızı tekrar yüklemek ya da DNS sunucusunu yeniden başlatmak gerekir. Bunun için aşağıdaki komutu kullanabilirsiniz.

/etc/init.d/bind9 force-reload;

Şimdi yapmamız gereken işletim sistemimizin DNS sunucu ayarlarını (resolv.conf) kendi DNS sunucumuz olacak şekilde düzenlemek. Bunun için /etc/resolv.conf dosyasındaki herşeyi silerek aşağıdaki satırı ekleyebilirsiniz.

nameserver 127.0.0.1

Eklediğiniz alan adlarına DNS sunucunuzun cevap verip vermediğini test etmek için “dig” ve “nslookup” komutlarından faydalanabilirsiniz.

nslookup example.com;
dig example.com;

Şimdi alan adlarınızla ilgili yapmanız gereken alan adınızı satın aldığınız yerde “NS registration” işlemi ile “ns1.example.com” için “192.168.1.100″ adresini NS olarak kaydetmek ve alan adınızın DNS ayarlarına “ns1.example.com” ve “ns2.example.com” u eklemek. Normalde NS kayıtlarının 2 farklı DNS sunucuda olması (master-slave olabilir) en iyi seçenektir. Ama bu konuya uzaksanız “ns2″ kaydınızı da aynı IP’ye yönlendirebilirsiniz.

Bu konudaki aktarabileceğim temel bilgiler bunlar. Daha fazla bilgi almak için Linux-tr.net‘e giderek, Sunucu Yönetimi kategorisinin altındaki DNS sunucuları bölümüne sorularınızı iletebilirsiniz.

Share

Benzer Konular

Pages: 1 2

  • sevket karayılan

    Paylaşımın için sağol güzel olmuş, baya bir emek sarfetmişsin.
    Fakat benim anlamadığım konular var.
    1.si ; 192.168.1.100 senin içerdeki IP in mi dışardaki IP in mi? eğer içerdeki IP ise NS registration işelminde bunu kullanman bişi ifade etmez gibime geliyor.
    2.si ; Tüm ayarları yaptım ve ok aldıktan sonra
    nslookup example.com; (yani example.com un yerine benim site var)
    yaptığımda bana
    server 127.0.0.1
    Address 127.0.0.1#53
    cant find krmgroup.net : No Answer
    diyor. bizim DNS ayarladık mı işimiz bitiyormu. Virtual host ayarlanmayacak mı? yada ben krmgroup.net in index.php sini nereye yerleştireceğim. yada neden çalışmadı?
    Teşekkürler

  • ugur

    Elbetteki 192.168.1.100 adresi sadece örnek vermek için yazılmış bir IP’dir. Bunun yerine gerçek sunucu IP’nizi yazmanız gerekiyor.

    2. soruya cevap olarak tek birşey söyleyebilmek zor, çünkü birçok yerde hata yapmış olabilirsiniz, ya da sistem konfigürasyonunuz farklı özellikler içeriyor olabilir. Ancak birkaç konuyu kontrol etmenizi tavsiye edebilirim:

    - “netstat -tap” komutunu çalıştırdığınızda 53 portunun “named” isimli proses tarafından dinlenip dinlenmediği

    - Dökümanımda da bahsettiğim gibi, “named-checkzone example.com /etc/bind/zones/example.com.db” komutu ile (example.com.db yerine kendi koyduğunuz zone dosyası gelecek) oluşturduğunuz zone dosyasının geçerli olup olmadığını kontrol edebilirsiniz.

    - Eğer sorunu hala bulamıyorsanız, yaptığınız konfigürasyon dosyalarını ve gerekli logları linux-tr.net’te DNS sunucuları bölümünde paylaşarak daha detaylı yardım isteyebilirsiniz.

    Son olarak “virtual host” ile ilgili sorduğunuz soru ile ilgili olarak da şunu belirtmem gerekiyor : Burada kurulumunu anlattığımız tek şey, DNS Sunucusudur. Bu dökümanda Apache ya da herhangi bir web sunucusu kurulumu anlatılmıyor. Vaktim olduğunda bu dökümanın sonraki bölümlerini de hazırlayarak, Web sunucusu, mail sunucusu, FTP sunucusu, vb gibi sunuculara sahip tam bir hosting sisteminin temel yapısını aktarmaya çalışacağım.

    Dolayısıyla, DNS ayarladıktan sonra sadece alan adınızı sunucunuza yönlendirmiş oluyorsunuz (alan adınızda da DNS ve/veya NS adreslerini de uygun şekilde değiştirdiğinizi varsayarak…). Sonrasında web sunucusu kurulumu yapmak gerekir, bu dökümanın şu andaki kapsamında bu yok henüz.

    Kolay gelsin.