Etiketler: 16., DNS, (DOMAIN, NAME, SYSTEM–ALAN, İSİMLENDİRME, SERV |
| « Önceki başlık :: Sonraki başlık » |
| Yazar |
Mesaj |
SistemCesur Türk

Durum: Çevrimdışı Kayıt: 19.01.2006
Mesajlar: 12294
Level: 69
| Deneyim: |
12842 / 12842 |
|
|
|
100% |
|
Tarih: Mon Aug 13, 2007 6:28 pm Mesaj konusu: 16. DNS (DOMAIN NAME SYSTEM–ALAN İSİMLENDİRME SERV |
|
|
16. DNS (DOMAIN NAME SYSTEM–ALAN İSİMLENDİRME SERVİSİ)
16.1. Giriş
Bilgisayar ağlarının günümüzde olduğu kadar yaygın olmadığı dönemlerde makine, sunucu, yazıcı vb. ağ üzerindeki cihazlara ilgili nümerik adresleri ile erişmek kullanıcılar için fazla zor değildi. İnternet ‘in beklenenden daha hızlı büyümesiyle birlikte artan kullanıcı ve ağ üzerindeki cihazlarla birlikte nümerik isimler yerine alfanümerik hatırlanması kolay bir yapı geliştirildi. Bu yapıya Alan İsimlendirme Sistemi adı verilmektedir. Genellikle kısaltılmış şekliyle DNS olarak da kullanılmaktadır.
Alan isimleri verilirken alt isimler (subdomain) genelden özele doğru sıra izler. Örneğin, Türkiye Linux Kulanıcıları Grubu olarak ODTÜ ‘de yer alan kullanıcıların kullanabileceği alan adı, metu.linux.org.tr şeklindedir. Burada alt isim (.) ile birbirinden ayrılmıştır. En alt seviye olan ‘metu’ ODTÜ ‘de yer alan Linux kullanıcılarını, ‘linux’ Linux grubunu, ‘org’ Linux grubunun ticari kaygılar gütmeyen bir organizasyon olduğunu, ‘tr’ ise ISO tarafından belirlenen Türkiye ‘nin ülke kodunu ifade eder.
En üst düzeydeki bazı alan isimleri aşağıda listelenmiştir.
.com ticari kuruluşlar (commercial)
.edu üniversite düzeyinde eğitim kurumları (educational)
.k12 lise düzeyindeki eğitim kurumları
.org ticari olmayan organizasyonlar
.mil askeri kuruluşlar (military)
.net ağ organizasyonları (network)
.ülke kodu ISO tarafından belirlenen ülke kodu
16.2. TCP/IP Uygulamaları ve DNS
Makinalara ait isimlerin nümerik adresleri yerine alfanümerik isimlerinin kullanılmasıyla birlikte DNS standart hale gelmiş olup Internet üzerindeki çoğu uygulamalarda doğrudan alan isimleri kullanılmaktadır. TCP/IP uygulamalarında ise alan isimleri günlük kullanımda IP (32-bitlik) adreslerinin yerini almış durumdadır. Örneğin, metu.linux.org.tr’a telnet bağlantısı yapabilmek için hem
$telnet metu.linux.org.tr
komutu
$telnet 144.122.199.199
komutu yardımıyla ulaşabilirsiniz. Fakat herhangi bir şekilde ODTÜ’de yer alan metu.linux.org.tr sunucusunun IP adresinde değişiklik olursa yukarıdaki IP adresini kullanarak erişemezsiniz. Oysa IP adresi yerine metu.linux.org.tr sunucusuna bağlanırken alan adını kullanırsanız bu ve benzeri değişiklikler sizi etkilemez. Şimdi kabaca herhangi bir kullanıcının metu.linux.org.tr adresine bağlanmak istediğinde gerçekleşen DNS sorgusunun nasıl işlediğini ve Türkiye’deki yapıyı da anlatacak şekilde örnekleyelim.
Örneğin, Amerika’da herhangi bir Internet Servis Sağlayıcısı’ndan (ISS) bağlantıyı yapan bir kullanıcı (.........) adresine bağlanmak istedi. Kullanıcının bu adresi tarayıcısına girmesinden itibaren öncelikli olarak kendi alan adı sunucusuna (name server) bu adrese karşılık gelen IP adresini bulmak için gerekli sorguyu yollayacaktır. Türkiye’nin alan adı sunucusunun knidos.cc.metu.edu.tr olduğu bilgisi alındığı andan itibaren sorguyu bu kez knidos.cc.metu.edu.tr sunucusuna gönderecek ve buradan da linux.org.tr alanına ait bilgilerin metu.linux.org.tr sunucusunda tutulduğunu öğrenecek. Nihayet son sorgu metu.linux.org.tr sunucusuna yollanacak ve buradan da (......) adresine karşılık gelen IP adresini öğrenecek.
16.3. BIND Konfigürasyonu
BIND, Linux dağıtımlarının hemen hepsi ile gelen ve alan adı sorgularına yanıt veren yazılım paketidir. Açılımı Berkeley Internet Domain Name şeklindedir. Doğrudan Linux kurulu olan bir sunucu üzerindeki BIND konfigürasyonuna geçmeden DNS ile ilgili temel birkaç konudan bahsetmekte fayda var. DNS ile ilgili yazılımları istemci ve sunucu olarak ikiye ayırmak daha doğru olur:
Sunucu, istemciden gelen sorgulara yanıt veren ve sürekli çalışan bir işlem olup BIND paketinden çıkan named yazılımı bu işi görür. İstemcilerse Linux dağıtımlarıyla gelen host, nslookup vb. programlar olup sorguyu yapan yazılımlardır. Bununla birlikte BIND konfigürasyonunda sıklıkla karşımıza çıkacak olan birkaç kavram aşağıda açıklanmaktadır. Yeri geldikçe diğer kavramalara da değinilecektir.
primary name server
O alana ait bütün bilgilerin bulunacağı sunucu olup bu amaçla konfigüre edilmiş sunucudur. “primary name server” bir alan için ancak bir tane olabilir. “primary name server” tanımlanırken, named.hosts, named.boot, named,rev ve named.cache gibi dosyalara ihtiyaç vardır.
secondary named server
O alana ait veritabanındaki bilgileri “primary name server” dan belirli aralıklarla alan sunucudur.belirli aralıklarla transfer edilen bu dosyalara zone-file adı verilir. “primary name server” dan alınabilecek yanıtların aynısı ““secondary name server” dan da doğru şekilde alınabilir.
caching only name server
Bu şekilde konfigüre edilen DNS sunucuları aynı sorguları “cache” de tutup bir sonraki sorgu için bir önceki aynı sorguya alınan yanıt kullanılır. Bir çok DNS sunucusu bu şekilde konfigüre ediliyor olmasına rağmen “caching only” sunucular her zaman sorgulara doğru yanıt vermeyebilirler.
BIND paketi bütün Linux dağılımları ile gelir. BIND’ın yeni versiyonuna ihtiyaç duyduğunuzda Hata! Yeri imi tanımlanmamış. adresinden paketi transfer edebilirsiniz. Gerekli kurulumları yaptığınızda /usr /sbin dizini altına named binary dosyasını koyacaktır.
Named konfigürasyonu ile ilgili dosyalar ve işlevleri aşağıda verilmektedir.
named.boot
Genel named parametrelerini ve o alana ait veritabanı bilgilerinin nerede olacağı belirtilir.
named.cache
Internet üzerindeki root domain sunucularının listesini içerir.
named.local
loopback adresine ait tanımları içerir.
named.hosts
O domain’e ait makine isimlerine karşılık gelen IP numaralarının bulunduğu dosya.
named.reverse
IP adresine karşılık gelen isimlerin listesinin bulunduğu dosya.
Yukarıda belirtilen dosya isimlerinden named.boot dışındaki dosya isimleri genelde karşılaşılan isimler olduğu için kullanılmıştır. Bu dosya isimlerini istediğiniz gibi değiştirebilirsiniz. “named” konfigürasyonuyla ilgili kullanılan örnek dosyalar linux.org.tr alanının alan adı sunuculuğunu yapan metu.linux.org.tr makinesinde alınmıştır. (yani linux.org.tr ve metu.linux.org.tr aynı sunuculardır)
named.boot Dosyası
named.boot dosyası named programı çalıştığı zaman baktığı ilk konfigürasyon dosyasıdır ve /etc dizini altındadır. named, bu konfigürasyon dosyası ile diğer dosyalara veya DNS tanımlarının tutulduğu diğer dosyalara nasıl ulaşacağını öğrenir. Aşağıda linux.org.tr sunucusuna ait named.boot dosyasını göreceksiniz.
;
; boot file for name server
;
directory /etc/namedb
;type domain source hosts/file backup file
cache . root.cache
primary linux.org.tr named.hosts
primary 0.0.127.IN.ADDR.ARPA named.local
forwarders 144.122.199.20
named.boot dosyasında yer alan satırlara kısaca göz atacak olursak ;
directory
named.boot dosyasında belirtilen diğer dosyaları hangi dizin altında named programının arayacağını belirtir.
cache
cache dosyasını belirtir.
primary
primary’den hemen sonra gelen alanın primary name server olduğunu belirtir ve ilgili bilgileri de alan adından hemen sonra verilen dosya içerisinde tutar. Bu satır birden fazla olabilir, bu durumda ise konfigüre edilen sunucu birden fazla alan için primary name server olarak görev yapar.
forwarders
sorgularına yanıt veremediği istekleri yönlendireceği sunucuların listelendiği satır.
slave
yukarıdaki konfigürasyon dosyasında olmayan fakat başka bir yerde karşınıza çıkabilecek olan slave satırı eklendiği zaman name server sorgulara yanıt vermek için sadece ve sadece forwarders satırında belirtilen sunucuları kullanabilir.
16.4. Caching Only Alan Adı Sunucu Konfigürasyonu
Linux.org.tr sunucusu üzerindeki alan adı sunucu sadece cache only olarak çalışacak olsaydı, yukarıda belirtilen konfigürasyon satırı aşağıdaki hale gelirdi:
named.boot
--------------
;
; boot file for name server
;
;type domain source hosts/file backup file
cache . root.cache
primary 0.0.127.IN.ADDR.ARPA named.local
Bu konfigürasyonla çalışan alan adı sunucusu, named.cache dosyasında yer alan root sunucuları kullanarak gelen sorgulara yanıt verip, sorguların yanıtlarını cache’de tutmaktadır.
16.5. Primary ve Secondary Alan Adı Sunucu Konfigürasyonu
Yine linux.org.tr named.boot dosyasına bakacak olursak,
primary linux.org.tr named.hosts
satırıyla linux.org.tr makinası linux.org.tr alanı için primary sunucu ve bu domain ile ilgili bilgilerin tutulduğu dosya ise named.hosts dosyasıdır.
Yukarıdaki satırı named.boot dosyasına yazmamızla aslında işimiz bitmiyor. linux.org.tr sunucusu linux.org.tr alanı için primary olduğunu, Türkiye için root sunucu olan knidos.cc.metu.edu.tr sunucusunun da bilmesi gerekiyor. Bunun için metu.edu.tr/dnsadmin adresinden gerekli form doldurup tanımların ODTÜ’deki yöneticiler tarafından yapılması gerekiyor. Bu form doğrultusunda da knidos.cc.metu.edu.tr sunucusunda aşağıdaki satırların girilmesi şarttır.
linux.org.tr IN NS metu.linux.org.tr.
metu linux.org.tr IN A 144.122.199.199
Şu an bu işlemler zaten yapılmış olup sadece bilginiz olması için bu satırlar yazılmıştır.
primary 0.0.127.IN-ADDR.ARPA named.local
satırıyla linux.org.tr makinesinde 127.0.0.1 IP adresine karşılık gelen loopback isminin tanımlarının yer alacağı dosya adı verilmiştir.
Eğer Türkiye Linux Kullanıcıları Grubu’nun kendine ait bir IP adres bloğu, örneğin şu an ODTÜ’de kullanılan 144.122.199.0 bloğu verilmiş ve bu blok kendi alt gruplarına dağıtılmış olsaydı bu adreslere ait reverse tanımlar yine linux.org.tr makinesinde tutulacaktı. Böyle bir durumda named.boot dosyasına aşağıdaki satır benzeri bir satır daha eklemek gerekecekti.
primary 199.122.144.IN-ADDR.ARPA named.144.122.199
Türkiye Linux Kullanıcıları Grubu için kullanılan IP adresine ait gereli reverse tanımı ilgili üniversitenin alan adı sunucusunda girilmiş durumdadır. Örneğin, metu.linux.org.tr için knidos.cc.metu.linux.org.tr sunucusunda aşağıdaki satır tanımlanmıştır.
199.199.122.144 IN PTR metu.linux.org.tr
Bazı programların reverse tanımlarını kullanıyor olması nedeniyle (örneğin tcpd) bu tür tanımların girilmesi önemlidir. Bir veya daha fazla C sınıfı şeklinde IP adres blokları aldığınız zaman IP adresi aldığınız kurumdan, bu adres aralığının reverse tanımlarını sizin alan adı sunucunuza yönlendirilmesini isteyebilirsiniz. Bir C sınıfından az sayıdaki IP adresleri içinse yine IP adresini aldığınız kurum gerekli reverse tanımları sizin için yapmak zorundadır.
Şu an linux.org.tr makinesi herhangi bir başka primary sunucunun secondary sunucusu olmadığı için named.boot dosyasında secondary geçen bir satıra rastlamadık. Örneğin linux.org.tr sunucusu linux.org sunucusunun secondary alan adı sunucusu olduğunu varsayalım, bu durumda aşağıdaki satırı named.boot dosyasına eklememeniz gerekecek.
secondary linux.org 198.182.196.49 SEC.linux.org
bu satırı eklediğimiz andan itibaren named belirli aralıkla gidip linux.org sunucusundan DNS dosyalarının bir kopyasını linux.org.tr sunucusuna aktaracak. linux.org alanının secondary sunucusu olduğumuza dair bilginin de ayrıca linux.org alanının primary tanımlarını tutan sunucuda belirtilmesi gerekir.
16.6. named Konfigürasyon Dosyası
Named konfigürasyon dosyalarında (named.hosts, named.local, named.cache, named.rev) karşılaşılan konfigürasyon parametreleri ve ne anlama geldikleri aşağıda yer almaktadır.
SQA (Start of authority)
İlgili dosyanın ne kadar zaman aralıklarında yenilenebileceği gibi bilgileri içerir.
NS (Name Server)
Alan adı sunucusu olduğunu belirtir.
A (Adress)
Makine ismini IP adresine çevirir.
PTR (Pointer)
IP adresini makine ismine çevirir.
MX (Mail Exchange)
O alana ait mesajları hangi makinanın dağıtacağını belirtir.
CNAME (Canonical Name)
Bir makinaya verilen isimler birden fazla ise bu isimleri belirtirken kullanılır.
HINFO (Host Information)
Belirtilen sunucunun işletim sistemi veya donanımı konusunda bilgi verir. named.hosts, named.local vb. dosyalara girilen standart bir DNS kaydı aşağıdaki yapıda karşımıza çıkar.
[name] [ttl] IN type data
[ ] içerisinde belirtilen değerler isteğe bağlı olup gerekmediği durumlarda yazılmayabilir.
name
Bu kısıma tam domain ismi, makine ismi yazılabilir.
Ttl (time-to-live)
Burada belirtilen süre kadar (bu süre saniye cinsindedir) cache tutulabileceğini belirtir. Eğer herhangi bir süre verilmemiş ise SQA kısmında verilen süre kullanılır.
IN
Girilen kaydın DNS kaydı olduğunu belirtir.
type
Yukarıda bahsettiğimiz kısaltmalardan ilgili olanı yazılır.
data
Bu kısıma IP adresi yazılır.
Şimdi de kısaltmaların bulunduğu named.cache, named.hosts, named.local gibi dosyalardan birer kesit alıp içindekilere göz atalım.
metu:/etc/namedb# more named.cache
; last update : Nov 8, 1995
; related version of root zone 1995110800
;
;
; 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-ASERVERS.NET.
B.ROOT-SEVERS.NET. 3600000 A 128.9.0.107
;
;
Yukarıdaki dosya, root name server’ların listesinin yer aldığı dosyadır. süregelen değişiklikler doğrultusunda bu dosyada yer alan kayıtlar da değişebilirler. Sürekli güncel tutmak amacıyla (ftp://nic.ddn.mil/netinfo/root-server.txt) adresinden dosyanın yeni halini belirli aralıklarla almakta fayda vardır.
ttl süresi ise olabildiğince büyük verilerek root sunucuların herhangi bir şekilde cache’den silinmesi önlenmiş olur.
metu:/etc/namedb# more named.local
;
; @(#)named.local 1.1 (Berkeley) 86/01/21
;
$ORIGIN 0.0.127.in-addr.arpa.
@ IN SQA metu.linux.org.tr root.metu.linux.org.tr (
1996012201 ; Serial
3600 ; Refresh
300 ;Retry
3600000 ; Expire
14400 ) ; Minimum
IN NS metu.linux.org.tr.
1 IN PTR localhost.
IN SOA ile başlayan satırda metu.linux.org.tr adresi ilgili domain konusunda yetkili sunucuyu, root.metu.linux.org.tr ise herhangi bir şekilde sorun olduğunda bağlantıyı kuracak e-posta adresini (root@metu.linux.org.tr) belirtir.
Diğer bilgilerse sırayla metu.linux.org.tr’ın “primary name server” olduğunu ve 127.0.0.1 IP adresine localhost isminin karşılık geldiğini belirtir.
Metu:/etc/namedb# more named.hosts
; Authoritative data for Berkeley.EDU (ORIGIN assumed Berkeley.EDU)
;
$ORIGIN linux.org.tr
@ IN SQA metu.linux.org.tr root.metu.linux.org.tr (
1997072902 ; Serial
10800 ; Refresh 3 hours
3600 ;Retry 1 hour
3600000 ; Expire 1000 hours
86400 ) ; Minimum 24 hours
IN MX 10 metu
IN NS metu
IN HINFO “i486” “Linux 2.0.27”
localhost .IN A 127.1
metu IN A 144.122.199.199
IN A 144.122.199.199
www IN CNAME metu
ftp IN CNAME metu
gopher IN CNAME metu
listproc IN CNAME metu
ege IN A 155.223.97.31
uuuuuuu IN CNAME ege
burada diğer named.local dosyasından farklı olarak makine ismi - IP adresi eşlemesi yapılmış olup MX ve CNAME kavramları kullanılmıştır.
MX tanımın bulunduğu satırda linux.org.tr domaini için e-postaları alabilecek sunucu metu.linux.org.tr olarak tanımlanmış. 10 rakamı ise metu.linux.org.tr’nin linux.org.tr olarak gelmesi gereken mesajlardaki önceliğini belirtir. Sayı ne kadar küçük verilirse önceliği o kadar fazladır.
HINFO tanımının bulunduğu satır metu.linux.org.tr’in donanım, işletim sistemi ve sürüm bilgilerini tutuyor.
CNAME geçen satırlar ise metu.linux.org.tr makinasının olması düşünülen diğer simlerini tanımlamak için kullanıldı. Örneğin, (wwww.linux.org.tr) ile metu.linux.org.tr aynı sunucular olup wwww.linux.org.tr, metu.linux.org.tr’ın bir diğer adı (alias) olarak gözükmektedir. Bütün bu konfigürasyon işlemleri bittikten sonra,
metu:/etc/namedb# named
komutunu çalıştırıp nslookup veya host gibi programlar yardımıyla name server’ımızın çalışıp çalışmadığını denemek kalıyor. Çalıştırdığımızda verilen hata mesajları /usr/adm/mesages dosyasına yazılır.
16.7. hosts ve nslookup Programlarının Kullanımı
Host veya nslookup programları yardımıyla bind konfigürasyonumuzun ilgili sunucuda doğru çalışıp çalışmadığını test edelim. Örnek olarak, host komutunu kullanarak linux.org.tr için knidos.cc.metu..edu.tr’da girilmesi gereken tanımların doğruluğunu kontrol edebiliriz.
$nslookup
Default Server : knidos.cc.metu.edu.tr
Adress : 144.122.199.20
> linux.org.tr
Server : knidos.cc.metu.edu.tr
Adress : 144.122.199.20
Name : linux.org.tr
Adress : 144.122.199.199
> exit
Yukarıdaki satırlarda nslookup yardımıyla ön tanımlı DNS sunucusu olan knidos makinesine linux.org.tr makinesinin IP adresini sorduk. nslookup komutunun -t seçeneği yardımıyla bir makine hakkında daha başka veriler almak da mümkündür.
> server metu.linux.org.tr
Default Server : metu.linux.org.tr
Adress : 144.122.199.199
>ls -t HINFO linux.org.tr
[metu.linux.org.tr]
linux.org.tr. Linux 2.0.27
>
nslookup üzerinde daha fazla bilgi için komuta ait man sayfasına göz atın. host komutu da nslookup komutunun bir tamamlayıcısı gibidir. Aşağıda birkaç örnekle host komutu anlatılıyor.
$ host linux.org.tr
linux.org.tr has adress 144.122.199.199
linux.org.tr mail is handled (pri=10) by metu.linux.org.tr
$ host wwww.ege.linux.org.tr
wwww.ege.linux.org.tr is a nickname for ege.linux.org.tr
ege.linux.org.tr has adress 155.223.97.31
Yukarıda yer alan ilk komut yardımıyla linux.org.tr makinesinin isim-IP dönüşümü yapılmış ve makineye karşılık gelen adresin 144.122.199.199 olduğu anlaşılmıştır. |
|
| Başa dön |
|
 |
|
Sayfanın En Üstüne Çıkmak İçin BURAYA TIKLA !
Bu forum phpBB Tabanlıdır.
Privacy (Gizlilik ilkesi)
Copyright © 2005-2007
All right reserved CesurTurk.Org
Cesur Türk Kullanıcı Gizlilik Koşulları ve Site Kullanım Şartları
Bu sayfada yer alan bilgilerin her hakkı, aksi ayrıca belirtilmediği sürece CesurTurk.Org'ye aittir.
Materyallerimizin izin alınmadan kopyalanması ve kullanılması 5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur.
Sitemizde yer alan yazıların telif hakları yazarların kendilerine veya yetki verdikleri kişilere aittir.
Sitemiz hiç bir şekilde kâr amacı gütmemektedir ve sitemizde yer alan tüm materyaller yalnızca bilgilendirme ve eğitim amacıyla sunulmaktadır. Misyonumuzu buradan okuyabilirsiniz.
Sitemizde yazınız bulunuyorsa ve kaldırılmasını istiyorsanız lütfen iletişim bölümünden irtibata geçiniz.
Yönetim ve Webtasarım SABQCES tarafından yapılmaktadır.
(( Gücümüzü Türk devletini kuran asil Türk ırkından alıyoruz ))
| Genel Site Map
| |