BIND yapılandırma dosyası olarak, aksi belirtilmediği sürece
/etc/named.conf dosyasını kullanır. BIND'in 4.
sürümü için bu dosya /etc/named.boot dosyasıdır
ve dosyaların biçemleri birbirinden hayli farklıdır bu yüzden iki
dosyanın karıştırılmamasına dikkat edilmelidir.
Örnek bir named.conf dosyasını aşağıda gösterilmiştir.
// /etc/named.conf
// Ilker TEMIR - 23/04/2000
//
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "rev.local";
};
zone "ulak.net.tr" {
type master;
file "zone.ulak.net.tr";
};
zone "83.140.193.in-addr.arpa" {
type master;
file "rev.193.140.83";
};
Düşünülenin aksine named.conf çoğu durumda örnekte
görüldüğü kadar yalın olacaktır. Dosya içeriği aşağıda incelenecektir.
Seçenekler (options) kısmında tanımlanan dizin
(directory), adres
tanımlarını içeren dosyaların bulunacağı dizindir. Belirtilen tüm
dosyalar buradaki dizin altında yer alacaklardır.
/var/named genellikle bu amaçla en çok kullanılan
dizindir.
zone "." tanımı değiştirilmemesi gereken standart
bir tanımdır. DNS çözümlemesi kısmında açıklanan üst seviye alan adı
sunucularını gösterir, sunucu NS çözümünü yapamadığı alanlar için burada
tanımlı olan alan adı sunuculara başvuracaktır. Bu sunucu adreslerinin
nereden temin edileceği ilerleyen kısımlarda açıklanacaktır.
zone "0.0.127.in-addr.arpa" tanımı
loopback olarak tabir edilen bilgisayarın kendi kendine
bağlanması için gereken adreslerin ters tanımlamaları için gereklidir.
Bu tanım da değiştirilmeden tutulmalıdır.
zone "ulak.net.tr" tanımı ile başlayan kısım
anlaşılması gereken en önemli kısımlardan biridir. Örnekte bu,
ulak.net.tr şeklinde bir alan adı tanımlandığını
gösterir. Type belirteci ise sunucunun alan adı için
durumunu belirtir. Örnekte belirtilmiş olan master
birincil isim sunucusunu göstermektedir. File belirteci
ile belirtilen isim ise ulak.net.tr için adres IP
tanımlamalarını içeren dosyanın adıdır. Örnekte bu dosya
/var/named/zone.ulak.net.tr olmaktadır.
Zone "83.140.193.in-addr.arpa" tanımı ile başlayan
kısım da bir öncekine benzer şekilde 83.140.193.in-addr.arpa
alan adını tanımlamaktadır. Çözümleme kısmında açıklandığı şekilde bu
alan adı 193.140.83 ağında bulunan IP adreslerinin isim
karşılıklarını bulmak için kullanılacaktır.
named.conf dosyası BIND'a hangi alanlardan sorumlu
olduğu ve bu alanlara ait bilgileri nerede bulacağı gibi parametreleri
vermektedir. Ancak IP adres karşılıkları bu dosyada işaret edilen veri
dosyalarında bulunacaktır. Belirtilen dosya adları tamamen sistem
yöneticisinin tercihine kalmıştır ancak sistematik bir yol izlenmesi
faydalı olacaktır.
named.conf dosyasında belirtilen dosyaların
içerikleri aşağıda incelenmiştir. Belirtilen dosyaların tamamı
/var/named dizini altında yer alacaktır.
named.root: Bu dosya
root-server
adı verilen en üst seviyede bulunan alan adı sunucularının isimlerini
ve adreslerini içermektedir. Sıklıkla değişmemekle birlikte güncel hali
ftp://ftp.rs.internic.net
adresinden çekilebilir. Bu satırların yazıldığı tarih itibariyle bu dosya
şu şekildedir:
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: Aug 22, 1997
; related version of root zone: 1997082200
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; formerly TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; formerly NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; formerly NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; formerly NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; temporarily housed at ISI (IANA)
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; housed in Japan, operated by WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; End of File
rev.local: Bu dosya 127.0.0 ağına ait olan IP
adreslerinin isim tanımlamalarını içermektedir. İçeriği aşağıda
verilmiştir. İçeriği rev.193.140.83 dosyasının
açıklanmalarında bulunabilir.
$TTL 86400
@ IN SOA hornet.ulak.net.tr. root.hornet.ulak.net.tr. (
2000042300 ; Serial
28800 ; Refresh
14400 ; Retry
360000 ; Expire
86400 ) ; Minimum
IN NS hornet.ulak.net.tr.
1 IN PTR localhost.
zone.ulak.net.tr: Bu dosya
ulak.net.tr alan adı altında tanımlı isim adres
tanımlamalarını içermektedir. İçeriği aşağıda sunulmuştur.
$TTL 86400
@ IN SOA hornet.ulak.net.tr. root.hornet.ulak.net.tr. (
2000042300 ; Serino
28800 ; Yenileme
14400 ; Tekrar
3600000 ; Süre
86400 ) ; TTL
IN NS hornet.ulak.net.tr.
ulak.net.tr. IN MX 10 efe.ulak.net.tr.
efe IN A 193.140.83.9
truva IN A 193.140.83.13
hornet IN A 193.140.83.91
www IN CNAME efe.ulak.net.tr.
İlk satırda görülen değer daha önce açıklanan TTL değeridir. Bu
sunucuya ulaşan istemcilerin sorguladıkları isimleri ne kadar süreyle
belleklerinde tutacaklarını gösterir. Bu değerin bilinçsiz olarak
değiştirilmesi önerilmez. Çoğu durum için 24 saat uygun bir değerdir.
Çok küçük olması DNS trafiğini artıracaktır. Ayrıca 0 yapmaktan
kaçınılması gerekir.
İkinci satırın başında görülen @ alan adını
belirten bir kısa gösterimdir, örnekte
ulak.net.tr.'nin yerine geçmiştir.
@'in yanında görülen IN, tanımın
Internet için bir tanım olduğunu gösterir (Internet haricinde tanımlar
yapabilmek mümkün olsa da burada değinilmeyecektir).
SOA, Start Of Authority anlamına gelir ve alan adı
ile ilgili genel tanımları gösterir. Daha sonra gelen
hornet.ulak.net.tr. sunucunun üzerinde çalıştığı
bilgisayarın adı. root.hornet.ulak.net.tr. ise ilk
., @ ile değiştirilmek kaydıyla
sunucudan sorumlu kişinin e-posta adresini gösteren tanımlardır.
Sırasıyla verilen
serino,
yenileme,
tekrar ve
süre sayısal değerleri
sunucu için çeşitli sayaç ve zaman kıstaslarını gösterir. Zaman
birimlerinin tamamı saniyedir. Ne anlama geldikleri
daha sonra incelenecektir.
Daha sonra görülen NS kaydı Name Server (alan adı
sunucu) tanımıdır. Her alan adı için en az bir alan adı sunucusu bu
şekilde tanımlanmalıdır.
Sonraki satırda ulak.net.tr. için tanımlanmış olan
MX 10 kaydı görülmektedir. MX,
Mail EXchanger'ı temsil eder ve belirtilen alan adı için posta servisinin
çalıştığı bilgisayarın ismini gösterir. 10 ise tercih değeridir. Farklı
tercih değerleri içinde en düşük tercih değeri seçilecektir. Buradaki
örnek, ulak.net.tr alan adına giden mesajların
efe.ulak.net.tr bilgisayarına yönlendirilmesini
sağlar.
Farklı isimlerin yanında olan A kayıtları, adres
kayıtlarını temsil eder. İsmin hangi IP numarasına karşılık geldiğini
gösterir.
Son satırda görülen CNAME tanımı ise Canonical
NAME'den gelir ve bilgisayarlara ikincil isim verilmesini sağlar.
Örnekte görülen tanım www.ulak.net.tr adresinin
efe.ulak.net.tr adresi ile aynı olmasını sağlar.
A kaydına tercih edilmesinin nedeni
efe.ulak.net.tr tanımı değiştiğinde onu gösteren
CNAME kayıtlarının da otomatik olarak değişmesidir.
Kullanımda bazı problemler yaratabildiği için kullanılması önerilmez.
CNAME kullanmak yerine farklı A
tanımları yapmak daha uygundur.
rev.193.140.83: Bu dosya 193.140.83
ağına ait olan IP adreslerinin isim tanımlamalarını içermektedir.
İçeriği aşağıda verilmiştir.
$TTL 86400
@ IN SOA hornet.ulak.net.tr. root.hornet.ulak.net.tr. (
2000042300 ; Serino
28800 ; Yenileme
14400 ; Tekrar
360000 ; Süre
86400 ) ; TTL
IN NS hornet.ulak.net.tr.
9 IN PTR efe.ulak.net.tr.
13 IN PTR truva.ulak.net.tr.
91 IN PTR hornet.ulak.net.tr.
Görüldüğü gibi alan adı tanımları hemen hemen standarttır ve bu dosyanın
da içerik olarak az önce incelenen dosyadan çok farkı yoktur. Fark
yalnızca yeni ortaya çıkan PTR kaydıdır,
PoinTeR (işaret, gösterge) anlamına gelir. Örnekler sırasıyla
193.140.83.9'un efe.ulak.net.tr,
193.140.83.13'ün truva.ulak.net.tr
ve 193.140.83.91'in hornet.ulak.net.tr'yi
adreslediğini gösterir.
Sıklıkla kullanılan temel kayıtlar iki dosyanın içeriğinin incelenmesi
sırasında açıklanmıştır. Ancak burada belirtilmeyen farklı kayıtlar da
mevcuttur. Bunların listesi ve açıklamaları
daha sonra verilecektir.
SOA kaydında belirtilen parametreler aşağıda ayrıntılı olarak
incelenmişlerdir.
- Seri No:
Sunucudan bilgi alan ikincil isim sunucular tarafından kullanılır.
Burada belirtilen değerin ne olduğu gerçekte çok önemli değildir.
Önemli olan dosya içeriğinde değişiklik yapıldığında mutlaka
artırılması gerektiğidir. İkincil isim sunucular bu değere
bakarak alan adı içeriğinin değişip değişmediğine karar verirler.
Genellikle yıl, ay, gün ve gün içinde yapılan değişiklik sayısı
şeklinde kullanılır.
- Yenileme:
İkincil sunucular için birincil sunucuyu ne kadar aralıkla
kontrol edeceğini gösteren değerdir. Örneğimizde bu değer 8
saattir. Her 8 saatte bir ikincil sunucu birincil sunucuda
değişiklik yapılıp yapılmadığını kontrol edecektir.
- Tekrar:
Eğer ikincil sunucu herhangi bir nedenle birinci sunucuya ulaşmakta
sorun yaşarsa tekrar denemek için ne kadar bekleyeceğini gösteren
değerdir. Genellikle Yenileme süresinden daha kısa bir süredir.
Örneğimizde 4 saattir.
- Süre:
Bu kısım oldukça önemlidir. İkincil sunucunun birincil sunucuya
ulaşamadığı durumlarda kendisinde bulunan verinin ne kadar daha
doğru kabul edildiğini gösterir. Bu süreden sonra ikincil sunucu
çağrılara cevap vermeyi keser. 1 haftadan kısa olması kesinlikle
önerilmez. Yenileme ve Tekrar
değerlerinden çok daha büyük olmalıdır.
- TTL:
Daha önce açıklanan 'Yaşam Süresi' (TTL - Time to live) değeridir.
İlk satırda $TTL ile belirtilenden farkı BIND 8.2.1 ile birlikte
buradaki değerin yalnız negatif TTL olarak kullanılmasıdır. Negatif
TTL hata veren sorgulamaların bellekte tutulması için geçerli süredir.