Yukarıda da belirtildiği gibi data dosyasından
tinydns'in okuyabileceği biçeme (data.cdb) dönüştürülür.
Peki data dosyasının biçemi nasıldır:
.fqdn:ip:x:ttl:timestamp:lo
Teker teker yukarıdaki ifadenin ne anlamlara geldiğini açıklayayım.
- .fqdn
Girdiyi simgeler. Bu girdi yetkili bir isim sunucusunun başlangıçı
(SOA = Start Of Authority) olabilir. Nitekim data dosyasinda "." ile
başlayanlar SOA kaydını belirtir. Üstteki örneğimize bakarsak en üst
iki satir "." ile başlamaktadır. Bunlar SOA'ları oluşturur. "." dan
başka karakterler de vardır:
- . ile başlayanlar SOA'yı belirtir.Mutlaka
olmalıdır.
- @ ile başlayan satır bunun bir mx girdisi
olduğunu gösterir.
- = ile başlayanlar A kayıtları için kullanilir. Aynı
zamanda tinydns-data ters kayıtlarından olan PTR girdisi içindir.
- + ile başlayanlar add-alias betiği oluşturulur.
Yine bu işaret tinydns-data'ya A kaydı oluşturmasını soyler, fakat PTR
kaydı girilmez. Eğer aynı IP için iki tane =
kullanırsanız hata alırsınız (data dosyasını elle değiştirerek ya da
add-host ile).
- & ile başlayan satırlar alt dns sunucusu girmek
içindir. Mesela elek.yildiz.edu.tr 'nin kendi dns sunucusunun olmasını
istiyorsunuz. Bunun için add-childdns komutunu
kullanırız.
- ip
Girdisi yapılacak fqdn'nin çözümleneceği IP'yi belirler. Mesela:
&ece.yildiz.edu.tr:193.140.1.15:86400
ifadesindeki ikinci segman IP'dir ve kendisinden önce gelen ifadenin
(&ece.yildiz.edu.tr) IP'sini belirler.
- x
mx ve ns kayıtlarında işe yaramaktadır. Bu önceliği belirlemek için
kullanılır ve sorgulara buna göre verilir. Şöyleki eğer buraya "a" ya
da "b" girerseniz dnsq ile size dönecek cevap eğer ns kaydı sözkonusu
ise a.ns.yildiz.edu.tr olur. Eğer girilen değer b ise bu ikincil
isim sunucusunu gösterir ve b.ns.yildiz.edu.tr olarak gösterilir.
Yine mx kayıtları içinde a.mx.yildiz.edu.tr ve b.mx.yildiz.edu.tr
kullanılır. Eğer bu tarz gösterim yapmak istemiyorsanız. Bu kısma
doğrudan "dns1.yildiz.edu.tr" ya da "dns2.yildiz.edu.tr" girebilirsiniz.
Ya da aynı şekilde "mx1.yildiz.edu.tr" ve de "mx2.yildiz.edu.tr".
Aklınıza şu soru gelebilir. Eğer bu kısma ben kendim makina isimlerimi
girersem öncelik sırası ne olacak. Burada ilk giren ilk sunulur ilkesi
esas alınır. Yani dosyada hangisi üstte ise önceliğe o sahiptir.
- ttl
Kurduğumuz yetkili isim sunucuyu sorgulayan sunucuların belleklerinde bu
girdiyi kaç saniye(**) tutacağını belirler. ns ve mx sunucular için
burada öntanımlı değer 3 gün (259200 saniye) iken diğer girdiler
için 1 gündür (86400 saniye).
- timestamp
Adındanda anlaşılacağı üzere dosyanın ne zaman değiştirildiğini gösterir.
" add-* " scriptleri bu kısma dokunmazlar.
- lo
Bu kısım aşağıda da anlatıldığı üzere "Değişik istemcileri değişik sunuculara
nasıl yönlendirebilirim? " sorusunun cevabı olmaktadır.
EK: 3 kısımda anlatılanları somutlaştırmak için örnek bir data dosyasından
alıntı yapayım:
.yildiz.edu.tr:193.140.1.1:dns1.yildiz.edu.tr:259200
Böyle bir girdide tinydns-data komutu iki şey yapar. İlk başta
dns1.yildiz.edu.tr için 193.140.1.1'i gösteren A kaydı oluşturulur. Daha
sonra bunun SOA olduğunu belirtilen kısım data.cdb'ye yazılır.
@yildiz.edu.tr:193.140.1.3:mx1.yildiz.edu.tr::86400
Bu örnekte ise ilk başta A kaydı sonra da mx kaydı oluşturulur.