Dnscache yukarıda anlatılan yazılımlardan çözümleyici
kısmına girmektedir. Yani /etc/resolv.conf dosyasına
yazılacak IP şimdi kuracağımız yazılımın çalıştığı bir makinaya ait olmalıdır.
Burada kuracağımız dnscache aslında dnscache'in kurulması
olası iki çeşidinden birisi olacaktır.
Bunlar "harici dnscache" ve "dahili dnscache" olarak adlandırılır. Biz burada
Internet'de ya da ağımızda bulunan başka bir makinanın sorgularını işleme
yetisine sahip olan "harici dnscache" kuracağız. Eğer evinizden dial-up bağlanan
bir kullanıcı iseniz sisteminizde dahili bir dnscache kuracabilir ve
/etc/resolv.conf dosyanıza 127.0.0.1
adresini yazabilirsiniz. Dahili denmesinin sebebi 127.0.0.1 arayüzüne
kurulması ve dnscache'in kendini o ip'nin 53. portuna bağlamasıdır.
Haricinin farkı ise sadece dnscache'in 127.0.0.1'den farklı ve diğer makinaların
ulaşabileceği bir IP olmasıdır.
Ek olarak dnscache kurulmadan önce hangi kullanıcı olarak
çalışacağı ve hangi kullanıcı olarak günlük kayıtlarının tutulacağı
belirtilmelidir. Genel olarak sisteminize giriş yapması ihtimali olmayan
(kabuğu /bin/false olan) iki kullanıcı ekleyin. Bunlardan biri dnscache
diğeride günlük kayıtlarını hesap olan dnslog olabilir. Bir de programımızın
çalışacağı dizin belirlenmelidir. Genel olarak /etc/dnscachex
(x = external -> harici) kullanılmaktadır. Şimdi yazılımı kurabiliriz.
- Harici dnscache
-
# dnscache-conf dnscache dnslog /etc/dnscachex 192.168.1.1
# ln -s /etc/dnscachex /service
# echo "192.168.1.1" > /etc/resolv.conf
İlk satırın açılımı:
dnscache-conf çalıştırma-kullanıcısı günlük-kaydı-kullanıcısı ip-adresi
şeklindedir. İkinci satır ise dnscache'i açılışta
çalıştırmak içindir.
- Dahili dnscache
-
# dnscache-conf dnscache dnslog /etc/dnscache
# ln -s /etc/dnscache /service
# echo "127.0.0.1" > /etc/resolv.conf
# touch /etc/dnscachex/root/ip/193.140.1
Dikkat ederseniz ilk satırda IP belirtmedik. Öntanımlı değeri 127.0.0.1'dir
Öntanımlı olarak dnscache bütün sorguları reddeder.
Son satırda 193.140.1 dosyası ile ağ için sorgu yapılmasına izin veriyoruz.
dnscache'in çalışıp çalışmadığını sorgulamak için
dnsqr komutu kullanılabilir. Yapılan sorgularda
önemli olan satır answer satırıdır.
# dnsqr a yildiz.edu.tr
1 yildiz.edu.tr:
166 bytes, 1+1+3+3 records, response, noerror
query: 1 yildiz.edu.tr
answer: yildiz.edu.tr 30218 A 193.140.1.1
authority: yildiz.edu.tr 86391 NS ana.cc.yildiz.edu.tr
authority: yildiz.edu.tr 86391 NS ns.ulak.net.tr
authority: yildiz.edu.tr 86391 NS vm4381.ce.yildiz.edu.tr
additional: ana.cc.yildiz.edu.tr 86391 A 193.140.1.1
additional: ns.ulak.net.tr 62760 A 193.140.83.251
additional: vm4381.ce.yildiz.edu.tr 86391 A 193.140.2.1
|
answer ile başlayan kısım bizim aradığımız cevaptır.
|
Artık elimizde çalışan bir çözümleyici var. Ek olarak istersek bellek
büyüklüğünü 100MB ram harcayacak şekilde ayarlayabiliriz. Bunun için:
# echo 100000000 > /etc/dnscachex/env/CACHESIZE
# echo 104857600 > /etc/dnscachex/env/DATALIMIT
yapılması gerekir. Tabii bundan sonra svc -t /service/dnscache
ile programımızı yeniden başlatmak gerekecektir.
Şimdi sıra alanımız için yetkili isim sunucu olacak olan tiny-dns programını kurmaya geldi.