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
| *.yildiz.edu.tr için yetkili isim sunucusu 193.140.1.1 olacak; SOA |
| tersinir yetkili isim sunucusu 193.140.1.1 olacak |
| Sanırım bayağı zor anlaşılacak birşey :) |
| DAHA ÖNCEDEN TANIMLANMIŞ bir IP'ye takma isim ekliyoruz |
| bir numaralı mx (eposta sunucusu) olarak 193.140.1.1 ekleniyor |
| ikinci sırada gelen yildiz.edu.tr eposta sunucusu |
| alt alanlar için isim sunucusu |
| 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
| yildiz.edu.tr için yetkili isim sunucusu nokta ile başlıyor |
| www.yildiz.edu.tr için host kaydı |
| *.1.140.193 için yetkili isim sunucusu |
| ogis.yildiz.edu.tr için makina kaydı |
| Bir takma ad (alias) kaydı. Takma ad kayıtları + ile başlar. |
| yildiz.edu.tr için mx kaydı. Öncelikler harflerle ifade ediliyor. |
| yildiz.edu.tr için ikinci mx kaydı. @ ile başlıyor. |
| 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.
|