original in de Andreas J Gundacker
de to en Dallas L. Gale
en to tr Caner Altınbaşak
Bu makale ilk olarakLinux Magazinedergisinde yayımlanmıştır.
Yazarın izni ile yayımlanmaktadır
Bu makale beş bölüme ayrılmıştır. :
İlk bölüm İnternetin ne olduğunu ve nereden çıktığını açıklar.
İkinci kısım bazı teknik terimleri anlamanıza yardım edecektir.
Üçüncü bölüm internetin en önemli bölümlerine adanmıştır; TCP ve IP
Dördüncü bölüm DNS'in işlevini anlamanızı sağlayacaktır.
Beşinci bölüm pratik bölümdür, DNS'in Linux işletim sistemine kurularak yerel bir ağ için bir ağ geçidi ile yapılandırılması anlatılacaktır. Yazarın ağı üzerine nasıl uygulandığı gösterilecektir. Bu anlamda doküman acemiler için temel giriş ve ileri düzey kullanıcılar için pratik kaynak olacaktır.
İnternet, ARPANET'in sonucu olarak doğmuş, tüm birbirine bağlı bilgisayar ağları anlamına gelmektedir. ARPANET, 1969 yılında bir amerikan projesi olan DARPA'dan (Defence Advanced Research Project Agency) yaratılmıştır. ARPANET deneysel durumu aştığında, TCP
1983'de ARPANET bölündü. Sonuç Savuma Veri Ağı(DPN)ağının bi parçası olarak MILNET ve diğer bir küçük ARPANET oldu. MILNET ve ARPANET'in kombinasyonlarını içeren bir yapı ise INTERNET'i kontrol etti. 1990'da dünya üzerinde bir çok ağ içeren İNTERNET'in açılmasıyla ARPANET ortadan kayboldu.
Üniversitenizin matematik bölümünde yerel ağ'a bağlı olan bir bilgisayarın başında oturduğunuzu hayal edini (Şekil 1).
Matematik bölümü yerel ağı (LAN)başka bir binada bulunan fizik bölümü yerel ağına omurga ile bağlıdır. Fizik labortuvarında bulunan bir arkaddaşınıza veri göndermek istiyorsunuz. Sizin bilgisayarınızın ve arkadaşınızın bilgisayarının onlara ait ve tek olan isimlerini bilmeniz büyük önem taşır. Örneğin sizin bilgisayarınız Einstein, arkadaşınızınki Edison olsun. İki fiziksel olarak ayrı ağın haberleşmesi için bir ağ geçidine ihtiyaç vardır. Ağ geçidi fiziksel olarak birbirinden bağımsız ağları bağlamak için kullanılan bilgisayardır. Bir tane matematik ağı için, bir tane de fizik ağı için bulunur. Buradan sonra matematik ağ geçidi için math, fizik ağ geçidi için fisa ismini kullanacağız.
Şekil 1: Einsteindan Edison'a bir datagramın yolu
Çünkü Einstein'ın yazılımı (rlogin, telnet, ftp vs..)fiziksel olarak bağımsız bir ağ üzerinde bulunan Edison'a doğrudan veri (Veri Paketleri) gönderemez. Ağ geçidi adrese veri taşıma işini üzerinde alır. Diğer bir deyişle, Math'ın Fisa'ya veri göndermesi Fizik laboratuvarındaki herhangi iki bilgisayarın birbirine veri göndermesi gibi gerçekleşir. Veri alış verişi üniversite omurgası üzerinden Fisa kullanılarak yapılır ve Edison'a iletilir. Bu tip uzaktaki bir sisteme erişim işlemine yol bulma (Routing) ve veri veya veri paketlerine vericik (datagram) adı verilir.
Datagramlar, yani en küçük veri birimleri IP - İnternet Protokolü adı verilen bir protokol ile iletilirler, bu donanımdan tamamen bağımsızdır. Bu anlamda, IP protokolünün prensip olarak avantajlı olduğu noktaya geldik, yani fiziksel olarak ayrık olan ağları birleştirip tek homojen bir ağ olarak görülmesi özelliğine.
IP'nin temel fonksiyonları:
Fakat diğer bir yandan, IP veri iletişimi kontrol bilgisi(el sıkışma, handshake) kullanmaz, diğer bir deyişle IP verilerin gönderilen yere doğru sıra ile gönderilip gönderilmediği üzerinde kontrol uygulamadan paketleri iletir. Bu problem üzerinde daha sonra duracağız.
IP'nin bir adres şeması vardır ve bu şema donanımdan tamamen bağımsızdır. Bu bir bilgisayara 32 bitlik bir sayı atar; buna IP adresi denir. IP adresi nokta ile ayrılan 4 on tabanında sayı ile gösterilir. Örneğin Einstein 192.176.12.7 olarak görülecek olan 0x95c0c02 donanım adresine sahip olabilir.
Birbirinden bağımsız üç adresin olduğunun anlaşılması gerekir.
Eternet kartı adresi işletim sistemi üzerinde bir port adresidir; genelde Linux üzerinde eth0-n şeklindedir. Örneğin seri portlar ca0-n veya ttyS0-n şeklinde adlandırılır. En açık şekilde ifade etmek gerekirse; bilgisayar ismi Einstein değildir. Fakat bu isim yukarıda bahsedilen donanım adresine işaret eder.
İnternet protokolünün verileri datagramlar şeklinde ilettiğini biliyorsunuz. Her datagram başlığında belirtilen internet veya yerel ağ üzerinde bulunan adrese gönderilir.Bir IP adresi iki parçadan oluşur:
Bilgisayar adreslerinin çokluğu ağın büyüklüğüne bağlıdır. Bu değişik ihtiyaçları karşılamak için farklı ağ cinsleri oluşturmasına ve IP adresleri arasında ayrıma gidilmesine yol açar.
A sınıfı: | A sınıfı ağlar 1.0.0.0'dan 127.0.0.0'a kadar olan ağları kapsar. Ağ tiplerini tanımlayan kısım ilk iki sekiz bitte bulunur. Bağlı bilgisayarları tanımlamak için 24 bit kalmıştır. Böylece 1.6 milyar bilgisayar adreslenebilir. | |
B sınıfı: | B sınıfı ağlar 128.0.0.0'dan 191.255.255.0'a kadar ağları kapsar. Ağ tiplerini tanımlayan kısım ilk iki 8 bitlik bölümde bulunur. Bu her biri 65024 bilgisayar barındıran 16320 ağa izin verir. | |
C sınıfı: | C sınıfı ağlar 192.0.0.0'dan 223.255.255.0'a kadar ağları kapsar. İlk üç sekiz bitlik bölüm bu ağın tipini tanımlar. Bu 256 bilgisayarlı 2 milyar ağa izin verir. | |
D,E ve F sınıfları: | 224.0.0.0'dan 225.0.0.0'a kadar olan ağlar deney safhasında, belirli bir ağı ifade etmeyen veya ileride kullanılmak üzere ayrılmış ağları ifade eder. |
Örneğimize geri dönersek Einstein'ın 149.176.12.7 IP adresiyle B sınıfı bir ağ oluşturduğu görünür: 149.176.0.0 ve 12.7. Ağa bağlı bilgisayarların numaralarının 0 veya 255 olamayacağını bilmemiz gerekir, bunlar özel amaçlar için ayrılmışlardır. Sonunda sıfırlar olacak şekilde belirlenmiş bilgisayar adresi ağın kimliğini gösterir. Eğer ağa bağlı bigisayarın adresi 255 ise(149.176.255.255) bu yayın (radyo) adresi anlamına gelir. Bu adrese gönderilen veriler 149.176.0.0 ağında bulunan tüm bilgisayarlarca alınırlar.
Aynı zamanda, iki adet daha ayrılmış ağ adresi vardır; varsayılan yol olarak adlandırılan 0.0.0.0 ve geri dönüş adresi olan 127.0.0.0. Varsayılan yolu IP datagramları yönlendirirken kullanılır.(not:maskeleme)
Şimdilik en önemli olanbilgisayarın kendi içerisinde olan ağ akışı için ayrılmış olan 127.0.0.0 ağıdır. 127.0.0.1 genelde aynen bir kapalı devre gibi hareket eden bilgisayarınızdaki geri besleme ara birimini işaret eder. Oraya gönderilen her paket veri aynen anında geri gönderilir. Bu sebeple geri besleme, ağ yazılımlarını gerçek ağ içerisinde kullanmadan önce test etmek için kullanılır.
"ping localhost" veya "ping 127.0.0.1" Linux altında TCP
Sonuçta kullanacağınız IP adresi NIC (Ağ Bilgi Servisi) adı verilen bir enstitü tarafından kararlaştırılır. En iyisi internet hizmet sağlayıcınızdan IP adresi reserve etmesini istemektir. Eğer ağınızın hiç bir zaman internete bağlı olmayacağından eminseniz o zaman istediğiniz IP adresini seçebilirsiniz. Hiç bir veri paketinin internete kaçmadığından emin olmanız için, sadece yerel bir ağ içerisinde kullanılan ve internet sistemlerinde kullanılmayan bir IP seçmeniz önem taşır.
Bu adresler:
Bununla birlikte internete bir ağ geçidi kurmak da mümkündür. Başka bir deyişle dışardaki adresiniz internet tarafından bilinir fakat ağınızdaki bilgisayarlar normal olarak onlara ulaşamazlar çünkü onların IP'leri internete aktarılmaz. Buna rağmen sunucuya bağlı bilgisayarlar Dünya Çağında Ağ(WWW)'ye bağlıdır.
Daha önce de belirttiğimiz gibi internet protokolü akış kontrolü sağlamaz; bunu TCP sağlar. TCP byte üzerine uygulanan, güvenilir ve bağlantı odaklı bir protokoldür.
Bunlardan dolayı TCP verinin doğru olarak sıralanmasından sorumludur.
Yer isimlendirme sistemi en temel anlamda bilgisayarların dağıtık halde bulunan ağı yapılandıran veri tabanlarıdır. Bu veri tabanı parçalarının yerel kontrolünü kolaylaştırır ve her parçanın bir sunucu-istemci şeması içerisinde ağda bulunmasını sağlar.
İsim sunucu, DNS'in istemci-sunucu mekanizmasının sunucu kısmını oluşturan yazılımdır. İsim sunucuları belirli bir veri tabanın kullanımını istemciler veya diğer bir deyişle çözücülere sunarlar. Çoğu zaman çözücüler sadece sorgular üreten kütüphane paçalarıdır. İsim sunucusuna ağ üzerinden ulaşılır.
DNS veritabanı yapısıŞekil 2'de gösterilmiştir. Tüm veri tabanı kökü tepede bulunan ters bir ağaç gibi gözükmektedir. Kökün etiket ismi NULL'dur, fakat sadece bir nokta ile gösterilir("."). Ağacın üzerindeki her birleşme noktası tüm veri tabanının bir parçasını ifade eder, buna DNS yeri de dahildir. Buradan sonra, her etki alanı, alt etki alanı adı verilen parçalara ayrılabilir. Bunlar çocuk bağlantı noktaları olurlar.
Şekil 2Etki alanı ismi sunucusu veri tabanı:
Her etki alanı, kendi ailesinden olan etki alanlarını tanımlayacak şekilde etiketlenir. Etki alanı aynı zamanda bir etki alanı ismine sahiptir. Bu aynen ana klasörün bilgisayar dosya sistemi içerisnde yer tanımladığı gibi veri tabanı içerisindeki pozisyonunu tanımlar.
Etki alanı isim sunucusu içerisinnde tüm etki alanı ismi ard arda sıralanmış "." işareti ile ayrılmış etiketlerden oluşmaktadır (Örneğin: einstein.mathematics.ac.edu). Her etki alanının değişik bir organizasyon tarafından yönetilmesine izin verildiği için, her organizasyon etki alanlarını bir çok parçalara ayırarak yönetimlerini başka organizasyonlara verebilirler.
Örneğin Ağ Araştırma Merkezi "edu"(eğitim-öğretim) etki alanını kontrol eder ve "ac.edu"(akademik) alt etki alanıyla ilgili tüm yönetim haklarını üniversiteye devreder. Üniveriste de "mathematics.ac.edu" adresinin yönetimini matematik bölümüne verir.(Şekil 3).
Şekil 3Alt etki alanları oluşturma:
Son olarak bir etki alanının bilgisayarlar dışında alt etki alanları da olduğundan bahsedilmelidir. Ağ üzerindeki her bilgisayar kendi hakkında bilgi içeren bir etki alanı ismine sahiptir. Bu bilgiler IP adresi veya yönlendirmenin nasıl yapıldığı, elektronik postanın nasıl işlediği gibi bilgilerdir. Bir host bir veya daha fazla etki alanı ismi veya sahip bir bilgisayar en basit anlamda kanonik yapıda bir etki alanı ismine işarettir. Örneğin eşinizin ismi Maria Elizabeth ise, ona Maria dediğiniz de de, Elizabeth dediğiniz de de farklı isimle seslenmiş olsanızda aynı kişiyi işaret etmiş olursunuz.
Etki alanı organizasyonları etki alanları içerisinde istedikleri isimleri seçmekte özgürdürler. Hangi isim kullanılırsa kullanılsın diğer bir isimle karışıklığa yol açmayacaktır, çünkü tek olan etki alanı sonuna eklenmiştir. Bu anlamda, üniversite içerisinde einstein isminde iki bilgisayar bulunabilir. Örneğin einstein.physics.ac.edu adresinden yollanan bir paket her zaman einstein.mathematics.ac.edu adresini bulacaktır. Çünkü aile etki alanı isimleri birbirlerinden farklıdır.
Çünkü uzaktaki bir ağ üzerinde bir bilgisayarı bulmamız için IP adresini veya etki alanı ismini çözümlememiz gerekir. Daha önce bahsedildiği gibi, isimleri hatırlamak rakamları hatırlamaktan daha kolaydır. Özellikle internet gibi engin adrese sahip bir ortam düşünüldüğünde.
Diğer taraftan, bilgisayarlar IP adresi gibi numaralarla kusursuz işlerler. Peki örneğin, "http://www.altavista.com" gibi bir adres girdiğinizde ne olur. İnternet gezgininiz internet servis sağlayıcınızın etki alanı ismi sunucusuna bir istek bırakır ve sunucu bu ismi, ilgili IP adresini bularak çözer.("einstein.mathematics.ac.edu" adresin aranması şekil 4'de detaylandırılmıştır.
Şekil 4" einstein.mathematics.ac.edu" nun internette çözümlenmesi
Bu her etki alanı sunucusunun kendi yetki alanı içerisinde tüm bilgiye sahip olduğu diğer etki alanları ile ilgili ise temel bilgiye sahip olduğu anlamına gelir. Yetki alanı dışında bir bölgeye bir istek gönderildiğinde, sunucunuz en azından nereye bakılacağını bilir. Bu istediğiniz yere ulaşmadan önce adres arama isteğinin bir çok etki alanı sunucusundan geçeceği anlamına gelir.
Gideceğiniz noktanın IP adresini biliyor olsanız bile sizin bilgisayarınız aynı bölge içerisinde değilse diğer etki alanı sunucularına danışmanız önemlidir.Buradan etki alanı isim sunucusunun neden tek bir merkezi veri tabanında olmadığı hayal edilebilir. İlk sebep milyarlarca sunucu arasındanbir tanesini aramak oldukça uzun zaman alacaktır. İkinci sebep ise tüm dünyadan aynı anda gelen binlerce istek odukça uzun bir kuyruk oluşturacaktır. Ek olarak anı bölgede bulunan bir bilgisayara ulaşmak için uzakta bulunan bir sunucuya gitmemiz pek mantıklı değildir.
Şimdiye kadar adreslerin ve isimlerin çözümlenmesi ve bulunmasından söz ettik. Peki eğer elinizde bir IP adresi varsa ve bu Ip adresinin hangi etki alanına ait olduğunu öğrenmek istiyorsanız ne olur? Bu problemi çözmek için"in-addr.arpa"(şekil 5) etki alanı yaratılmıştır.
Bu etki alanına ters etki alanı denir ve IP adreslerinin çözümlenerek etki alanı ismine çevrilmesine tersine adresleme adı verilir. Ters etki alanı ismi IP adresindeki sayıları tersten yazarak ve sonuna in-addr.arpa eklenerek bulunur.
Örneğin matematik bölümünde bulunan "einstein.mathematics.ac.edu" etki alanı isimli Einstein isimli bilgisayarın IP numarasının "149.176.12.7" olduğunu hatırlayın.
"mathematics.ac.edu" etki alanı "12.176.149.in-addr.arpa" ters etki alanı ismine ve "einstein.mathematics.ac.edu" adlı bilgisayar "7.12.176.149.in-addr.arpa" ters etki alanı ismine sahiptir.
Şekil 5: Ters Adres Haritası
Aşağıdaki kısım LINUX üzerinde eternet kartlarını kurmayı ve ayarlarını yapmayı bildiğiniz varsayılarak hazırlanmıştır. "ifconfig" ve "ping localhost" komutları her bilgisayar için doğru ayarları test edebilir. Şimdi kendimizi DNS kullanarak BIND'i ayarlayarak bilgisayarlarımızı birbirine bağlamaya adayacağız. İsim sunucusu olarak çalışacak bilgisayarda BIND paketinin yüklü olması gerekir. Bu bölümde hayali bi etki alanı yükleyeceğiz. Bu yolla sadece IP adreslerini değiştirerek, ve akendi ağınız ile ilgili bir kaç küçük ufak değişiklik yaparak kendi ağınızı kurabilirsiniz.
Figure 6: Alcomato Dağıtım Ağı
Bizim hayali etki alanımız bir içecek toptancısı içindir. Bira ve Likör üzerinde uzmanlaşmış "Alcomato Distributions" şirketine NIS'e başvurduğunda "alomat.com" etki alanı ismi verilmiştir. Alcomato Distribuitons'un "192.249.249" ve "192.253.253" numaralarına sahip iki eterneti vardır. (Şekil 6).
Bilgisayar tablosunun bir parçası (genelde /etc/hosts dosyası) aşağıdakini gösterir.
/etc/hosts |
127.0.0.1 localhost # Bunlar likör için bilgisayarlardır. 192.249.249.2 whisky.alcomat.com whisky 192.249.249.3 brandy.alcomat.com brandy 192.249.249.4 vodka.alcomat.com vodka ......... # Bunlar bira için bilgisayarlardır. 192.253.253.2 mahou.alcomat.com mahou 192.253.253.3 augustiner.alcomat.com augustiner 192.253.253.4 polar.alcomat.com polar .......... # Bunlar eternet için ağ geçitleridir. 192.249.249.1 tubo.alcomat.com tubo tu tub249 192.253.253.1 tubo.alcomat.com tubo tu tub253 |
İlk adım bilgisayar tablosunu eşleniği olan DNS verisine çevirmek olacaktır. DNS bir çok değişik dosya içerir: tüm bilgisayar isimlerini IP-adreslerine çeviren bir dosya bulunur. Diğer dosyalar IP adreslerini bilgisayar adreslerine tekrar çevirirler. IP adreslerinden bilgisayar isimlerini aramaya tersine adres arama adı verilir ve her ağın kendi tersine adres arama dosyası vardır.
İsimleri adreslere çeviren dosyayı çağırdım.named.hosts. Adresleri isimlere çevirmek için ise şu dosyayı çağırdım: named.249 and named.253 Bu dosyalar hayali şirketin iki ağına ilişkindir. Siz bu dosyalar için istediğiniz ismi seçebilirsiniz. Bununla birlikte ben bunlara Veri Tabanı dosyaları diyeceğim.
Bundan ötesi her sunucu için aşağı yukarı aynı olan iki veri tabanı dosyası daha blunmaktadır. Bunlara ben named.cache and named.local.
diyeceğim.Bu veri tabanı dosylarını birleştirmek için, isim sunucusu ile başlayan bir dosyaya ihtiyaç duyar. BIND kullanıldığında bu dosya genelde /etc/named.bootolur. Veri tabanı dosyaları DNS için özeldir. Başlangıç dosyası isim sunucusu tanımı için dir.
Bu dosyalarda bulunan çoğu elemana DNS kaynak kayıtları denir. DNS referanslarına göre kaynak kayıtları aşağıdaki sırada olmalıdır.
Aşağıdaki kayıtlar bu etki alanı için bilgisayar bilgisiniz gösterir.
Yorumlar: Yorum ve boş satır eklemek DNS dosyalarının daha okunabilir olmasını sağlar. Yorumlar nokta veya virgül ile başlar ve satırın sonunda biterler. İsim sunucuları yorumları da boş satırlar gibi atlarlar.
SOA kayıdı:
Her veri tabanı dosyasının kaynak kaydı SOA kaydıdır. (Yetkinin başlaması) SOA kaydı bu etki alanı içerisinde bulunan bilgisayarlar için en iyi bilgi kayanğının bu isin sunucusu olduğunu ifade eder. Bizim isim suncumuz -augustiner- SOA kaydından dolayı "alcomat.com" etki alanı için yetkilidir. Bir SOA kaydı named.hosts, named.249 ve named.253 için gereklidir. "named.hosts" dosyasında aşağıdaki SOA kaydını ayarlayacağız.
SOA record |
alcomat.com. IN SOA augustiner.alcomat.com. juan.mahou.alcomat.com. ( 1 ; Serial for updates 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 week |
"alcomat.com" ismi ilk sütunda olmalıdır.isimlerin sonuna bir noktalı virgül koymak çok büyük önem taşır. ! Eğer bu yapılmazsa "alcomat.com" etki alanı ismi otomatik olarak eklenir, ve bu hiç bir anlama gelmez. Sizeabbreviations ile uğraştığınızda gerekli açıklamayı yapacağım.
"IN" internet için koyulmuştur. Diğer sınıflar da mevcuttur fakat genelde kullanılmazlar.
SOA'dan sonra ilk isim olan augustiner.alcomat.com bu bilgi için isim sunucusudur.İkinci isim,juan.mahou.alcomat.com, bu dosyayı hazırlayan kişinin mail adresidir.(Eğer ilk noktayı @ ile değiştirirseniz.) BIND bu sebeple başka bir kaynak kaydı tutar:RP (Sorumlu Kişi).
Parantezler SOA kaydının bir çok satıra yayılmasını engeller. Genelde parantezler arasındaki satırlar bizim hayali ağımızda kullanmadığımız ikincil isim sunucusunu belirtmek için kullanılır.Bu konu yazının br dahaki sürümünde anlatılacaktır.
Benzer SOA kayıtları named.249 and named.253dosyalarına da eklenir. Bu dosyalarda alcomat.com'un SOA kaydının ilk isminin in-addr.arpa üzerinde değiştirilmelidir: 249.249.192.in-addr.arpa ve 253.253.192.in-addr.arpa şeklinde olmaldır. < p>
NS kaydı:
Veri tabanı dosyamıza ekleyeceğimiz ikinci satır NS kaydıdır. Etki alanımızın NS kayıtları;
NS kaydı |
alcomat.com. IN NS augustiner.alcomat.com. alcomat.com. IN NS tubo.alcomat.com. |
Bu kayıtlar bize "alcomat.com" için iki isim sunucusunun bulunduğunu göstermektedir. İsim suncuları "augustiner" ve "tubo" üzerinde bulunmaktadır. "tubo", (ağ geçidimiz) gibi birden fazla eternet bağlantısı içeren bilgisayarlar ağa iyi bağlı oldukları için isim sunucusu olmak için mükemmel seçimlerdir.İlk olarak bunlar bilgisayarlar tarafından doğrudan ulaşılabilirler ve bazı durumlarda yönlendirici olarak hizmet görürler, ve iyi takip edilirlerse hiç bir zaman kapanmazlar.
Aynen SOA kayıtları gibi NS kayıtlarını da dosyalara ekleyeceğiz. named.249 and named.253.
Adres ve Takma isim kayıtları:
Bir dahaki adım adreslerin isimlerle eşleştirilmesidir. Aşağıdaki kaynak kayıtlarını named.hosts dosyasına ekleriz.
A kaydı |
; ;bilgisayar adresi ; localhost.alcomat.com. IN A 127.0.0.1 mahou.alcomat.com. IN A 192.253.253.2 augustiner.alcomat.com. IN A 192.253.253.3 polar.alcomat.com. IN A 192.253.253.4 ; ;çoğul yerli bilgisayarlar ; tubo.alcomat.com. IN A 192.253.253.1 tubo.alcomat.com. IN A 192.249.249.1 ; ; Takma isimler ; edel.alcomat.com. IN CNAME augustiner.alcomat.com. pol.alcomat.com. IN CNAME polar.alcomat.com. tu.alcomat.com. IN CNAME tubo.alcomat.com. tub249.alcomat.com. IN A 192.249.249.1 tub253.alcomat.com. IN A 192.253.253.1 |
İlk iki blok sizi şaşırtmayacaktır. "A" her adresin ve kaynak kaydının bir adrese isim eşlediğini gösterir.Tubo bir yönlendirici olarak çalışır ve iki kaynak kaydı olduğu için adresine ilişkin iki adet isim bulunmaktadır.
Üçüncü blok takma isim tablosudur. İlk iki takma ad bir "CNAME"(kanonik isim) kaynak kaydı yaratacaktır. Bununla birlikte diğer iki takma isim içinde adres kaydı yaratacağız.
Bir isim suncusu bir isim aradığında ve ilgili CNAME kaydını bulduğunda bunu ilk olan bilgisayar ismiyle değiştirir ve aramaya devam eder. Örneğin eğer isin sunucusu "tu" yu arıyorsa "tubo" yu aramasını söyleyen CNAME'i bulur ve "tubo" yu arar. "tubo" bulunduğunda 192.249.249.1 ve 192.253.253.1 geri döndürülür.
Son iki satır ise özel bir problemi çzömek için kullanılırlar. Bir ağ geçidiniz olduğunu düşünün ve "tubo" ve siz bir arabirimi test etmek istiyorsunuz.Genelde uygulanan bir çözüm arabirime bir "ping" gönderip çalışıp çalışmadığını gözlemlemektir. "ping tubo" yazdığınızda isim sunucusu iki yönü de döndürür. Bizim tablomuzda tub249 ve tub253 için takma isim kullanmadık çünkü bu iki tarf için de takma ismin geri döndürülmesi anlamına gelmekteydi. Bundan kaçınmak için, sadece "A" kullanarak iki arabirimi de ifade ettik. Tubo'nun arabirminin 192.249.249.1 olduğunu ispatlamak kullanıma hazırdır. "ping 249" komutunu gönderirsek sadece bir adrese gideceği için "tub253" ile aynı şekilde çalışacaktır.
Şimdi bunun için birgenel kuraloluşturalım:
Eğer bir bilgisayar birden fazla network bağlantı aracına sahipse, "A" adres kaydı yaratılarak her takma adın bir adres için tekil olması sağlanır. |
tub249 veya tub253 gibi isimleri kullanıcıları tanımlamak için kullanmayın. Bunlar sadece sstem yönetimine hizmet için kullanılırlar ve kullanıcı bunları kullanmaz.
PTR kayıtları
Şimdi haritalarımızı isimlendirmek için adres oluşturacağız. named.249 dosyası 192.249.249. ağı için bilgisayarların haritasını içerir. Bu harita için kaynak kaydı PTR(Pointer, gösterici) kaydıdır. Bu ağ üzerindeki her bilgisayarda bir kayıt bulunur. Bu adres ters sıra ile yazılır ve sonuna in-addr.arpa eklenir.
Aşağıdaki kayıtlar 192.249.249 ağı için PTR kayıtlarıdır.
PTR kayıtları |
1.249.249.192.in-addr.arpa. IN PTR tubo.alcomat.com. 2.249.249.192.in-addr.arpa. IN PTR whisky.alcomat.com. 3.249.249.192.in-addr.arpa. IN PTR brandy.alcomat.com. 4.249.249.192.in-addr.arpa. IN PTR vodka.alcomat.com. |
Tubo'nun iki ağ arabirimi olduğu için iki adresi olduğunu hatırlayın. Bununla birlikte 192.249.249 ağına doğrudan bağlı olduğu için sadece biri gözükür. named.253 için de aynı şekilde çalışır.
alcomat.com etki alanı için bilgisayar tablosu dosyası
named.hosts |
alcomat.com. IN SOA augustiner.alcomat.com. juan.mahou.alcomat.com. ( 1 ; Serial for updates 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 week ; ; Our Name Servers ; alcomat.com. IN NS augustiner.alcomat.com. alcomat.com. IN NS tubo.alcomat.com. ; ; Host addresses ; localhost.alcomat.com. IN A 127.0.0.1 mahou.alcomat.com. IN A 192.253.253.2 augustiner.alcomat.com. IN A 192.253.253.3 polar.alcomat.com. IN A 192.253.253.4 whisky.alcomat.com. IN A 192.249.249.2 brandy.alcomat.com. IN A 192.249.249.3 vodka.alcomat.com. IN A 192.249.249.4 ; ; Multiple residence hosts ; tubo.alcomat.com. IN A 192.253.253.1 tubo.alcomat.com. IN A 192.249.249.1 ; ; Aliases ; edel.alcomat.com. IN CNAME augustiner.alcomat.com. pol.alcomat.com. IN CNAME polar.alcomat.com. tu.alcomat.com. IN CNAME tubo.alcomat.com. tub249.alcomat.com. IN A 192.249.249.1 tub253.alcomat.com. IN A 192.253.253.1 |
Bilgisayar isimlerinin adreslenmesi için named.249 ve named.253 dosyaları
named.249 |
249.249.192.in-addr.arpa. IN SOA augustiner.alcomat.com. juan.mahou.alcomat.com.( 1 ; Serial for updates 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 week ; ; Name Servers ; 249.249.192.in-addr.arpa. IN NS augustiner.alcomat.com. 249.249.192.in-addr.arpa. IN NS tubo.alcomat.com. ; ; Address to name map ; 1.249.249.192.in-addr.arpa. IN PTR tubo.alcomat.com. 2.249.249.192.in-addr.arpa. IN PTR whisky.alcomat.com. 3.249.249.192.in-addr.arpa. IN PTR brandy.alcomat.com. 4.249.249.192.in-addr.arpa. IN PTR vodka.alcomat.com. |
named.253 |
253.253.192.in-addr.arpa. IN SOA augustiner.alcomat.com. juan.mahou.alcomat.com.( 1 ; Serial for updates 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 week ; ; Name Servers ; 253.253.192.in-addr.arpa. IN NS augustiner.alcomat.com. 253.253.192.in-addr.arpa. IN NS tubo.alcomat.com. ; ; Address to name map ; 1.253.253.192.in-addr.arpa. IN PTR tubo.alcomat.com. 2.253.253.192.in-addr.arpa. IN PTR mahou.alcomat.com. 3.253.253.192.in-addr.arpa. IN PTR augustiner.alcomat.com. 4.253.253.192.in-addr.arpa. IN PTR polar.alcomat.com. |
Geri Dönüş Adresleri
Bir sunucu adının "geri dönüş ağı: named.local" için ilave bir dosyaya ihtiyacı vardır. Bilgisayarların kullandığı bu adresler kendileriyle doğrudan iletişim kurulabilmesi içindir. Geri dönüş ağı adresi daima 127.0.0. , bilgisayar adresi ise 127.0.0.1 dir. A Name Server needs an additional file for the "loopback
named.local |
0.0.127.in-addr.arpa. IN SOA augustiner.alcomat.com. juan.mahou.alcomat.com.( 1 ; Serial for updates 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 week ; ; Name Servers ; 0.0.127.in-addr.arpa. IN NS augustiner.alcomat.com. 0.0.127.in-addr.arpa. IN NS tubo.alcomat.com. ; ; Address to name map ; 0.0.127.in-addr.arpa. IN PTR localhost. |
Bu dosya internet üzerindeki tüm kök isim sunucularının adlarını ve adreslerini içerir. Eğer ağınızı internete bağlamayı düşşünmüyorsanız bu dosyayı kurmanız gerekmez.
Normal olarak BIND yazılım paketinde bu dosya(named.root veya named.cache) bulunsa bile, internet bilgisayarı ile ftp.ts.internic.net(198.41.0.5 e gidip isimsiz(anonymous) ftp ile güncel dosyayı indirmek en iyisidir. Bu dosya hiç bir sunucu adı için aynı olmadığı için ve BIND ile birlikte otomatik olarak kurulduğundan, açıklanmayacaktır. Bilmeniz gereken tek şey, sizin BIND uyarlamanızdaki bu dosyanın adının ne olduğudur.
En sona geldik ancak, bizim veri tabanı dosyalarımızı birleştiren bir dosyamız eksik. Başka bir deyişle isim sunucusu veri tabanı dosyalarının nerde saklandığını göstermesini bekler.
BIND bu dosyayı /etc/named.boot adıya arar. Bizim örneğimizde veri tabanı dosyaları usr/local/named/ klasöründe bulunmaktadır. Siz başka bir klasör seçebilirsiniz. Ancak ana dizine yer sorunu olabileceği endişesiyle kayıt etmeniz önerilmez.
named.boot |
directory /usr/local/named primary alcomat.com named.hosts primary 249.249.192.in-addr.arpa named.249 primary 253.253.192-in-addr.arpa named.253 primary 0.0.127.in-addr.arpa named.local cache . named.cache |
Dosyalar kurulduktan sonra sistem açılış dosyası içerisindeki "named" adlı dosyayı aktif hale getirmelisiniz. Böylece sistem ilk açılışında dosya otomatik olarak çalışacaktır.
Şimdiye kadar açıklamaları kolaylaştırmak amacıyla uzun dosya adları oluşturduk. Normalde dosya adları içinde kullanılan bir çok kısaltmalar vardır.
The origin
"named.boot" adlı açılış dosyasının ikinci sütunu daima bir etki alanını gösterir. Bu etki alanı bir çok kullanışlı kısaltma için bir anahtar teşkil eder ve bu veri tabanı dosyasındaki tüm bilgilerin orijinini gösterir.
Bu orijin nokta ile bitmeyen dosyaların içindeki tüm isimlerle birleştirilir. (mahou.alcomat.com bu durumda mahou.alcomat.com.alcomat.com biçimine dönüşecektir.) Her bir veri tabanı dosyasında orijin farklıdır.
The address of "mahou" from named.hosts: mahou.alcomat.com. IN A 192.253.253.2 would have to be able to be written: mahou IN A 192.253.253.2
We write the following in the named.249 file: 2.249.249.192.in-addr.arpa. IN PTR whisky.alcomat.com. because 249.249.192.in-addr.arpa is the origin, we will have to be able to write: 2 IN PTR whisky.alcomat.com.
@işareti
Etki alanı ismi orijin ismi ile aynı ise bu durum @ işareti ile belirlenir. SOA kayıtlarında bu durum çok sık görülür.
@ IN SOA augustiner.alcomat.com. juan.mahou.alcomat.com.( 1 ; Serial for updates 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 week
Önceki isimlerin tekrarı
Bir kaynak kaydının ilk sütunu bir tab veya boşluk içeriyorsa, bir önceki kaydın ismini kullanır. Bu durumda çoklu kaynak kaydı bir isim olarak ele almak çalışmları kolaylaştırır.
tubo IN A 192.253.253.1 IN A 192.249.249.1
Son olarak named.hosts dosyasının kısaltılmış biçimini göstereceğim. Geri kalan dosyalar üzerinde çalışma yapmaya iyi bir örnek olacaktır.
named.hosts (abbreviated) |
@ IN SOA augustiner juan.mahou ( 1 ; Serial for updates 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hours 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 week ; ; Our Name Servers (the name @ is included) ; IN NS augustiner.alcomat.com IN NS tubo.alcomat.com. ; Only in this file can the domain name be eliminated.(alcomat.com) ; of the Name Servers, because named.hosts has the same origin! ; ; Host addresses ; localhost IN A 127.0.0.1 mahou IN A 192.253.253.2 augustiner IN A 192.253.253.3 polar IN A 192.253.253.4 whisky IN A 192.249.249.2 brandy IN A 192.249.249.3 vodka IN A 192.249.249.4 tubo IN A 192.253.253.1 IN A 192.249.249.1 ; ; Hosts with multiple residency ; tub249 IN A 192.249.249.1 tub253 IN A 192.253.253.1 ; ; Aliases ; edel IN CNAME augustiner pol IN CNAME polar tu IN CNAME tubo |
Çözümleme kütüphanesi isim sunucusunun karşılığıdır. Linux altındaki standart "C" kütüphanelerine ait fonksiyonların bir grubunu içerir. En önemli çözümleme terimleri şunlardır:
Çözümleme fonksiyonlarının kontrolünü yapan en önemli dosya host.conf dur. "/etc" klasörü içerisinde bulunur ve diğer bütün işlerin yanında hangi servislerin hangi sırayla çözümleyici arafından isteneceğini belirler.
Bizim hayali ağımızda sadece iki seçeneğe ihtiyacımız var: Order ve multi.
order and multi.
Bizim örneğimizdeki etc/host.conf dosyası çözücüye ilk olarak DNS'i daha sonra da etc/hosts dosyasını kullanacağını gösterir.
/etc/host.conf |
# /etc/host.conf # We use named and the host table:/etc/hosts order bind hosts # We permit multiple addresses (only for /etc/hosts) multi on |
Bizim çözücümüz DNS kullandığı için, hangi isim sunucusuna başvuracağını söylememiz gerekir. Bunu yapmak için resolv.conf dosyası vardır ve bunu kullanmak gerekir. Üç sunucu ismi girilebilir. En çok güvenilir olanı en başa yazmanız tavsiye edilir. Çünkü başvuru sırası yazılan sıraya göredir.
/etc/resolv.conf |
# /etc/resolv.conf # The Alcomato Distributions domain domain alcomat.com # # The Name Server # As a second IP-address it makes sense to put the IP-address of your # Internet service provider nameserver 192.253.253.1 |
BIND kullanılan nslookup test yazılımını kullanmadan önce, syslog içerisinde hataların var olup olmadığına bakacağız. Eğer "named" i sistem açılışı sırasında otomatik olarak başlayacak şekilde ayarladıysanız, başlangıçta "named"den bir mesaj gelir, aktif olduğunu gösterir. Eğer "named"i el ile başlatmayı uygun görüyorsanız aşağıdaki komutu uygulayınız.
# /etc/named -b /etc/named.boot (bunu sadece root yapabilir)
Eğer bir hata oluşursa mesajlar görüntülenir. Örneğin;
Feb 12 21:16:48 tubo named [3221]:
named hosts Line 15: database
format error (192.249.249.3), demek olur ki bu satırda bir hata bulunmuştur.
Hataları düzelttikten sonra aşağıdaki komutu kullanın
# kill -HUP 'cat /etc/named.pid'
böylece isim sunucusu veri tabanı dsyalarını tekrar okuyabilir.
NSLOOKUP kullanarak test yapma
nslookup ile her tür kaynak kaydı aranabilir ve isim sunucusuna gönderilebilir. Burada biz sadece en basit testlerden szö edeceğiz.
Yerel Aramalar:
|
|
Eğer iki test gösterildiği gibi çalışıyorsa, İsim Sunucusu etki alanınız için doğru bir şekilde çalışıyor demektir
Uzaktaki bilgisayarları arama:
Yerel ağınızın internete bağlı olup olmadığını anlamak için en iyi yol nslookup komutu ile uzaktaki bir bilgisayarı aramaktır.
|
|
Eğer bu testten geçerse İsim sunucunuz kök isim sunucularının yerini belirleyebiliyor ve onlarla temasa geçip uzaktaki bilgisayar ahkkında bilgi alabiliyor demektir.