Tiny-dns Kurulumu
Önceki djbDNS Kurulumu NASIL Sonraki
Tiny-dns Kurulumu
Tiny-dns yukarıda da anlatıldığı üzere bizim alanımız için yetkili isim sunucu olacak. (Aynı zamanda yetkili tersinir isim sunucumuz olacak - ipv4-->hostname...)
Önce sistemimize tiny-dns kullanıcısını (tinydns) ekleyelim. Ayrıca sistem günlük kayıtlarını tutması için dnslog kullanıcısı da eğer daha önce dnscache kurulmadıysa eklenmelidir.
Dikkat
Dikkat edilmesi gereken bir nokta, dnscache ile tinydns aynı IP'yi dinleyemez. Bu yüzden tiny-dns'i 192.168.1.2'nin 53. portuna bağlayacağız. (IP-ALIASING artık bütün *NIX'lerde vardır). Eğer elinizde sadece bir Internet IP adresi varsa bu IP'yi tiny-dns için kullanın ve yerel 192.168.1.1 IP'sini de dnscache için kullanın.
Tiny-dns yapılandırması
# tinydns-conf tinydns dnslog /etc/tinydns 192.168.1.2  {ya da bir Internet IP'si}
# ln -s /etc/tinydns /service                           {5 saniye sonra çalışır olacak}
Sıra tinydns'e makina ismi ve tersinir kayıtların girilmesine geldi. Bu aşamada iki seçeneğiniz var. Ya data dosyasını elle düzenleyeceksiniz ya da /etc/tinydns/root dizini altında bulunan add* betiklerini kullanacaksınız. Burada bizim tavsiyemiz data dosyasına girdilerin add* betikleri yardımıyla girilmesi yönünde olacaktır. Böylece her ne kadar data dosyasının yapılandırması bind'a göre son derece kolay ve anlaşılır olsa da ufak hatalar yapılabilme olasılığının olmasıdır. Fakat add* betikleri ile bu baş ağrıtıcı hataların oluşturduğu problemlerden kurtulmuş olursunuz.
Sırasıyla yildiz.edu.tr için dns kayıtlarını girelim ve yetkili isim sunucumuzu kuralım.
# cd /etc/tinydns/root
# ./add-ns yildiz.edu.tr 193.140.1.1                
# ./add-ns 1.140.193.in-addr.arpa 193.140.1.1       
# ./add-host ogis.yildiz.edu.tr 193.140.1.3         
# ./add-alias www2.yildiz.edu.tr 193.140.1.3        
# ./add-mx yildiz.edu.tr 193.140.1.1                
# ./add-mx yildiz.edu.tr 193.140.1.5                
# ./add-childdns ece.yildiz.edu.tr 193.140.1.15     
# make                                              
1
*.yildiz.edu.tr için yetkili isim sunucusu 193.140.1.1 olacak; SOA
2
tersinir yetkili isim sunucusu 193.140.1.1 olacak
3
Sanırım bayağı zor anlaşılacak birşey :)
4
DAHA ÖNCEDEN TANIMLANMIŞ bir IP'ye takma isim ekliyoruz
5
bir numaralı mx (eposta sunucusu) olarak 193.140.1.1 ekleniyor
6
ikinci sırada gelen yildiz.edu.tr eposta sunucusu
7
alt alanlar için isim sunucusu
8
tindns-data komutu çalıştırılır
Bu noktada önemli birşey var. add-ns ve add-mx betiklerini kullanırken dikkat ederseniz isim sunucuların makina isimlerini vermedik. Bu iki betik öntanımlı olarak a.ns ... b.ns makina isimlerini atarlar. Eğer Internic'te ya da daha doğru ifadesiyle registrar'ınızda isim sunucusu makina ismi olarak farklı bir isim olabilir. İşte bu noktada iki makina ismi de aynı olmalıdır.add-ns ve add-mx yine aynı dizinde, /etc/tinydns/root/ dizini altında bulunan data dosyasını düzenler. Burada metin düzenleyicinizle bu dosyayı açıp gerekli değişiklikleri yapmalısınız. Örnek olarak ulak.net.tr'de yildiz.edu.tr isim sunucusunun makina ismi ana.cc.yildiz.edu.tr olarak tanımlıdır. data dosyasında bu değişiklik yapılmalıdır.
Sıra geldi data dosyasındaki bilgileri data.cdb olarak yanitinydns'in yapılandırma dosyası olarak kaydetmeye. Yine ayni dizinde dikkat ederseniz bir Makefile vardır. Yapılması gereken tek şey bu dizinde make komutunu çalıştırmaktır. Make komutunun yazılması ile birlikte tiny-dns hizmet vermeye hazır olacaktır. Make komutu Makefile dosyasından da anlaşılacağı üzere tinydns-data programını kullanarak data.cdb'yi oluşturur. Kısacası tinydns-data, data dosyasını okur ve tinydns'in hızlı bir şekilde ulaşabileceği data.cdb dosyasını oluştururr. Ayrıca tinydns-data otomatik olarak data.cdb'yi günceller. Böylece data dosyasında yapılan bir değişiklik tinydns'i bir daha başlatmadan doğrudan data.cdb dosyasını günceller. data.cdb güncellenirken sistem çökse bile sistem yeniden başladığında data.cdb dosyasında bir problem yaşamaz. Tam bir ya hep ya hiç mantığıyla ya da veri aktarımı mantığı ile çalışır.
Aşağıda data dosyasının içeriği verilmiştir. Bu dosyayı üstte add-* betikleri ile yapılandırabileceğiniz gibi elle de yapılandırabilirsiniz.
.yildiz.edu.tr:193.140.1.1:a:259200              
.1.140.193.in-addr.arpa:193.140.1.1:a:259200
=www.yildiz.edu.tr:193.140.1.1:86400             
.1.140.193.in-addr.arpa:193.140.1.1:a:259200     
=ogis.yildiz.edu.tr:193.140.1.3:86400            
+www2.yildiz.edu.tr:193.140.1.3:86400            
@yildiz.edu.tr:193.140.1.3:a::86400              
@yildiz.edu.tr:193.140.1.5:b::86400              
&ece.yildiz.edu.tr:193.140.1.15:86400            
1
yildiz.edu.tr için yetkili isim sunucusu nokta ile başlıyor
2
www.yildiz.edu.tr için host kaydı
3
*.1.140.193 için yetkili isim sunucusu
4
ogis.yildiz.edu.tr için makina kaydı
5
Bir takma ad (alias) kaydı. Takma ad kayıtları + ile başlar.
6
yildiz.edu.tr için mx kaydı. Öncelikler harflerle ifade ediliyor.
7
yildiz.edu.tr için ikinci mx kaydı. @ ile başlıyor.
8
ece.yildiz.edu.tr için gelen sorguları 193.140.1.15 IP'sine yönlendir.
Bu arada istenirse daemontools paketi ile gelen svstat ile tinydns çalışıyor mu çalışmıyor mu kontrol edilebilir.
# svstat /service/tinydns
Ya da günlük kayıt dosyalarına bakabiliriz.
# tail -f /service/tinydns/log/current
ile gerçek zamanlı olarak işlemler gözlenebilir.
Bir de tinydns'in verisini kontrol edelim. Bunun için dnscache için kullandığımız komuta benzer bir komut olan dnsq komutunu kullanacağız.
# dnsq a yildiz.edu.tr 193.140.1.1
1 yildiz.edu.tr:
127 bytes, 1+1+2+2 records, response, authoritative, weird ra, noerror
query: 1 yildiz.edu.tr
answer: yildiz.edu.tr 86400 A 193.140.1.1               {Önemli olan kısım burası}
authority: yildiz.edu.tr 86400 NS smurf.cc.yildiz.edu.tr
authority: yildiz.edu.tr 86400 NS bigblue.ce.yildiz.edu.tr
additional: smurf.cc.yildiz.edu.tr 86400 A 193.140.1.1
additional: bigblue.ce.yildiz.edu.tr 86400 A 193.140.2.1
Dikkat
tinydns'i sorgulamak için dnsq
dnscache'i sorgulamak için dnsqr kullanılır.
Önceki Üst Ana Başlık Sonraki
Dnscache Programının Kurulması Başlangıç /service/tinydns/root/data Dosyasının Biçemi
Bir Linux Kitaplığı Sayfası