DNS configürasyon

MaΨèŔcİķ

Altın Üye
Katılım
24 Eyl 2005
Mesajlar
5,734
Reaction score
0
Puanları
0
Konum
HHancient


daha evvel Ağ iletişim ve ayrıntılarını anlattım şimdi geldi sıra windowsun ve birçok işletim sisteminn kullandığı DNS nin configürasyonuna


Ayarlara başlamadan önce aşağıdaki bir sisteme sahip oldugumuzu kabul edip ona göre örnek ayarlama yapılacaktır.
Ad sunucusu(Name Server) =moonshadow isimli bilgisayarım , İstemciler (hosts) =beyaz,hidiv ,serhat isimli uç tane bilgisayarım var.
Alan adı (Domain Name) =enderunix.org

IP adresleri:

moonshadow = 192.168.1.1
beyaz = 192.168.1.2
serhat = 192.168.1.3
hidiv = 192.168.1.4

Yukarıdaki tüm makinaların internet bağlantısı olduğu kabul edilmiştir.

bind 8.* versiyonunda konfigurayon dosyalarından biri /etc/namedb/named.conf dosyasıdır. Bu dosyada hangi alanlar için kayıt yapılacak, ve bu dosyaların yeri nerede olduğu belirlenir.

Not: ŞİMDİDEN BELİRTİYORUM KONFİGURASYON DOSYALARINDA NOKTALAR ÇOK ÖNEMLİ, BİR NOKTALAMA HATASI SONUCU DNS ÇALIŞMAYABİLİR ve HATAYI BULMAK İÇİN SAATLARCA UĞRAŞIRSINIZ(tecrübe !!)

FreeBSD dns dosyalari /etc/namedb dizinde bulunur..

/etc/namedb/named.conf dosyasını ilk olarak bir editorle actığınız zaman şöyle bir şeyle karşılasırsınız:

*******************************************************
options {
directory "/etc/namedb";
};

zone "." {
type hint;
file "named.root";
};

zone "0.0.127.IN-ADDR.ARPA"{
type master;
file "localhost.rev";
};
*****************************************************

burada directory "/etc/namedb" caching-nameserver ile ilgili dosyaların bulundugu dizini ifade eder.
yukarıda dosyaların /etc/namedb dizininde oldugunu gösterir.
/etc/namedb/named.root cache dosyasıdır ve internetteki (root name servers ) (root ad sunucularinin ) listesi yer almaktadır. ve sürekli olarak yenilenmektedir.

localhost.rev dosyasini olusturmak icin root olarak

#cd /etc/namedb

#sh make-localhost komutu ile localhost.rev dosyasini olusturun.

localhost.rev dosyasında :

***************************************************
@ IN SOA moonshadow.enderunix.org. root.moonshadow.enderunix.org. (




20010104 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum


IN NS moonshadow.enderunix.org.

1 IN PTR localhost.enderunix.org.


***************************************************

/etc/host.conf dosyası içinde

*********************
order , hosts ,bind
*********************

diye bir kısım olması lazım, bunun manası sistem de ad araması yaparken ilk once /etc/hosts dosyasına bakılmasını orada bulunmazsa Ad sunucusun(Name server)bakacağını ifade eder.

NOT:

/etc/hosts dosyasına istemcilerin(hosts) ve ad sunucusunun (Name server) in IP sini asagıdaki gibi eklemekte fayda vardır:

192.168.1.1 moonshadow.enderunix.org moonshadow (sırayla IP ,tum alan adı ,makina ismi )
192.168.1.2 beyaz.enderunix.org beyaz

/etc/resolv.conf dosyasına

**********************************
domain enderunix.org
search enderunix.org
nameserver 192.168.1.1
***********************************

ekledim search satırına aramasını istediğiniz alanlar(domains) ları ekleyebilirsiniz mesela search kısmına "cslab.itu.edu.tr" ekleyelim

*******************************************
search enderunix.org cslab.itu.edu.tr
******************************************

daha sonra oslo isimli makinaya telnet cekelim.

# telnet oslo

yazdığınızda Ad sunucusu(Name Server) ilk önce oslo.enderunix.org isimli makinayı arar, bulamazsa oslo.cslab.itu.edu.tr alanında makina adını bakar. bunun yararı cslab.itu.edu.tr alanındaki bir makinaya telnet veya ftp çekerken makinanın tum ismini yazmak yerine ,sadece ismini yazmanız yetecek.

# telnet oslo.cslab.itu.edu.tr

yazmak yerine sadece

# telnet oslo

yazmanız yetecektir. Fakat search satırına çok fazla alan eklediğizde ad sunucusunun ,aradığı adresi tüm search listesini tek tek deneyecektir.Bu ise zaman kaybına sebeb olur. Çok fazla alan eklememekte yarar var.

Şimdi kendi DNS simizi kurmak icin

/etc/named.conf dosyasıni asağıdaki değistirdim

*******************************************************************
options {
directory "/etc/namedb";
};

zone "." {
type hint;
file "named.root";
};

zone "enderunix.org"{
type master;
file "enderunix.org";
notify yes;
};

zone "1.168.192.IN-ADDR.ARPA"{
type master;
file "192.168.1";
notify yes;
};

zone "0.0.127.IN-ADDR.ARPA"{
type master;
file "localhost.rev";
};

*********************************************************************

zone " enderunix.org"

ve file " enderunix.org"

yazılı kısımda alan adının enderunix.org oldugunu ve alan ile ilgili kayıtların tutulduğu dosyanın /etc/namedb/enderunix.org
oldugunu bildirir.

zone "1.168.192.IN-ADDR.ARPA"

kısmında bu ifade aranılan adresin IP adresi ile ulasmayi saglar
dikkat edileceği gibi tersten yazılmıstır. Siz buraya kendi IP nizi yazmalısınız mesela 160.75.2.1 gibi IP numaraya sahipseniz son noktadan
sonrası kısım dahil edilmez. "

2.75.160.IN-ADDR.ARPA "{

şeklinde yazmanız gerekmektedir bu kayıtlar ise "/etc/namedb/192.168.1 " dosyasında bulunmaktadır.

Şimdi bu dosyaların içeriğine bakalım:

/etc/namedb/enderunix.org dosyasi

*******************************************************************************
@ IN SOA moonshadow.enderunix.org. root.moonshadow.enderunix.org.(


20010206 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum

@ IN MX 5 moonshadow.enderunix.org.
@ IN MX 10 beyaz.enderunix.org.
@ IN NS moonshadow.enderunix.org.

moonshadow IN A 192.168.1.1

beyaz IN A 192.168.1.2

istanbul IN CNAME beyaz

serhat IN A 192.168.1.3

hidiv IN A 192.168.1.4

www IN CNAME moonshadow

ftp IN CNAME beyaz

irc IN CNAME moonshadow

moonshadow IN TXT " EnderUnix Software Development Team "

*****************************************************************************

"@" notasyonu alan adına işaret etmektedir .Benim makinada bu değer

@=enderunix.org demektir.

DIKKAT!! isimlerin sonundaki "." yi kesinlikle unutmayin!!!

"." ismin bittigini belirtir

Eğer nokta koymazsanız!! makina adına ikinci kez alan adı ekleyecektir.

hidiv.enderunix.org.enderunix.org gibi bir hata almanız kaçınılmazdır.

SOA(Start Of Authority)=Yetkili sunucu demektir. yani sistemin kayıtlarının tutulduğu makinadır burada ana makinamız(Server) "ay" dır

"root.moonshadow.enderunix.org" yetkili kişinin mail adresidir bunu [email protected] diye değiştirebilirsiniz

A (Address)=Makinanın internet adresi demektır

beyaz IN A 192.168.1.2
beyaz isimli makinanin IP sinin 192.168.1.2 oldugunu ifade eder.
MX (Mail Exchanger)= Gelen postaların hangi makinaya geleceğini bildirir.
MX den sonraki sayı ,postayı ilk alacak makinanın önceliği belirler. En kücük olan sayının onceliği daha fazladır. Bizim sistemde gelen postalar ilk basta moonshadow.enderunix.org(MX =5) adresindeki makinaya alınacak. Eger o makina çalışır durumda değilse beyaz.enderunix.org(MX=10) adresindeki makinaya iletilecektir.

CNAME (Canoncial Name)=Aynı bilgisayara birkaç farklı isim vermek icin kullanılır. Yukarıda oldugu gibi "www.enderunix.org" adresine bağlanan kişi

aslında moonshadow.enderunix.org adresine bağlanıyor. Eğer bu "www" kısaltması olmasaydı , sizin web sayfanıza bağlanmak isteyen herkesin sizin ana sunucunun ismini veya IP nizi bilmesi gerekti :))

TXT = ifadesi ile sizin bulunduğunuz alan hakkında bilgi verir.

Siz komut satırında

nslookup -query=any enderunix.org. yazdıgınızda görebilirsiniz.

Yukarıda;

******************
istanbul CNAME beyaz
**********************

kısmında beyaz makinasınında beyaz makinası aynı zamanda istanbul ismine sahiptir. Böylece istanbul ismiyle beyaz adlı makinaya ulaşılabilir. HINFO(Host INFOrmation) =bilgisayar hakkında bilgi verir,iki kısımdır. İlk kısimda donanim ozelligi ikinci kısımda isletim sistemi nin ozelliğini bildirir.

********************************************************************************
20010206 ; Serial :(seri numarası)
3600 ; refresh :(Kayıtların yenilenme süresi)
900 ; retry : İkincil sunucu ana sunucuya ulasamassa ne kadar süre sonra tekrar baglantı kurmaya calısacağı zamanı bildirir.(Saniye olarak)
3600000 ; Expire : ikinci sunucu birinci sunucuya bağlantı sağlayamadığı zaman kendi bilgilerini ne zamana kadar bekletecegini belirtir.
3600 ) ; Minimum :Cache alınan bilginin ne zamana kadar cache tutulacağını belirtir.
********************************************************************************

"enderunix.org" dosyasıyla işimiz bitti sayılır.

Şimdide /etc/namedb/192.168.1 dosyasını inceleyim

********************************************
@ IN SOA moonshadow.enderunix.org. root.moonshadow.enderunix.org. (


20010206 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum


@ IN NS moonshadow.enderunix.org.
1 IN PTR moonshadow.enderunix.org.
2 IN PTR beyaz.enderunix.org.
3 IN PTR serhat.enderunix.org.
4 IN PTR hidiv. enderunix.org.
***************************************

NS (Name Server) ad sunucusunun adını belirtir.

PTR(PoinTeR) makinaların isimlerine isaret eder.

4 PTR hidiv.enderunix.org.

4 192.1687.1.4 dun kisaltmasıdır. Burada 192.168.1.4 nolu IP hidiv.enderunix.org.tr adresine isaret etmektedir.





Hemen hemen bitti sayılır sıra nslookup programını calıstırmada ama baslamadan once ayarlarımızın doğru olup olmadıgını kontrol edelim.
caching-nameserver ve bind programlarini sorunsuz yuklediniz mi ?
eksik dosya varmı, dosyalarımız:
/etc/namedb/named.conf
/etc/resolv.conf
/etc/namedb/localhost.rev
/etc/namedb/named.root
/etc/namedb/enderunix.org
/etc/namedb/192.168.1
(tabiiki son ikisi sizin alan adı ve network numarası olacak)

/etc/named.conf dosyasındakı dns için eklediğiniz dosyalarla /etc/namedb/ altındaki dosya isimleri aynı mı ? ve noktalama isaretleri düzgünmü(NOKTALARA DİKKAT!!!!) ?
/etc/named.boot dosyasındaki birincil alan (primary domain) dogru mu?
5. /etc/resolv.conf dosyasında search satırındaki alan adı ve ad sunucusunun IP si dogru mu ?

En onemlisi ve en cok hata yapılanı, /etc/namedb/enderunix.org. ve /etc/namedb/192.168.1 dosyasındakı isimlerini kendi alan adınız ve network numaranız (192.168.1) ile değiştirip isimleri ve noktalamarı dogru yaptınız mı.?
Herhangi bir eksiklik yoksa komut satirinda(Tabikii root olarak)

#named

yazarak named calistirin

Not: Dosyalarda yaptığınız her değişiklikten sonra

#ndc restart

#kill -HUP named_pid (named_pid named in process id sidir)

komutlarindan birini vermelisiniz. yoksa değişiklikler etkili olmayacaktır.

restart yaptıktan sonra sistem ile ilgili kayıtların tutuldugu /var/log/messages dosyasına bakmak için

# tail -15 /var/log/messages komutunu verin

Nov 6 21:25:29 moonshadow named[1280]: reloading nameserver
Nov 6 21:25:29 moonshadow named[1280]: Zone "enderunix.org" (file enderunix.org):
Nov 6 21:25:29 moonshadow named[1280]: master zone "enderunix.org" (IN) loaded (serial 200110603)
Nov 6 21:25:29 moonshadow named[1280]: Zone "0.0.127.IN-ADDR.ARPA" (file localhost.rev): No default TTL set using SOA minimum instead
Nov 6 21:25:29 moonshadow named[1280]: master zone "0.0.127.IN-ADDR.ARPA" (IN) loaded (serial 1999110601)
Nov 6 21:25:29 moonshadow named[1280]: Zone "1.168.192.IN-ADDR.ARPA" (file 192.168.1): No default TTL set using SOA minimum instead
Nov 6 21:25:29 moonshadow named[1280]: master zone "1.168.192.IN-ADDR.ARPA" (IN) loaded (serial 1999110602)
Nov 6 21:25:29 moonshadow named[1280]: Forwarding source address is [0.0.0.0].1036
Nov 6 21:25:29 moonshadow named[1280]: Ready to answer queries.

Eger herhangi bir hata yoksa ve komut satırında

# nslookup yazdıgımızda

Default Server: moonshadow.enderunix.org
Address: 192.168.1.1

>

gibi bir çıktı alıyorsanız sistem kurulmuş demektir.

TEBRİKLER !!!

Fakat hata mesajı varsa size hatanın nerde olduğunu /var/log/messages dosyasının son satırlarında yazacaktır ,hata olan dosyaya bakın ve yukarıda sıraladığım şeyleri tekrar gözden geçirin !

Not: (No default TTL set using SOA minimum instead dikkate alınacak bir hata degildir).

nslookup internetteki ad sunucularını ve diger istemci makinalarını sorgulayan bir programdır.

komut satırında

# nslookup

Server : moonshadow.enderunix.org
Address: 192.168.1.1

>tr /*tr alanı hakkında bilgi almak icin */

Server : moonshadow.enderunix.org
Address: 192.168.1.1

Non-authoritative answer:
tr nameserver = NS.UU.NET
tr nameserver = NS1-AUTH.SPRINTLINK.NET
tr nameserver = NS.RIPE.NET
tr nameserver = MUNNARI.OZ.AU
tr nameserver = NS2.METU.EDU.tr
tr nameserver = NS1.METU.EDU.tr

Authoritative answers can be found from:
tr nameserver = NS.UU.NET
tr nameserver = NS1-AUTH.SPRINTLINK.NET
tr nameserver = NS.RIPE.NET
tr nameserver = MUNNARI.OZ.AU
tr nameserver = NS2.METU.EDU.tr
tr nameserver = NS1.METU.EDU.tr
NS.UU.NET internet address = 137.39.1.3
NS1-AUTH.SPRINTLINK.NET internet address = 206.228.179.10
NS.RIPE.NET internet address = 193.0.0.193
MUNNARI.OZ.AU internet address = 128.250.1.21
NS2.METU.EDU.tr internet address = 144.122.199.93
NS1.METU.EDU.tr internet address = 144.122.199.90

>



yukarıdaki adreslerin tr alanı için hizmet verdigi anlaşılıyor nslookup parametreli hakkında biraz bilgi verelim.

set q=mx (Mail Exchanger) mail ayarlarını sorgulamak için
set q=ns (Name Server) ad sunucusu sorgulamak için
set q=any Genel amaclı bilgi için

# nslookup hidiv
Server : moonshadow.enderunix.org
Address: 192.168.1.1

Name: hidiv.enderunix.org
Address :192.168.1.4

Şeklinde bir çıktı alırız bu bize moonshadow.enderunix.org isimli ve 192.168.1.1 IP makinanin ad sunucusu (Name Server) olduğu ve hidiv makinasının bu alandaki 192.168.1.4 IP li makina oldugunu verir dikkat ederseniz buradahidiv bizim kendi alanımızda olduğu için uzun uzun alan adı yazmaya gerek kalmadı. Ad sunucusu otomatik olarak kendi alan adını ekler.

Şimdide MX(Mail Exchanger) lara bakalım:

# nslookup
Server : moonshadow.enderunix.org
Address: 192.168.1.1

>set q=mx
>beyaz

Server : moonshadow.enderunix.org
Address: 192.168.1.1

enderunix.org
origin = moonshadow.enderunix.org
mail addr =root.moonshadow.enderunix.org
serial = 200122700
refresh = 28800 (3D)
retry = 1400 (1H)
expire = 360000 (1W)
minimum ttl = 86400 (1D)

>itu.edu.tr (itu nun MX ayarlarını görmek için )
Server : moonshadow.enderunix.org
Address: 192.168.1.1

itu.edu.tr preference = 0, mail exchanger = mail.cc.itu.edu.tr
itu.edu.tr preference = 10, mail exchanger = ciragan.cc.itu.edu.tr
itu.edu.tr nameserver = ciragan.cc.itu.edu.tr
itu.edu.tr nameserver = hidiv.cc.itu.edu.tr
itu.edu.tr nameserver = ns02.metu.edu.tr
mail.cc.itu.edu.tr internet address = 160.75.2.25
ciragan.cc.itu.edu.tr internet address = 160.75.2.20
hidiv.cc.itu.edu.tr internet address = 160.75

yukarıdaki bilgilere bakarak itu nun IP si Ad sunucularını ve MX(posta )adresini bildigim makinanın IP sini öğrenmek için

#nslookup www.linux.org
Server : moonshadow.enderunix.org

Address: 192.168.1.1
Non-authoritative answer:
Name: www.linux.org
Address: 198.182.196.56

>

Yukarıda Non-authoritative answer: ifadesi sunucunun dışarıyı sorgulamak yerine kendi cache inden bulup cevap verdiğini belirtir.

# nslookup -type=ns www.linux.org
Server: moonshadow.enderunix.org
Address: 192.168.1.1

>linux.org
origin = ganymede.linux.org
mail addr = postmaster.linux.org
serial = 1999072300
refresh = 3600 (1H)
retry = 900 (15M)
expire = 604800 (1W)
minimum ttl = 43200 (12H)

Burada ise linux.org alanının sunucusunu(NS) adının ganymede.linux.org oldugunu anlıyoruz.

Bundan sonraki yapılacak için sizin alanınıza bağlı linux makinalara dns sunucularının hangi bilgisayarlar olduğunu belirtmek, bunu yapmak için

/etc/resolv.conf dosyasına

*************************
search enderunix.org
nameserver 192.168.1.1



ifadelerini eklemek, eğer birden fazla dns sunucu varsa onların IP leride yazılmalıdır.

Birincil Ad sunucu kurulumunu bitirmiş olduk.
döküman yazılımları dewam edecektir...



sıradakaki döküman DNS kurulumu
 
Geri
Üst