Teşekkürler kardeşim.. Emeğine sağlık

DIKKAT!! isimlerin sonundaki "." yi kesinlikle unutmayın!!! "." ismin bittiğini belirtir. Eğer nokta koymazsanız!! makina adına ikinci kez alan adı ekleyecektir. hidiv. deneme.com.tr. deneme.com.tr gibi bir hata almanız kaçınılmazdır. SOA =Yetkili sunucu demektir. yani sistemin kayıtlarının tutulduğu makinadır burada ana makinamız "ay" dır "root. ay. deneme.com.tr" yetkili kişinin mail adresidir. Bunu root@ay. deneme.com.tr diye değiştirebilirsiniz. A =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 = Gelen postaların hangi makinaya geleceğini bildirir. MX den sonraki sayı, postayı ilk alacak makinanın önceliği belirler. En küçük olan sayının önceliği daha fazladır. Bizim sistemde gelen postalar ilk basta ay. deneme.com.tr (MX =5) adresindeki makinaya alınacak. Eğer o makina çalışır durumda değilse beyaz. deneme.com.tr (MX=10) adresindeki makinaya iletilecektir. CNAME =Aynı bilgisayara birkaç farklı isim vermek icin kullanılır. Yukarıda oldugu gibi "www.deneme.com.tr" adresine bağlanan kişi aslında ay. deneme.com.tr 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 deneme.com.tr. yazdığınızda görebilirsiniz. Yukarıda; istanbul CNAME beyaz kısmında beyaz makinasınında beyaz makinası aynı zamanda İstanbul ismine sahiptir. Böylece İstanbul ismiyle beyaz adlı makinaya ulaşılabilir. HINFO =bilgisayar hakkında bilgi verir, iki kısımdır. İlk kısımda donanım özelliği ikinci kısımda işletim sisteminin özelliğini bildirir. 1999110401 ; serial : 3600 ; refresh : 900 ; retry : İkincil sunucu ana sunucuya ulasamassa ne kadar süre sonra tekrar baglantı kurmaya calısacağı zamanı bildirir. 1209600 ; expire : ikinci sunucu birinci sunucuya bağlantı sağlayamadığı zaman kendi bilgilerini ne zamana kadar bekletecegini belirtir. 43200 ; default_ttl :Cache alınan bilginin ne zamana kadar cache tutulacağını belirtir. "deneme.com.tr" dosyasıyla işimiz bitti sayılır. Şimdide /var/named/192.168.1 dosyasını inceleyim @ IN SOA ay. deneme.com.tr. root. ay. deneme.com.tr. ( 1999110401 ; serial 3600 ; refresh 900 ; retry 1209600 ; expire 43200 ; default_ttl ) @ IN NS ay. deneme.com.tr. 1 IN PTR ay. inux. org.tr. 2 IN PTR beyaz. deneme.com.tr. 3 IN PTR serhat. deneme.com.tr. 4 IN PTR hidiv. deneme.com.tr. NS ad sunucusunun adını belirtir. PTR makinaların isimlerine isaret eder. 4 PTR hidiv. deneme.com.tr. 4 192.1687.1.4 dun kisaltmasıdır. Burada 192.168.1.4 nolu IP hidiv. deneme.com.tr.tr adresine isaret etmektedir. ve son dosya olarak, /var/named/named. local dosyasını aşagıdaki gibi @ IN SOA localhost. root. localhost. ( 1997022700 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expire 86400 ; default_ttl ) @ IN NS ay. deneme.com.tr. 1 IN PTR localhost. olarak değistirdik. 4- SON TEKRAR Sıra nslookup programını çalıştırmada ama başlamadan önce ayarlarımızın doğru olup olmadıgını kontrol edelim. 1- caching-nameserver ve bind programlarını sorunsuz yüklediniz mi? 2-eksik dosya varmı, dosyalarımız /etc/named. conf /etc/nsswitch. conf /etc/resolv. conf /var/named/named. local /var/named/named. ca /var/named/deneme.com.tr /var/named/192.168.1 3- /etc/named. conf dosyasındaki dns için eklediğiniz dosyalarla /var/named/ altındaki dosya isimleri aynı mı? ve noktalama isaretleri düzgün mü? 4- /etc/named. boot dosyasındaki birincil alan dogru mu? 5-/etc/nsswitch. conf dosyasında ta hosts : files dns yazılımı? 6- /etc/resolv. conf dosyasında search satırındaki alan adı ve ad sunucusunun IP si dogru mu? 7- /var/named/named. local dosyasındaki localhost olan ad sunucu adını ad sunucu adı ile değiştirip sonuna NOKTA!!! koydunuz mu? 8-En önemlisi ve en cok hata yapılanı, /var/named/deneme.com.tr. ve /var/named/192.168.1 dosyasındaki isimlerini kendi alan adınız ve network numaranız (192.168.1) ile değiştirip isimleri ve noktalamaları doğru yaptınız mı? Herhangi bir eksiklik yoksa komut satırında # ndc reload veya # /etc/rc. d/initd/named restart yazarak veri tabanındaki en son değişiklikleri aktif hale getirin. Not: Dosyalarda yaptığınız her değişiklikten sonra yukarıdaki 2 komuttan birini çalıştırmak zorundasınız yoksa değişiklikler etkili olmayacaktır. ndc reload veya /etc/rc. d/initd/named restart yaptıktan sonra sistem ile ilgili kayıtların tutulduğu /var/log/messages dosyasına bakmak için # tail -15 /var/log/messages komutunu verin Nov 6 21:25:29 ay named : reloading nameserver Nov 6 21:25:29 ay named : Zone "deneme.com.tr" : Nov 6 21:25:29 ay named : master zone "deneme.com.tr" loaded (serial 1999110603) Nov 6 21:25:29 ay named : Zone "0.0.127. IN-ADDR. ARPA" : No default TTL set using SOA minimum instead Nov 6 21:25:29 ay named : master zone "0.0.127. IN-ADDR. ARPA" loaded (serial 1999110601) Nov 6 21:25:29 ay named : Zone "1.168.192. IN-ADDR. ARPA" (file 192.168.1): No default TTL set using SOA minimum instead Nov 6 21:25:29 ay named : master zone "1.168.192. IN-ADDR. ARPA" loaded (serial 1999110602) Nov 6 21:25:29 ay named : Forwarding source address is .1036 Nov 6 21:25:29 ay named : Ready to answer queries. Eger herhangi bir hata yoksa ve komut satırında # nslookup yazdıgımızda Default Server: ay. deneme.com.tr Address: 192.168.1.1 gibi bir çıktı alıyorsanız sistem kurulmuş demektir. Fakat hata mesajı varsa size hatanın nerede 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: . nslookup internetteki ad sunucularını ve diğer istemci makinalarını sorgulayan bir programdır. komut satırında # nslookup Server : ay. deneme.com.tr Address: 192.168.1.1 >tr / tr alanı hakkında bilgi almak icin / Server : ay. deneme.com.tr 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 verdiği anlaşılıyor. nslookup parametreli hakkında biraz bilgi verelim. set q=mx mail ayarlarını sorgulamak için set q=ns ad sunucusu sorgulamak için set q=any Genel amaclı bilgi için # nslookup hidiv Server : ay. deneme.com.tr Address: 192.168.1.1 Name: hidiv. deneme.com.tr Address :192.168.1.4 Şeklinde bir çıktı alırız bu bize ay. linux. org.tr isimli ve 192.168.1.1 IP makinanin ad sunucusu olduğu ve hidiv makinasının bu alandaki 192.168.1.4 IP li makina olduğunu verir. Dikkat ederseniz burada hidiv 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 lara bakalım: # nslookup Server : ay. deneme.com.tr Address: 192.168.1.1 >set q=mx >beyaz Server : ay. deneme.com.tr Address: 192.168.1.1 deneme.com.tr origin = ay. deneme.com.tr mail addr =root. ay. deneme.com.tr serial = 1997022700 refresh = 28800 (3D) retry = 1400 (1H) expire = 360000 (1W) minimum ttl = 86400 (1D) >itu.edu.tr Server : ay. deneme.com.tr 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 adresini bildiğim makinanın IP sini öğrenmek için #nslookup www.deneme.com.tr Server : ay. linux. org.tr 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: ay. linux. org.tr 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 adının ganymede. linux. org olduğunu 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/resolve. conf dosyasına search linux. org.tr nameserver 192.168.1.1 ifadelerini eklemek, eğer birden fazla dns sunucu varsa onların IP leride yazmak gerekir. Birincil Ad sunucusu kurulumunu bitirmiş olduk. 5-YENİ İSTEMCİ EKLEMEK: Diyelim ki Ad sunucusu makinadaki DNS kaydımıza "alfa" isimli 192.168.1.99 IP li yeni istemci eklemek istiyoruz. Yapılması gerekenler: 1-/var/named/linux. org.tr dosyasının sonuna aşağıdaki ifadeyi ekliyoruz. alfa IN 192.168.1.99 2- /var/named/192.168.1 dosyasının sonuna 99 PTR alfa. linux. org.tr. (99 192.168.1.99 kısaltmasıdır.) ifadesini ekliyoruz. 3- Yukarıdaki her iki dosyanın seri numaralarını bir arttırıyoruz (1999110401 seri numarasını 1999110402 yapıyoruz. ) 4- Ek olarak /etc/hosts dosyasına 192.168.1.99 alfa. linux. deneme.com.tr alfa satırını ekleyebiliriz. 5- Son olarak ndc reload veya /etc/rc. d/initd/named restart yazarak değişiklikleri aktif hale getirdik. 6-SECONDARY DNS SERVER KURULUMU Bir sistemde ikincil dns sunucu olması sisteminizin sürekliliği için önemlidir. Birincil sunucu herhangi sebepten dolayı çalışmadığında, sisteminiz ikincil dns sunucu sayesinde çalışmaya devam eder. İkincil sunucunun yaptığı iş belirli aralıklarla birincil sunucudaki değişiklikleri kopyalamak. Biz burada apache isimli ( IP si 192.168.1.46 olsun) linux makinamızı ikincil dns sunucu olarak kullanacağız. İkincil dns sunucu için İlk önce apache makinasınında sunucu olduğunu belirtmek için birincil sunucuda bulunan /var/named/linux. org.tr dosyasındaki @ IN NS ay. deneme.com.tr. kısmının altına @ IN NS apache. deneme.com.tr. ifadesi ekledikten sonra apache IN A 192.168.1.46 ifadesini de A kayıtlarının olduğu yere eklemek lazım. Daha sonra /var/named/192.168.1 dosyasında da @ IN NS ay. linux. org.tr. kısmının altına @ IN NS apache. linux. org.tr. ifadesi ekledikten sonra 46 IN PTR apache. linux. org.tr. ifadesini eklemek. Ve birincil sunucudaki named ı baştan başlatmak. /etc/rc. d/init. d/named restart Yukarıdaki ifadeler birincil dns kısmındaki değişikliklerdi. İkincil sunucuda ise sadece /etc/named. conf dosyasını birincil sunucudan kopyalayıp aşağıdaki gibi değiştirmek. İkincil sunucudaki /etc/named. conf dosyası options ; zone "." ; zone "deneme.com.tr"{ type slave; masters ; file "deneme.com.tr"; }; zone "1.168.192. IN-ADDR. ARPA"{ type slave; masters ; file "192.168.1"; }; zone "0.0.127. IN-ADDR. ARPA" ; Yukarıda type slave ifadesi ile bu sunucun ikincil olacağı ve masters ifadesi ile de birincil sunucuların IP adresleri verilerek, hangi makinaların birincil olduğu belirtildi. İkincil sunucudaki named daemonu nu "ndc reload " veya "/etc/rc. d/init. d/named restart komutları verdiğimizde, ikincil sunucumuz birincil sunucudaki konfigurasyon dosyalarını kopyalar.

3-DNS KONFİGÜRASYONU Ayarlara başlamadan önce aşağıdaki bir sisteme sahip oldugumuzu kabul edip ona göre örnek ayarlama yapılacaktır. Ad sunucusu =ay isimli bilgisayarım, İstemciler =beyaz, hidiv, serhat isimli uç tane bilgisayarım var. Alan adı =deneme.com.tr IP adresleri: ay = 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 konfigürayon dosyalarından biri /etc/named. conf dosyasıdır. Bu dosyada hangi alanlar için kayıt yapılacak, ve bu dosyaların yeri nerede olduğu belirlenir. /etc/named. conf dosyasını ilk olarak bir editorle actığınız zaman şöyle bir şeyle karşılasırsınız: options ; zone "." ; zone "0.0.127. IN-ADDR. ARPA" ; burada directory "/var/named" caching-nameserver ile ilgili dosyaların bulunduğu dizini ifade eder. Yukarıda dosyaların /var/named dizininde oldugunu gösterir. /var/named/named. ca cache dosyasıdır ve internetteki listesi yer almaktadır ve sürekli olarak yenilenmektedir. named. local dosyasında : @ IN SOA localhost. root. localhost. ( 1999102802 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expire 86400 ; default_ttl ) @ IN NS localhost. 1 IN PTR localhost. /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 önce /etc/hosts dosyasına bakılmasını orada bulunmazsa ad sunucusun bakacağını ifade eder. /etc/hosts dosyasına istemcilerin ve ad sunucusunun in IP sini asagıdaki gibi eklemekte fayda vardır: 192.168.1.1 ay. deneme.com.tr ay 192.168.1.2 beyaz. deneme.com.tr beyaz /etc/nsswitch. conf dosyası içinde hosts: files dns nis kısmını bulun ve içinde dns seçeneği yoksa ekleyin /etc/resolv. conf dosyasına domain deneme.com.tr search deneme.com.tr nameserver 192.168.1.1 ekleyin. Search satırına aramasını istediğiniz alanlar ları ekleyebilirsiniz. Mesela search kısmına "cslab. itu.edu.tr" ekleyelim search deneme.com.tr cslab. itu.edu.tr daha sonra oslo isimli makinaya telnet çekelim. # telnet oslo yazdığınızda Ad sunucusu ilk önce oslo. deneme.com.tr 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ğinizde ad sunucusunun, aradığı adresi tüm search listesini tek tek deneyecektir. Bu ise zaman kaybına sebep olur. Çok fazla alan eklememekte yarar var. Şimdi kendi DNS imizi kurmak için /etc/named. conf dosyasını aşağıdaki değiştirdim options ; zone "." ; zone "deneme.com.tr" ; zone "1.168.192. IN-ADDR. ARPA" ; zone "0.0.127. IN-ADDR. ARPA" ; zone " deneme.com.tr" ve file " deneme.com.tr" yazılı kısımda alan adının deneme.com.tr olduğunu ve alan ile ilgili kayıtların tutulduğu dosyanın /var/named/deneme.com.tr olduğunu bildirir. zone "1.168.192. IN-ADDR. ARPA" kısmında bu ifade aranılan adresin IP adresi ile ulasmayi sağlar dikkat edileceği gibi tersten yazılmıştı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 "/var/named/192.168.1 " dosyasında bulunmaktadır. Şimdi bu dosyaların içeriğine bakalım: /var/named/deneme.com.tr dosyası @ IN SOA ay. deneme.com.tr. root. ay. deneme.com.tr. ( 1999110401 ; serial 3600 ; refresh 900 ; retry 1209600 ; expire 43200 ; default_ttl ) @ IN MX 5 ay. deneme.com.tr. @ IN MX 10 beyaz. deneme.com.tr. @ IN NS ay. deneme.com.tr. ay IN A 192.168.1.1 beyaz IN A 192.168.1.2 istanbul IN CNAME beyaz serhat N A 192.168.1.3 hidiv IN A 192.168.1.4 www IN CNAME ay ftp IN CNAME beyaz irc IN CNAME ay ay IN TXT " TÜRKİYE LİNUX KULLANICILARI " "@" notasyonu alan adına işaret etmektedir. Benim makinada bu değer @=deneme.com.tr demektir. -

DNS KURULUMU 1- DNS Domain Name System : Alan adı sistemi, sunucunun ve ona bağlı istemcilerin internet kayıtlarının tutulduğu bir tür veri tabanıdır. Siz bir siteye erişmek istediğinizde, DNS sayesinde hangi site nerede, hangi IP hangi bilgisayara 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ı LINUX dosya sistemine cok benzer. Her ikisinin yapısı ağac şeklinde olup en tepede / kök kısmı vardır. DNS de / COM, EDU, GOV, NET gibi alt alanlara ayrılırken Linux te de /usr /home /var gibi yapılanmaktadır. Tüm bu alt alanlar ise başka alt alanları içermektedir. Örneğin students. itu.edu.tr alanını ele alırsak en tepede / daha sonra "tr" alanı onun alt altında "edu" daha sonra "itu" ve son olarak "students" alt alanı bulunur . Şekilden de anlaşıldığı gibi her alan üstündeki alanın alt alanıdır. İki çeşit ad sunucusu vardır : Birincil ad sunucusu ; İkincil ad sunucusu ; Birincil ad sunucusu bulunduğu alandaki bilgileri dosyalardan toplar. İkincil ad sunucusu ise bilgileri bölgedeki diğer ad sunucularından toplar. İkincil başladığı zaman ad sunucusuna bağlanır ve kendisindeki bilgileri günceller. Birden fazla sunucuya sahip olmakta fayda vardır. Çünkü birinci sunucu çalışmaz hale geldiğinde, diğeri çalışmaya devam edebilir. 2- KURULUM Aşağıda anlatılacak olan kurulum sadece birincil ad sunucusunu kapsamaktadır ve Redhat 6.0 ve 6.1 Linux e göre yazılmıştır. Diğer linux dağıtımlarında dosyaların yerleri farklı olabilir. DNS için caching-nameserver ve bind, bind-devel, bind-utils adlı programlara ihtiyacımız var. Bu programlar sadece Ad sunucu makinasında olması yeterlidir. Sisteminizde caching-nameserver yüklü olup olmadığını anlamak için komut satırında: # rpm -qi caching-nameserver komutunu verin, "bind " icin ise #rpm -qi bind #rpm -qi bind-devel #rpm -qi bind-utils komutlarını tek tek yazınız. Eğer bind, bind-devel, bind-utils, caching-nameserver programları yüklü ise bu programlar hakkında bilgi veren bir yazı çıkacaktır. Yok bunlardan biri kurulu değil ise caching-nameserver için : " Caching-nameserver için "package caching-nameserver is not installed " Bind için "package bind is not installed " diye bir hata mesajı alırsınız. Yüklenmemiş programları yüklemek için Redhat 6.1 cd sini takın sisteme root olarak girin. Cdrom u mount etmek için komut satırında şu komutları yazın: # mount /dev/cdrom /mnt/cdrom daha sonra # cd /mnt/cdrom/Redhat/RPMS yazarak RPMS dizinine geçin ve caching-nameserver kurmak için # rpm -i caching-nameserver-6.0-2. noarch. rpm "bind " bind-devel, bind-utils leri kurmak için ise aynı dizinde sırayla # rpm -i bind-8.2.1-7. i386. rpm #rpm -i bind-devel-8.2.1-7. i386. rpm #rpm -I bind-utils-8.2.1-7. i386. rpm komutlarını veriniz. Yukarıdaki versiyon numaraları Redhat 6.1 paketi ile gelendir. Siz kendinizdeki Versiyon ile değiştiriniz.