![]() |
|
FreeBSD DNS KURULUMU |
||
|
||
| Bu dokumandaki bilgilerin kullanilmasi sonucu
dogabilecek olasi zarardan, yazar hicbir sekilde sorumluluk kabul etmemektedir. Bu
dokumani okuyan bunu bastan kabul etmi$tir. Kaynak gostermek $artiyla, dokumanin parcasi
veya tamami kullanilabilir. Alan adı sistemi, sunucunun ve ona bağlı istemcilerin internet kayıtlarının tutulduğu bir tür veritabanıdır. Siz bir siteye erişmek istediğinizde, DNS sayesinde hangi site nerde , hangi IP hangi bilğisayara ait olduğu belirlenir, ve istediğiniz yere erişirsiniz. Bu sistem istemcilerin ve sunucuların isimlerini , alan adını ve IP numarası gibi bilgileri içerir. DNS yapısı FreeBSD dosya sistemine cok benzer.
Her ikisinin yapısı ağac (tree) şeklinde olup en tepede / kök(root) kısmı vardır. DNS de / (kok) COM ,EDU,GOV, NET gibi alt alanlara(domains) ayrılırken Linux te de /usr /home /var gibi yapılanmaktadır. Tum bu alt alanlar ise (subdomains) baska alt alanları içermektedir. Örneğin students.itu.edu.tr alanını ele alırsak en tepede /(kök) daha sonra "tr" alanı onun alt altında "edu" daha sonra "itu" ve son olarak "students" alt alanı bulunur(yukarıdaki gibi). Şekilden de anlaşıldığı gibi her alan üstündeki alanın(domain) alt alanıdır. İki cesit ad sunucusu vardır :
Birincil ad sunucusu bulunduğu alandaki bilgileri dosyalardan toplar. İkincil ad sunucusu ise bilgileri bölğedeki diğer ad sunucularından toplar. İkincil basladığı zaman ad sunucusuna baglanır ve kendisindeki bilgileri günceller. Bir den fazla sunucuya sahip olmak ta fayda vardır. Çünkü birinci sunucu çalışmaz hale geldiğinde, diğeri çalışmaya devam edebilir.
|
||
|
||
| FreeBSD de bind paketi kurulu olarak gelmektedir. Biz bind8 e gore
konfigurasyon yapacagiz. Eger bind kurulu degilse #cd /usr/port/net/bind8 #make install komutu ile bind FreeBSD portundan kurabilirsiniz. tabii internet baglantiniz varsa.. |
||
| DNS KONFİGURASYONU | ||
| 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 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:
burada directory "/etc/namedb" caching-nameserver
ile ilgili dosyaların bulundugu dizini ifade eder. localhost.rev dosyasini olusturmak icin root olarak #cd /etc/namedb #sh make-localhost komutu ile localhost.rev dosyasini olusturun. localhost.rev dosyasında :
/etc/host.conf dosyası içinde
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:
/etc/resolv.conf dosyasına
ekledim search satırına aramasını istediğiniz alanlar(domains) ları ekleyebilirsiniz mesela search kısmına "cslab.itu.edu.tr" ekleyelim
daha sonra oslo isimli makinaya telnet cekelim.
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.
yazmak yerine sadece
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
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 zone "1.168.192.IN-ADDR.ARPA" kısmında bu ifade aranılan adresin IP adresi ile ulasmayi
saglar 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
"@" 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 root@moonshadow.enderunix.org diye değiştirebilirsiniz A (Address)=Makinanın internet adresi demektır beyaz IN A 192.168.1.2 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;
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.
"enderunix.org" dosyasıyla işimiz bitti sayılır. Şimdide /etc/namedb/192.168.1 dosyasını inceleyim
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.
(tabiiki son ikisi sizin alan adı ve network numarası olacak)
5. /etc/resolv.conf dosyasında search satırındaki alan adı ve ad sunucusunun IP si dogru mu ?
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
Eger herhangi bir hata yoksa ve komut satırında # nslookup yazdıgımızda
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
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
Ş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:
yukarıdaki bilgilere bakarak itu nun IP si Ad sunucularını ve MX(posta )adresini bildigim makinanın IP sini öğrenmek için
Yukarıda Non-authoritative answer: ifadesi sunucunun dışarıyı sorgulamak yerine kendi cache inden bulup cevap verdiğini belirtir.
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
ifadelerini eklemek, eğer birden fazla dns sunucu varsa onların IP leride yazılmalıdır. Birincil Ad sunucu kurulumunu bitirmiş olduk. |
||
| YENİ İSTEMCİ(HOST) EKLEMEK: | ||
Diyelim ki Ad sunusu makinadaki DNS kaydımıza
"alfa" isimli 192.168.1.99 IP li yeni istemci eklemek istiyoruz. Yapılması
gerekenler:
(99 192.168.1.99 kısaltmasıdır.) ifadesini ekliyoruz. (Noktayı unutmayın lütfen !!!!)
satırını ekleyebiliriz.
Hepsi bu. |
||
| SECONDARY DNS SERVER(İKİNCİL ALAN SUNUCUSU) KURULUMU | ||
| Bir sistemde ikincil dns sunucu olması sisteminizin
sürekliliği için onemlidir. Birincil sunucu herhangi sebebden dolayı
çalışmadığında, sisteminiz ikincil dns sunucu sayesinde çalışmaya devam eder.
İkincil sunucunun yaptığı iş belirli aralıklarla birincil sunucudaki
değişikliklerikopyalamak. Biz burada pathfinder isimli ( IP si 192.168.1.46 olsun) linux makinamızı ikincil dns sunucu olarak kullanacağız. İkincil dns sunucu için yapılması gereken şey. İlk önce pathfinder makinasınında sunucu olduğunu belirtmek için birincil sunucuda bulunan /etc/namedb/enderunix.org dosyasındaki @ IN NS moonshadow.enderunix.org. kısmının altına @ IN NS pathfinder.enderunix.org. ifadesi ekledikten sonra pathfinder IN A 192.168.1.46 ifadesini de A (ADRESS) kayıtlarının olduğu yere eklemek lazım. Daha sonra /etc/namedb/192.168.1 dosyasındada @ IN NS moonshadow.enderunix.org. kısmının altına @ IN NS pathfinder.enderunix.org. ifadesi ekledikten sonra 46 IN PTR pathfinder.enderunix.org. ifadesini eklemek. Ve birincil sunucudaki “named” ı baştan başlatmak. “ndc restart ” yukarıdaki ifadeler birincil dns kısmındaki değişikliklerdi. ikincil sunucuda ise sadece /etc/named.conf dosyasını birincil sunucudan kopyalayıp aşagıdaki gibi değiştirmek. İkincil sunucudaki /etc/named.conf dosyası
yukarıda “type slave ” ifadesi ile bu sunucun ikincil olacağı ve “masters” ifadesi ilede birincil sunucuların IP adresleri verilerek, hangi makinaların birincil olduğu belirtildi. İkincil sunucudaki “named” daemonu nu "ndc reload " veya "ndc restart ” komutları verdiğimizde, ikincil sunucumuz birincil sunucudaki konfigurasyon dosyalarını (/etc/namedb altındaki) kopyalar. ar
|
||
| DNS Acilista Baslatilmasi: | ||
| YazarYazarre DNS sin her acilista otomatik olarak calismasi icin /etc/rc.conf dosyasina su ifadeleri ekleyiniz.. named_enable="YES" named_program="named" named_flags="-u bind -g bind" Evet hepsi bu Kolay Gelsin :)) azar
|
||
| Yazar | ||
| İSMAİL YENİGÜL
KAYNAKLAR: 1-DNS and BIND (3.edition) Oreilly yayınevi( www.ora.com ) 2-DNS-HOWTO(www.linx-howto.com ) 3-DNS-NASIL(www.linux.org.tr ) (c) 2001, Ismail Yenigul. Kaynak ve Yazar Ismi Gozetilmek
sartiyla kullanilabilir. |