Legal stuff:
(C)opyright 1995 Nicolai Langfeldt. Do not modify without amending copyright,
distribute freely but retain copyright message. The author wishes to thank
Arnt Gulbrandsen who read the drafts to this work countless times and
provided many useful suggestions.
Bu dökümanı okumaya başlamadan önce bilgisayarınızın ağ yapılandirmasının (network configuration) tamamlanmış olması gerekmektedir. Yani bilgisayarınızdan dışarıya, dışarıdan bilgisayarınıza her türlü ağ bağlantısının yapılabiliyor olması gerekiyor. Özellikle 127.0.0.1 adresine telnet bağlantısı kurdugunuzda kendi bilgisayarınıza bağlanabiliyor olmalısınız. Buna ek olarak, başlarken, /etc/host.conf /etc/resolv.conf ve /etc/hosts dosyalarının iyi bir şekilde yapılandırılmış olmaları gerekiyor. Bu dosyaların ne yaptıkları ve nasıl yapılandırıldıkları bu dökümanda anlatılmamaktadır. Eger az önce saydığım kurulumlar tamam değilse "NET-2 HOWTO" dökümanını okumanız gerekecek.
Eger SLIP veya PPP kullanıyorsanız onların da calışır durumda olmaları gerekmektedir (Bkz. NASIL PPP).
"Makineniz" dediğimde uzerine DNS kurmaya çalıştığınız bilgisayarı kastediyor olacağım. Ağ yapılandırmanızla ilgili olan diğer bilgisayar(lar)ınızı değil.
"Ad sorguları"nı (name queries) engelleyen bir "firewall" un arkasında olmadığınızı varsayıyorum. Eger bu tür bir yapılandırmanın ardındaysanız "firewall ve diğer özel kurulumlar" bölümünü okumanız gerekiyor.
Ad sunuculugu UNIX'te "named" adı verilen bir programla yapılır. "Named", eşgüdümü İnternet Yazılım Konsorsiyumu için Paul Vixie tarafından yapılan "bind" pakedinin bir parçasıdır. "Named" bir çok Linux dağıtımına dahil edilir ve genellikle "/usr/bin/named" olarak kurulur. Eger "named" niz varsa muhtemelen kullanabiliyor olacaksınız; yoksa derlenmiş "named"yi bir Linux ftp sunucusundan (ftp.metu.edu.tr:/pub/sunsite) ya da kaynak kodunun son sürümünü "ftp.vix.com:/pub/bind" dan alabilirsiniz.
DNS İnternet üzerinde dağıtık bir veri tabanıdır. Nasıl kurduğunuza dikkat edin. Yapacağınız yanlış bir hareket diğer insanları da etkileyecektir. DNS iniz tutarlı ve düzgün olduğu sürece iyi bir hizmet alırsınız.
Bu dökümanda bazı şeyleri basite indirgemek için birtakım varsayımlar yaptım (yarı gerçekler de diyebiliriz). Söylediklerime inanırsanız çalısır durumda bir sisteminiz olacak.
İpucu: Değiştirmenizi isteyeceğim (eger varsa) tüm dosyaların yedeğini alın ki birseyler ters giderse sisteminizi eski, çalışır haline geri getirebilesiniz.
"Cache only" ad sunucusu ad sorgularınızın cevabını bulacak ve bir daha ihtiyacınız olduğunda cevabı hatırlayacaktır.
Oncelikle /etc/named.boot adlı dosyaya ihtiyacınız olacak. "Named" ilk çalıştığında bu dosyayı okur. Şimdilik sadece şunları kapsaması yeterli olacak:
; nicholais caching ad sunucusu için açılış dosyası ; directory /var/named ; ; type domain kaynak dosya ya da host cache . root.cache primary 0.0.127.in-addr.arpa pz/127.0.0
Bu kurulumda cache dosyası olan /var/named/root.cache şunları kapsamalıdır:
. 518400 NS D.ROOT-SERVERS.NET. . 518400 NS E.ROOT-SERVERS.NET. . 518400 NS I.ROOT-SERVERS.NET. . 518400 NS F.ROOT-SERVERS.NET. . 518400 NS G.ROOT-SERVERS.NET. . 518400 NS A.ROOT-SERVERS.NET. . 518400 NS H.ROOT-SERVERS.NET. . 518400 NS B.ROOT-SERVERS.NET. . 518400 NS C.ROOT-SERVERS.NET. ; D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
"named.boot" dosyasındaki ikinci satır 'primary' satırıdır. Nasıl kullanıldigini bir sonraki bölümde anlatacagim. Simdilik bu dosyayı "127.0.0" adiyla "pz" altdizinine yerleştirin:
; /var/named/pz/127.0.0 @ IN SOA linux.bogus. hostmaster.linux.bogus. ( 1 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS ns.linux.bogus. 1 PTR localhost.
search alt-alan.sizin-alan.edu sizin-alan.edu nameserver 127.0.0.1
"search" (ara) satırı bağlanmak isteyeceğiniz adlar için hangi
alanlara bakılması gerektigini belirtir. "nameserver" (ad sunucusu)
bilgisayarınızın ad sunucusuna ulaşabileceği adresi gösterir. Şu anda
bu adres kendi bilgisayarınıza işaret etmektedir. (Not: named bu dosyayı
hiçbir zaman okumaz, sadece resolver (çözümleyici) için gereklidir)
Bu dosyanın ne yaptığını göstermek için:
Eger bir istemci "foo" adina bakacak olursa adres bulunana kadar sirasıyla
"foo.alt-alan.sizin-alan.edu" "foo.sizin-alan.edu" "foo"
İstemci"sunsite.unc.edu" adresini arayacak olursa ilk olarak
"sunsite.unc.edu.alt-alan.sizin-alan.edu" "sunsite.unc.edu.sizin-alan.edu" "sunsite.unc.edu"
Arama suresini uzatacagindan "search" satırına cok sayida alan adi koymak istemeyebilirsiniz.
Asağidaki ornek "alt-alan.sizin-alan.edu" alanına ait olduğunuzu varsayar. Bu durumda bilgisayarınızın adresi "bilgisayarınız.alt-alan.sizin-alan.edu" olacaktır. "search" satırı en üst alan adını kapsamamalıdır (bu durumda TLD -en üst alan- "edu" dur). Eğer başka bir alana ait bilgisayarlara cok sık erişme gereksinimi duyuyorsanız aşagıdaki gibi bir arama satırını /etc/resolv.conf dosyasına ekleyebilirsiniz.
search alt-alan.sizin-alan.edu. sizin-alan.edu. diğer-alan.com.Daha sonra "libc" nizin sürümüne bağlı olarak /etc/nsswitch.conf ya da /etc/host.conf dosyasını düzeltmeniz gerekecektir. /etc/nsswitch.conf Değişik veri türlerini hangi dosya ya da veri tabanlarından alacağinizi gösteren uzun bir dosyadır. Genellikle baş kısmında kullanışlı notlar içerir. "hosts:" ile başlayan satırı bulun, ilgili satır şu şekilde olmalı:
hosts: files dnsEğer "hosts:" ile başlayan bir satır yoksa ekleyin. Bu satır öncelikle /etc/hosts dosyasına daha sonra dns e bakılması gerektiğini söyler.
order hosts,bindEger "order" satırı yoksa ekleyin. Bu satır ad çözümleyen yordamlara öncelikle /etc/hosts dosyasına bakılmasını, basarisiz olunmasi halinde ad sunucusuna (sizin resolv.conf dosyanızda 127.0.0.1 olan) bakılmasını soyler. Adi gecen dosyalar resolv(8) man dosyasında anlatilmaktadır (bu dosyayı gormek için "man 8 resolv" komutunu verin)
Named yi çalıştırmak.
"Named"yi çalıştırma zamanı geldi. Eger dialup bağlantı kullanıyorsanız önce bağlantıyı kurun. Daha sonra "ndc start" yazın. Çalışmayacak olursa "/usr/sbin/ndc start" ı deneyin. Şimdi kurulumunuzu test edebilirsiniz. "tail -f /var/adm/messağes" komutunu verdiğinizde (syslog mesaj dosyasına halen yazılmakta olan mesajları gösterir) aşağıdakilere benzer satırlar görmelisiniz:
Jun 30 21:50:55 roke named[2258]: starting. named 4.9.4-REL Sun Jun 30 21:29:0 3 MET DST 1996 janl@roke.slip.ifi.uio.no:/var/tmp/bind/named Jun 30 21:50:55 roke named[2258]: cache zone "" loaded (serial 0) Jun 30 21:50:55 roke named[2258]: primary zone "0.0.127.in-addr.arpa" loaded (serial 1)
$ nslookup
Default Server: localhost
Address: 127.0.0.1
>
Şimdi bir sorgu denemesi yapabilirsiniz. Yakınınızdaki bir bilgisayara bakmayı deneyin.
> eel.cc.metu.edu.tr
Server: localhost
Address: 127.0.0.1
Name: eel.cc.metu.edu.tr
Address: 144.122.202.113
Tekrar deneyecek oursanız:
> eel.cc.metu.edu.tr Server: localhost Address: 127.0.0.1 Non-authoritative answer: Name: eel.cc.metu.edu.tr Address: 144.122.202.113
Eger dialup kullanıcısı ıseniz (ppp, slip) lütfen "dialup bağlantılar üzerine" adlı bölümü okuyun. Burada birtakım öneriler bulacaksınız.
caching named yi nasıl kuracağınızı öğrendiniz, kutlama için bira, süt ya da her neyi seviyorsanız alabilirsiniz :).
Bu bölüme başlamadan önce DNS'in nasıl çalıştıgına dair bir miktar teorik bilgi vereceğim. Okumanızı öneririm. Eger istemiyorsanız en azından hızlıca bir göz gezdirin. "named.boot" dosyasının neler içermesi gerektiğinden bahsetmeye başladigimda durun.
DNS hiyerarşik bir sistemdir. En üst basamak "." şeklinde yazılır ve "root" denir. "." un altında birkaç TLD (en ust alan) vardır. En ünlüleri ORG, COM, EDU ve NET tir. prep.ai.mit.edu nün adresini bulmak istediğinizde ad sunucunuz EDU alanına hizmet veren bir sunucuya ulaşmak zorunda. Once root.cache dosyasına bakar, "." sunucu EDU alanının ad sunucu listesini verir. Şöyle ki:
$ nslookup Default Server: localhost Address: 127.0.0.1
> server c.root-servers.net. Default Server: c.root-servers.net Address: 192.33.4.12
> set q=ns
> edu.
edu nameserver = A.ROOT-SERVERS.NET
edu nameserver = H.ROOT-SERVERS.NET
edu nameserver = B.ROOT-SERVERS.NET
edu nameserver = C.ROOT-SERVERS.NET
edu nameserver = D.ROOT-SERVERS.NET
edu nameserver = E.ROOT-SERVERS.NET
edu nameserver = I.ROOT-SERVERS.NET
edu nameserver = F.ROOT-SERVERS.NET
edu nameserver = G.ROOT-SERVERS.NET
A.ROOT-SERVERS.NET internet address = 198.41.0.4
H.ROOT-SERVERS.NET internet address = 128.63.2.53
B.ROOT-SERVERS.NET internet address = 128.9.0.107
C.ROOT-SERVERS.NET internet address = 192.33.4.12
D.ROOT-SERVERS.NET internet address = 128.8.10.90
E.ROOT-SERVERS.NET internet address = 192.203.230.10
I.ROOT-SERVERS.NET internet address = 192.36.148.17
F.ROOT-SERVERS.NET internet address = 192.5.5.241
G.ROOT-SERVERS.NET internet address = 192.112.36.4
>mit.edu Server: c.root-servers.net Address: 192.33.4.12 Non-authoritative answer: mit.edu nameserver = STRAWB.mit.edu mit.edu nameserver = W20NS.mit.edu mit.edu nameserver = BITSY.mit.edu Authoritative answers can be found from: STRAWB.mit.edu internet address = 18.71.0.151 W20NS.mit.edu internet address = 18.70.0.160 BITSY.mit.edu internet address = 18.72.0.3
> server W20NS.mit.edu.
Server: W20NS.mit.edu Address: 18.70.0.160 > ai.mit.edu. Server: W20NS.mit.edu Address: 18.70.0.160 Non-authoritative answer: ai.mit.edu nameserver = WHEATIES.AI.MIT.EDU ai.mit.edu nameserver = ALPHA-BITS.AI.MIT.EDU ai.mit.edu nameserver = GRAPE-NUTS.AI.MIT.EDU ai.mit.edu nameserver = TRIX.AI.MIT.EDU ai.mit.edu nameserver = MUESLI.AI.MIT.EDU Authoritative answers can be found from: AI.MIT.EDU nameserver = WHEATIES.AI.MIT.EDU AI.MIT.EDU nameserver = ALPHA-BITS.AI.MIT.EDU AI.MIT.EDU nameserver = GRAPE-NUTS.AI.MIT.EDU AI.MIT.EDU nameserver = TRIX.AI.MIT.EDU AI.MIT.EDU nameserver = MUESLI.AI.MIT.EDU WHEATIES.AI.MIT.EDU internet address = 128.52.32.13 WHEATIES.AI.MIT.EDU internet address = 128.52.35.13 ALPHA-BITS.AI.MIT.EDU internet address = 128.52.32.5 ALPHA-BITS.AI.MIT.EDU internet address = 128.52.37.5 GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.32.4 GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.36.4 TRIX.AI.MIT.EDU internet address = 128.52.32.6 TRIX.AI.MIT.EDU internet address = 128.52.38.6 MUESLI.AI.MIT.EDU internet address = 128.52.32.7 MUESLI.AI.MIT.EDU internet address = 128.52.39.7
> server WHEATIES.AI.MIT.EDU.
Default Server: WHEATIES.AI.MIT.EDU
Addresses: 128.52.32.13, 128.52.35.13
> set q=any > prep.ai.mit.edu. Server: WHEATIES.AI.MIT.EDU Addresses: 128.52.32.13, 128.52.35.13 prep.ai.mit.edu CPU = dec/decstation-5000.25 OS = unix prep.ai.mit.edu inet address = 18.159.0.42, protocol = tcp #21 #23 #25 #79 prep.ai.mit.edu preference = 1, mail exchanger = life.ai.mit.edu prep.ai.mit.edu internet address = 18.159.0.42 ai.mit.edu nameserver = alpha-bits.ai.mit.edu ai.mit.edu nameserver = wheaties.ai.mit.edu ai.mit.edu nameserver = grape-nuts.ai.mit.edu ai.mit.edu nameserver = mini-wheats.ai.mit.edu ai.mit.edu nameserver = trix.ai.mit.edu ai.mit.edu nameserver = muesli.ai.mit.edu ai.mit.edu nameserver = count-chocula.ai.mit.edu ai.mit.edu nameserver = life.ai.mit.edu ai.mit.edu nameserver = mintaka.lcs.mit.edu life.ai.mit.edu internet address = 128.52.32.80 alpha-bits.ai.mit.edu internet address = 128.52.32.5 wheaties.ai.mit.edu internet address = 128.52.35.13 wheaties.ai.mit.edu internet address = 128.52.32.13 grape-nuts.ai.mit.edu internet address = 128.52.36.4 grape-nuts.ai.mit.edu internet address = 128.52.32.4 mini-wheats.ai.mit.edu internet address = 128.52.32.11 mini-wheats.ai.mit.edu internet address = 128.52.54.11 mintaka.lcs.mit.edu internet address = 18.26.0.36
Çok az bahsettigimiz fakat en az diğerleri kadar önemli bir alan daha var: "in-addr.arpa". O da diğer alanlar gibi hiyerarşik bir yapıya sahiptir. Bu alan "internet adresi"nden "ad"a ulaşmamızı sağlar. Önemli bir nokta: in-addr.arpa alanında ip'ler tersten yazılırlar. 192.128.52.43 gibi bir adresin adını öğrenmek istediğinizde named prep.ai.mit.edu örneğinde olduğu gibi davranır:
arpa. sunucularını bul in-addr.arpa. sunucularını bul 192.in-addr.arpa. sunucularını bul 128.192.in-addr.arpa. sunucularını bul 52.128.192.in-addr.arpa. sunucularını bul 43.52.128.192.in-addr.arpa. kayıtlarını bul
Yalan söyledim. DNS böyle çalışmaz. Ama neredeyse bu şekilde..
Kendi alanımız.
Şimdi kendi alanımızı tanımlayacagız. Adı linux.bogus olacak ve içinde bu alana ait bilgisayarların tanımları olacak. Tamamen -hayali- bir ad verdim ki diğer insanları rahatsiz etmeyelim.
Bu bölüme named.boot dosyasına aşağıdaki satırı yazarak başlıyoruz:
primary 0.0.127.in-addr.arpa pz/127.0.0
@ IN SOA linux.bogus. hostmaster.linux.bogus. ( 1 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS ns.linux.bogus. 1 PTR localhost.
Bazıları her alan (zone) dosyasını $ORIGIN direktifiyle başlatmaktan yanadırlar ki bence gereksiz birşeydir. Alan dosyasının orijini (DNS hiyerarsisinde ait oldugu yer) named.boot dosyasının "domain" sütununda yeralır. Bu durumda:
0.0.127.IN-ADDR.ARPA. IN SOA ...
SOA (yetki başlangıcı) kaydı tüm alan dosyaları ıçin başlıktır ve her alan dosyasındaki ilk kayıt olmalıdır. Alanın nereden kaynaklandığını (linux.bogus adlı bilgisayar), kayıtlardan kimin sorumlu olduğunu (hostmaster@linux.bogus), sürüm numarasını (serial: 1), ve caching only ile ikincil ad sunucusuyla ilgili diğer bilgileri tutar. Geri kalan değerler refresh (yenile), retry (yeniden dene), expire (bitis) ve minimum (en az) için bu NASIL daki sayıları kullanabilirsiniz.
NS kaydı 0.0.127.in-addr.arpa alanına hangi sunucunun hizmet verdiğini gösterir (ns.linux.bogus). PTR kaydi 1.0.0.127.in-addr.arpa nın (127.0.0.1) localhost olduğunu gösterir.
Şimdi named yi yeniden çalıştırın (ndc restart) ve test etmek için nslookup ı kullanın:
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> 127.0.0.1
Server: localhost
Address: 127.0.0.1
Name: localhost
Address: 127.0.0.1
primary linux.bogus pz/linux.bogus
; ; Zone file for linux.bogus ; ; Mandatory minimum for a working domain ; @ IN SOA linux.bogus. hostmaster.linux.bogus. ( 199511301 ; serial, todays date + todays serial # 28800 ; refresh, seconds 7200 ; retry, seconds 3600000 ; expire, seconds 86400 ) ; minimum, seconds NS ns.linux.bogus. NS ns.friend.bogus. MX 10 mail.linux.bogus ; Primary mail Exchanger MX 20 mail.friend.bogus. ; Secondary mail Exchanger localhost A 127.0.0.1 ns A 127.0.0.2 mail A 127.0.0.4
$ nslookup > set q=any > linux.bogus Server: localhost Address: 127.0.0.1 linux.bogus origin = linux.bogus mail addr = hostmaster.linux.bogus serial = 199511301 refresh = 28800 (8 hours) retry = 7200 (2 hours) expire = 604800 (7 days) minimum ttl = 86400 (1 day) linux.bogus nameserver = ns.linux.bogus linux.bogus nameserver = ns.friend.bogus linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus linux.bogus preference = 20, mail exchanger = mail.friend.bogus linux.bogus nameserver = ns.linux.bogus linux.bogus nameserver = ns.friend.bogus ns.linux.bogus internet address = 127.0.0.2 mail.linux.bogus internet address = 127.0.0.4
linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
linux.bogus preference = 10, mail exchanger = mail.linux.bogus
MX 10 mail.linux.bogus ; Primary mail Exchanger
@ MX 10 mail.linux.bogus. ; Primary mail Exchanger
@ MX 10 mail ; Primary mail Exchanger
Yeni alan dosyasındaki uyarıdan sonra bazı ek bilgilerle son hali:
; ; Zone file f r linux.bogus ; ; Mandatory minimum for a working domain ; @ IN SOA linux.bogus. hostmaster.linux.bogus. ( 199511301 ; serial, todays date + todays serial # 28800 ; refresh, seconds 7200 ; retry, seconds 604800 ; expire, seconds 86400 ) ; minimum, seconds NS ns ; Inet Address of name server NS ns.friend.bogus. MX 10 mail ; Primary mail Exchanger MX 20 mail.friend.bogus. ; Secondary mail Exchanger localhost A 127.0.0.1 ns A 127.0.0.2 mail A 127.0.0.4 ; ; Extras ; @ TXT "Linux.Bogus, your DNS consultants" ns MX 10 mail MX 20 mail.friend.bogus. HINFO "Pentium" "Linux 1.2" TXT "RMS" richard CNAME ns www CNAME ns donald A 127.0.0.3 MX 10 mail MX 20 mail.friend.bogus. HINFO "i486" "Linux 1.2" TXT "DEK" mail MX 10 mail MX 20 mail.friend.bogus. HINFO "386sx" "Linux 1.0.9" ftp A 127.0.0.5 MX 10 mail MX 20 mail.friend.bogus. HINFO "P6" "Linux 1.3.59"
Bu dosyada birkaç yeni RR var:
HINFO (Host INFOrmation) nun iki bölümden oluşmakta. Birinci bölüm makinenin üstündeki donanım ya da MIB ile ilgili ikinci bölüm de yazılım ya da isletim sistemi ile ilgilidir. "ns" in MIBi pentium, işletim sistemi de Linux 1.2 dir.
TXT kaydı serbest bir kayıttır. İstediginiz herhangi bir şey için kullanabilirsiniz.
CNAME (Canonical NAME) ayni makineye birden fazla ad verebilmek için kullanılır. "www" ve "richard" "ns" için birer lakaptır.
Onemli not: A, MX, CNAME ve SOA kayıtları HİÇBİR ZAMAN CNAME kaydına işaret etmemelidir. Sadece A tipi kayıtlara işaret etmelidirler. Yani:
foobar CNAME richard ; NO!
foobar CNAME ns ; Yes!
Dikkat edilmesi gereken başka bir nokta ise CNAME in e-posta adresi olamayacağıdır: webmaster@www.linux.bogus geçersiz bir adrestir. E-posta adresi olarak geçerli olabilmesi için A kaydı olması gerekmektedir:
www A 127.0.0.2
Yeni veritabanını "ndc reload" komutuyla yeniden yükleyin.
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> ls -d linux.bogus
[localhost] linux.bogus. SOA linux.bogus hostmaster.linux.bogus. (1995 11301 28800 7200 604800 86400) linux.bogus. NS ns.linux.bogus linux.bogus. NS ns.friend.bogus linux.bogus. MX 10 mail.linux.bogus linux.bogus. MX 20 mail.friend.bogus linux.bogus. TXT "Linux.Bogus, your DNS consultants" localhost A 127.0.0.1 mail A 127.0.0.4 mail MX 10 mail.linux.bogus mail MX 20 mail.friend.bogus mail HINFO 386sx Linux 1.0.9 donald A 127.0.0.3 donald MX 10 mail.linux.bogus donald MX 20 mail.friend.bogus donald HINFO i486 Linux 1.2 donald TXT "DEK" www CNAME ns.linux.bogus richard CNAME ns.linux.bogus ftp A 127.0.0.5 ftp MX 10 mail.linux.bogus ftp MX 20 mail.friend.bogus ftp HINFO P6 Linux 1.3.59 ns A 127.0.0.2 ns MX 10 mail.linux.bogus ns MX 20 mail.friend.bogus ns HINFO Pentium Linux 1.2 ns TXT "RMS" linux.bogus. SOA linux.bogus hostmaster.linux.bogus. (1995 11301 28800 7200 604800 86400)
> set q=any
> www.linux.bogus.
Server: localhost
Address: 127.0.0.1
www.linux.bogus canonical name = ns.linux.bogus
ns.linux.bogus
linux.bogus nameserver = ns.linux.bogus
linux.bogus nameserver = ns.friend.bogus
ns.linux.bogus internet address = 127.0.0.2
Aşağıya Doğru
Elbette bu alan tamamiyle --hayali--, tüm adresler de öyle. Gerçek bir alan için asıl alan adlarını ve internet adreslerini kullanın. Bunu tamamladıktan sonra bir reverse lookup alan dosyası gerekiyor. 127.0.0 dosyasına benzeyen bu dosya her makine için bir PTR RR içerecek.
127.0.0.2 PTR ns.linux.bogus.
127.0.0.3 PTR donald.linux.bogus.
127.0.0.4 PTR mail.linux.bogus.
127.0.0.5 PTR ftp.linux.bogus.
Dosya adı 127.0.0 0.0.127.in-addr.arpa örneğinde olduğu gibi tersine çevrilmeli.
linux.bogus alanıyla oynamayı bitirdikten sonra named.boot dosyanızdan çıkarmayı unutmayın.
root.cache dosyasını güncel tuttuğunuz sürece sorun cıkmayacaktır."dig" programını çalıştırdıgınızda kendi sunucunuz için gerekli root.cache dosyasını oluşturacak çıktıyı verecektir. "dig"i tekrar bu root sunuculardan birinin adresiyle çalıştırın ve yeni cache dosyanızı oluşturun. (dig .@e.root-servers.net > root.cache.yeni)
cache dosyasını yeniledikten sonra "ndc restart" demeyi unutmayın.
named.cache i otomatik olarak güncellemek için aşağıdaki scripti de kullanabilirsiniz. Crontab'a koyun ve unutun. Aşagidaki script posta sisteminizin çalıştığını ve hostmaster aliasının olduğunu varsayar.
#!/bin/sh # # Update the nameserver cache information file once per month. # This is run automatically by a cron entry. # ( echo "To: hostmaster" echo "From: system " echo "Subject: Automatic update of the named.boot file" echo export PATH=/sbin:/usr/sbin:/bin:/usr/bin: cd /var/named dig . @rs.internic.net >named.cache.new echo "The named.boot file has been updated to contain the following information:" echo cat named.boot.new chown root.root named.cache.new chmod 444 named.cache.new rm -f named.cache.old mv named.cache named.cache.old mv named.cache.new named.cache ndc restart echo echo "The nameserver has been restarted to ensure that the update is complete. " echo "The previous named.cache file is now called /var/named/named.cache.old." ) 2>&1 | /usr/lib/sendmail -t exit 0
Normalde ağa bağlı olmadığımda resolv.conf dosyam sadece
domain uio.no
Bu çözümleme yordamlarının bir ad sunucusuna bağlanmaya çalısıp beni bekletmelerini engeller. Fakat ağa bağlandığımda gerçek bir resolv.conf dosyasına ihtiyaç duyarım, bu nedenle de iki tane hazır dosya bulunduruyorum: resolv.conf.yerel ve resolv.conf.bağlı . İkincisi dökümanda anlattıgım resolv.conf dosyasına benziyor. Ağa bağlanmak için küçük bir script im var: "ppp-on"
#!/bin/sh echo calling... pppd
#!/bin/sh interface="$1" device="$2" speed="$3" myip="$4" upip="$5" ... cp -v /etc/resolv.conf.connected /etc/resolv.conf ... /usr/sbin/named
#!/bin/sh cp /etc/resolv.conf.local /etc/resolv.conf read namedpid /var/run/named.pid kill $namedpid
cp /etc/hosts.ppp /etc/hosts echo $myip roke >>/etc/hosts
127.0.0.1 localhost
Ağa bağlı olmadığınızda named çalıştırmak pek zekice bir davranış değil bence. Her defasında ağa sorgular gonderip bekleyecek olan named sizi iyice yavaşlatacaktir. Eger dialup kullanıyorsanız bağlantıyı her kapatışınızda named yi öldürmeniz gerekmektedir.
Bazıları yavaş bağlantılarda "forwarders" kullanmayı tercih ediyorlar. Eger internet servis sağlayıcınızın 1.2.3.4 ve 1.2.3.5 adreslerinde ad sunucuları varsa named.boot dosyasına aşağıdaki satırı ekleyebilirsiniz:
forwarders 1.2.3.4 1.2.3.5
Online dökümanlar: