Category Archives: Linux

Linux DNS – Bölüm III Kurulum


Daha önceki DNS makalelerimizde DNS sunucuları ile ilgili detaylı bilgiler vermiştik. Ancak Fedora Linux 64 bit sunucumuz üzerine DNS sunucumuzu kurarak, ağımıza DNS hizmeti vermeye başlayabiliriz.

Daha önce de belirtildiği gibi henüz sunucumuz internete bağlı değil. Iptables ve Selinux servislerini durdurduğunuzu kontorl edin. Eğer bu servisleri kapatmak istemiyorsanız, UDP 53 nolu porta gelen isteklere cevap vermesi için gerekli ayarları yapınız.

Fedora 12 CD yada DVD’sini takın. İlk olarak yazılım repo’larımızı ayarlayacağız. Repo’yu basitçe açıklamak gerekirse, tüm yazılımların barındırıldığı alan diyebiliriz. Aşağıdaki işlemleri gerçekleştirebilmek için root kullanıcısı olmak zorundasınız

[root@chveneburi ~]# mkdir /cdrom
[root@chveneburi ~]# mount -t iso9660 /dev/cdrom /cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@chveneburi ~]# cd /etc/yum.repos.d/
[root@chveneburi yum.repos.d]# cp fedora.repo fedora-dvd.repo
[root@chveneburi yum.repos.d]# ll
total 20
-rw-r--r--. 1 root root 199 2010-04-17 17:44 fedora-dvd.repo
-rw-r--r--. 1 root root 1959 2009-11-03 00:23 fedora-rawhide.repo
-rw-r--r--. 1 root root 1144 2009-11-03 00:23 fedora.repo
-rw-r--r--. 1 root root 1105 2009-11-03 00:23 fedora-updates.repo
-rw-r--r--. 1 root root 1178 2009-11-03 00:23 fedora-updates-testing.repo
[root@chveneburi yum.repos.d]# vi fedora.repo

Daha sonra fedora.repo dosyasını aşağıdaki ekran görüntüsündeki gibi düzenleyiniz.

Yerel repo’muzu hazırladıktan sonra DNS sunucumuzu kurabiliriz.[root@chveneburi ~]# yum --disablerepo=* --enablerepo=fedora-local install *bind*

named.conf geçerli dosyası

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
listen-on port 53 { 127.0.0.1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
recursion yes;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
}; include "/etc/named.rfc1912.zones";

Yukarıdaki named.conf dosyası başlıktan da anlaşılacağı gibi, BIND servisimiz kurulur kurulmaz geçerli olarak gelen dosyadır.

yazicioglu.com alanın eklenmesi

/etc/named.conf dosyası dosyası içerisine aşağıdaki satırları ekleyiniz.zone "yazicioglu.com." {
type master;
allow-query{ any; };
file "yazicioglu.com";
};
zone "3.168.192.in-addr.arpa"{
type master;
allow-query{ any; };
file "3.168.192.in-addr.arpa";
};

Şimdi de /var/named dizini altında yazicioglu.com ve 3.168.192.in-addr.arpa dosyalarını yaratalım.

yazicioglu.com alan dosyası

yazicioglu.com. IN SOA ns.yazicioglu.com. admin.yazicioglu.com. (
2006081401;
28800;
3600;
604800;
38400;
) yazicioglu.com. IN NS ns.yazicioglu.com.
yazicioglu.com. IN MX 10 mta.yazicioglu.com.
www IN A 192.168.3.1
mta IN A 192.168.3.1
ns IN A 192.168.3.1

yazicioglu.com ters alan dosyası

zone "3.168.192.in-addr.arpa"{
type master;
allow-query{ any; };
file "3.168.192.in-addr.arpa";
};

Şimdi BIND servisimizi başlatalımservice named start
Starting named: [ OK ]

DNS yapılandırmamızı test edelim.root@ns named]# nslookup http://www.yazicioglu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: http://www.yazicioglu.com
Address: 192.168.3.1
[root@ns named]# nslookup ns.yazicioglu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: ns.yazicioglu.com
Address: 192.168.3.1

Eğer http://www.yazicioglu.com adresini web tarayıcınızdan çözmek istiyorsanız, Apache Virtual Hosts ayarlarını yapmanız gerekmektedir. Her ne kadar konumuzun dışında olsa da hızlıca merak edenler için gösterelim.

httpd.conf dosyasını açın ve aşağıdaki satırları ekleyerek, web sunucusunu tekrar başlatın.[root@ns ~]# mkdir /www
[root@ns ~]# chmod 775 /www
[root@ns ~]# vi /etc/httpd/conf/httpd.conf

#Bu satırın başındaki # işaretini kaldırın.
NameVirtualHost *:80

ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /www
ServerName http://www.yazicioglu.com
ErrorLog logs/yazicioglu.com-error_log
CustomLog logs/yazicioglu.com-access_log common

[root@ns ~]# service httpd restart

Web tarayıcınızdan absurtus.wordpress.com yazdığınızda karşınıza aşağıdaki ekran gelecektir.


Linux DNS Bölüm II


DNS hakkında bu kadar bilgilendirmeden sonra artık yapılandırma işlemine geçebiliriz. İlk olarak BIND’i bilgisayarımıza kuracağız. Ben daha önce test makineme BIND kurulumunu adım adım gösterebilmek için sade bir kurulum yapmıştım. Kurulumu internet bağlantınız olmadığını varsayarak anlatacağım. Kullanacağım işletim sistemi Fedora 12 64bit. Aynı işlemleri herhangi bir Linux sürümünde kullanabilirsiniz.

lk olarak komut satırından çalışmaya alışmanız gerekmektedir. Kurulum ve yapılandırma esnasında tüm işlemleri komut satırından yapıyor olacaksınız. İsterseniz makineniz üzerinde komut satırından, isterseniz ssh uzak bağlantı ile aşağıdaki işlemleri yapabilirsiniz.

Fedora işletim sistemi geçerli olarak 5.ci seviye de açılır. Ben makinemizi 3.cü seviye olarak ayarlayacağım. Linux seviyelerini anlamak için http://www.belgeler.org sitesine bakabilirsiniz.

Unutmayın bu bir test sunucusu ve aşağıdaki işlemleri aktif olan sunucularda denemeyin.

İlk olarak makinemizi komut satırından başlayacak şekilde ayarlayalım. Terminal programınızı açın ve aşağıdaki komutları girin.

su -l
Pasword: ********
vi /etc/inittab

Bu dosya içerisinde aşağıdaki satırı bulun ve 5 değerini 3 olarak değiştirin, kayıt ederek çıkın.İd:5:init:default

Sunucunuzu tekrar başlatın.reboot

Sunucunuz komut satırından açıldıktan sonra iptables güvenlik duvarını durdurun. Ayrıca Fedora ya da Red Hat kullanıyorsanız SeLinux servisini de durdurmanızda fayda var. DNS sorguları UDP’nin 53 nolu portunu kullanılır. Şu anda sunucumuz dış dünyaya kapalı olduğundan güvenlik duvarını durdurmamızda bir sakınca yok. Eğer bu sunucuyu internete bağlayacaksanız, güvenlik duvarınızın yapılandırılmış olduğundan emin olun.service iptables stop

named.conf

Bu bölümde named.conf dosyasını incelemeye başlıyoruz. Dosyayı uzun uzun buraya yazmayacağım. Daha önceki bölümlerde de belirtildiği gibi DNS sunucusuna bir sorgu geldiğinde ilk olarak named.conf dosyasında bakar. Named.conf dosyası da gelen sorgu dahilinde aranan alan adı hakkında bilgi verir.

Burada unutulmaması gereken nokta, named.conf dosyasının Linux sunucularda BIND kurulduğunda ön tanımlı olarak geldiğidir. Kullandığımız işletim sistemine göre named.conf dosyasının bulunduğu dizin yolu değişiklik gösterebilir. Fedora sunucular da bu yol /etc/named.conf dur. Named.conf dosyasının referans olarak aldığı alan adları referans dosyaları ise /var/named dizini altında bulunur.

NOT: Mevcut yapılandırma ile tüm DNS sunucuları yapılandırma dosyalarını bizim sunucumuzdan transfer edebilirler. Eğer alan adlarımızı sadece ikincil sunucularımız tarafından transfer edilmesini istiyorsak o zaman, ikincil sunucularımızın IP adresini girmemiz gerekir.

allow-transfer{ikincil sunucu IP adresi}

Geçerli olarak gelen named.conf dosyası içerisinde bulunan dört alan, bu alanların dosya referansıdır. Bu dosyanın 3.cü satırı, referans dosyalarının hangi dizinde olduğu gösterir.

Named.conf dosyasını biraz daha detaylı bakalım.

hint(ipucu) dosyası ( “.” alanı)

Bu dosya DNS kök dosyalarının bilgilerini içerir. DNS sunucumuz girdiğimiz alan adının IP adresini çözemediğinde, bu DNS sunucuları ile bağlantı kurar.

localhost(Yerel) Dosyası (“0.0.127 alanı)

Kendi sunucumuzu DNS’e tanıtmak için kullanılır. Bu dosya sistem üzerindeki ağ trafiğini azaltmak ve yazılımların herhangi bir sunucuya bağlanmak istediklerinde bağımsız olarak çalışmasını sağlar.

Ters Alan Dosyası(“test.org”)

DNS sunucumuz üzerinde barındaracağımız test.ord alan adının ters alan dosyasıdır.Bu alan IP adreslerini bilgisayar isimlerine çevirmede kullanılır. Ayrıca birincil alan sunucusunun yansısıdır. Ters alan dosyalarını sonlarındaki -in.addr uzantısından tanıyabilirsiniz. Bu dosyalar PTR kayıtları için kullanılır. PTR kayıtları ile bilgileri makalenin ileriki bölümlerinde vereceğiz.

Birincil Alan Dosyası(“test.org”)

Bu dosya DNS sunucumuzu kurduğumuzda tanımlı olarak gelmez. El ile kendimizin kurması gerekir. Birincil alan dosyası yönettiğimiz alan hakkında tüm bilgileri tutar. Bu dosyada alan adlarına karşılık gelen IP adreslerini bulur ve istemcilere cevap olarak döndürür.

Alan adı dosyaları aşağıdaki kayıt tiplerini içerir.

  • SOA(Start of Authority): Yetkili bölge başlangıcı.
  • NS(Name Server): Yetkili alan sunucusu.
  • MX(Mail Exchanger): Eposta sunucusu
  • CNAME(Chronical Name): Herhangi bir alan adına tanımlanan kısa yol.

Örnek:@ SOA ns1.test.com. root.localhost.{
2006012103; serial number
28800; refresh seconds
7200;retry seconds
604800;expiry seconds
86400;minimum TTL
}

Yukarıda verilen örnek bir SOA kaydıdır. Birincil ve ikincil alan adı sunucularını Caching-only sunuculardan ayırt etmek için kullanılır. Bu dosyaya detaylı olarak göz atalım.

  • @ – Alanın kök ismini belirtir. Bunun yerine test.com yazabilirsiniz. Standart olarak @ yazılır.
  • IN – Sınıfı belirtir. Birçok değişik sınıf vardır ve IN(Internet) en çok kullanılanıdır.
  • SOA – DNS kaynak tipini gösterir.
  • .com- Alan adı isim sunucusudur.
  • Serial number : Mevcut yapılandırmanın seri numarasıdır. Yapılandırmanın güncellenmesi durumunda bu değer 1 artırılmalıdır. Bu sayede ikincil sunucular, dosyalarda değişiklik olduğunu belirleyerek, yeni alan dosyalarını transfer edeceklerdir. Genelde formatı YYYYAAGG olarak yazılır. Bu yapılandırmanın tarihidir. Sonuna iki haneli bir sayı eklenir her değişiklik de bu sayı 1 değer arttırılır.
  • Refresh seconds: Birincil sunucudan, ikincil sunucuya hangi zaman aralığında transfer yapıp yapmayacağını belirler.
  • Retry: Eğer birincil sunucuya bağlantı kurulamamışsa, tekrar hangi zaman aralığında yapılacağını belirler.
  • Expiry: İkincil sunuculardaki geçerlilik süresini belirler.
  • TTL: DNS sunucularında ön bellekte alan adının ne kadar süre ile geçerli olacağını belirler.

Alan adı dosyaları, yukarıdaki parametreler haricinde aşağıdaki verilen bilgileri içerir.

MX Kayıtları

MX 10 server.test.com

  • MX: Kayıt tipi. Mail Exchanger
  • 10: Öncelik değeri.
  • Server.test.com: Posta sunucusu

Yukarıdaki örnekte dikkat edilmesi gereken konu eposta sunucusunun öncelik değeridir. Uzak bir sunucu ilk olarak yüksek öncellik değerli sunucumuza ulaşır. Eğer başarısız olursa bir sonraki sunucu ile bağlantı kurmaya çalışır. Küçük değerli sunucular öncelik değeri daha yüksek olan sunuculardır.

A Kayıtları

Alan adı dosyalarında alan adı adlarına karşılık IP adreslerinin olması zorunluluktur. Bu işlemi A kayıtları yerine getirir. Birincil alan adı dosyamızda yer alan aşağıdaki basit A kaydı, test.com’un IP adresinin 192.168.2.1 olduğunu gösterir.

Test.com. A 192.168.2.1; test.com sonudaki “.” işareti koymayı unutmayınız.

Internet üzerinden erişen kullanıcılar hem test.com hem de http://www.test.com adresinden sayfaya ulaşabilmeleri için aşağıdaki www alan kaydının test.com alan dosyası içerisine yazılması gerekir.

www A 192.168.2.1; www sonunda “.” işareti bulunmamaktadır.

CNAME Kayıtları

Cname kayıtları A kayıtlarının kısa yolu olarak tanımlanabilir. Örneğin;

ftp CNAME www

Yukarıdaki örnek http://ftp.test.org ile http://www.test.org adresi eşleştirir. Örneğin http://ftp.test.com ile http://www.test.com adresi aynı alan adıdır. Burada önemli olan nokta bir CNAME kaydının muhakkak bir A kaydına atanmasıdır.

Artık DNS sunucumuzu kurabiliriz.


%d blogcu bunu beğendi: