Serkan YANARATES - Kişisel Web Sitesi Ana Sayfa | Hakkımda | Çalışmalarım | Kitap Önerileri | Fotoğraflarım | RSS RSS | İletişim
İçerik Kategorileri
Makale Kategorileri
Arama

Tema
Kaynaklar
Takip Ettiklerim

Bind Kurulumu ve Konfigürasyonu


Bind Kurulumu ve Konfigürasyonu

1. Kurulum
2. Servis Detayları
3. Konfigürasyon

Bind nedir ;

Bind bir DNS Deamon’udur. Yani *n*x sistemler için geliştirilen DNS servis yazılımıdır. Kurulumu ve konfigürasyonu temel anlamı itibari ile kolay olması ile birlikte, komplike işlemler için geliştirilmiş arabirimleri kimi zaman tecrübe gerektirebilir. Bu makalede Bind’in kurulum ve konfigürasyonu anlatmaya, Linux tabanlı bi sistemde DNS Sunucusunu ayağa kaldırmaya uğraşacağız.


1. Bind Nasıl Kurulur

Bind’in kurulumu oldukça kolay ve pratiktir. Çoğu Linux sürümü ile birlikte gelen Bind, Gnome veya KDE vasıtası ile görsel arayüz ile RPM Paket yönetim bölümünden “Server/Sunucular” segmentinde seçilebilir halde görünücektir. Ayrıca Konsol yardımı ile RPM Paketini internet üzerinden indirerekte kullanabilmemiz mümkündür. Bunun için Konsola düşerek ;

# wget ftp://ftp.isc.org/isc/bind9/9.2.3/bind-9.2.3.tar.gz

Yazmamız yeterli olucaktır.Bu işlem Bind’in 9.2.3 Sürümünü sisteminize indirmemiz gerekir.

Şimdi kuruluma geçebiliriz. Aşağıdaki komut vasıtası ile kuruluma başlıyoruz.

# ./configure ‘ Bu işlem Kurulum öncesi hazırlıkları yapıcaktır.
# make ‘ Kurulum Gerçekleşicektir.

Artık sistemimizde kurulu bir DNS Sunucusu mevcuttur.


2. Servis Detayları

Bind hakkında bikaç ayrıntıya girmemizde fayda var. Öncelikle Bind’i şu betiklerle çalıştırıp durdurabiliriz..

#service named start ‘ Servisi başlatır.
#service named stop ‘ Servisi durdurur.
#service named restart ‘ Servisi Yeniden Başlatır.
#service named reload ‘ Servisi Duraklatmadan Konfigürasyonları Günceller.
#service –-help ‘ Servis Kullanımları hakkında detayları görüntüler.

Kurulumu gerçekleştirdikten sonra ilk işlem olarak servisimizi başlatmayı, durdurmayı ve yeniden başlatmayı deniyoruz. Bu işlemleri sık sık tekrarlayacağız.

Ek olarak bilmemiz gereken birkaç hususta konfigürasyon dosyalarımız. Bind ayar ve konfigürasyonları basit .conf dosyaları üzerinden gerçekleştirir. Bu dosyalar aşağıdaki gibidir ;

/etc/named.conf | Temel konfigürasyon dosyası.
/etc/named.custom | Özel konfigürasyonlar için kullanılıcak dosya.
/var/named/ | Zone Dosyalarımızın Tutulucağı alan.

Temel anlamı itibari ile yukardaki dosyalar üzerinde yapacağımız işlemler bizi sonuca ulaştıracaktır.


3. Konfigürasyon

Servisimizi yeterince tanıdık. Sistemimizde Bind kurulu ve konfigürasyonlarımızı girmemiz halinde hemen çalışır halde yayına başlayabilecek durumda. Ozaman kendimize örnek bir senaryo belirliyoruz ve konfigürasyonumuzu yazmaya başlıyoruz.

Örnek Senaryo.

www.yasasinlinux.org domain’ini kaydettik. Ns1.portalofis.com ve Ns2. portalofis.com a sunucumuzu yönlendirdik. Sunucumuzun IP’si 19.74.19.120 . Ayrıca Mail Sunucumuzun IP’si 19.74.19.120.

Şimdi yapmamız gerekenleri sıralayalım.

a. “/etc/named.conf” dosyası düzenlenerek zone kaydı açılır.
b. .Zone dosyası “/var/named/” dizini altında oluşturulur ve konfigürasyon betikleri yazılır.
c. “/etc/named.conf” dosyası tekrar açılarak ResolveDNS Kayıtları yapılır.
d. “/var/named/” klasörü altına gidilerek Reslove Konfigürasyonu girilir.
e. Servisler Yeniden Balatılır.


a- “/etc/named.conf” dosyası düzenlenerek zone kaydı açılır.

Bash üzerinden tercih ettiğiniz editör ile named.conf dosyasını düzenlemek üzere açın. Mevcut örneklerde “Pico” editörü ile anlatılıcaktır.

#pico /etc/named.conf

Karşımızda Linux tarafından atanan temel yapılandırmalar görünücektir. Tüm yapılandırmaları silerek aşağıdaki şekilde tekrar oluşturalım.

 

 
 options {
 directory "/var/named";
 query-source port 53;
 forwarders {212.156.4.6;};
 };

 zone "yasasinlinux.org" IN {type master; file "yasasinlinux.org.zone"; };

 

 
 

Bu temel yapılandırma betikleri bize yasasinlinux.org domain'inin yayını için temel yapıyı oluşturacaktır. Burada satırları tek tek açıklıycak olursak ilk satırdaki "options" tag'ı bize DNS sunucumuzun temel ayarlarını belirticektir.

Directory betiği Oluşturucağımız .Zone dosyalarını muhafaza edeceğimiz dizini belirtir. Belirtilen dizini değiştirerek .zone dosyalarınızın muhafaza edildiği alanı kendinizde seçebilirsiniz.

Query-Source Port
betiği DNS sunucumuzun yayın yapacağı TCP Portunu belirtir. Burası 53 olmalıdır.

Forwarders
betiği DNS sunucumuzun Caching özelliğinde bize yardımcı olucaktır. DNS sunucumuz domain çözümlerinde kendi veritabanında bulamadığı domain karşılıklarını forwarders bölümündeki DNS sunucusuna sorakak öğrenebilir. Belirtilen IP adresi Ulusal NAP'ın DNS Sunucusudur.

Zone betiği bize özgü bir ayardır. Burayı kendi tercihlerimiz doğrultusunda yönetebiliriz. Zone betiğinin hemen yanında bulunan ve tırnaklar içerisinde belirtilen domain yayınlamak istediğimiz domain olmalıdır. Hemen yanındaki IN betiği konfigürasyonumuzu internet ortamında kullanılabilir kılıcaktır. "type master" ise oluşturucağımız zon için tip belirtmemizi sağlar. Burayı master olarak standardize etmenizde fayda var. Son olarakta "file" betiği .zone dosyamızın tam adını belirtmektedir. Bu dosya ismini kendi tercihleriniz doğrultusunda değiştirebilirsiniz. Uzantısının .zone olma gibi bi gereği yoktur.


b. .Zone dosyası “/var/named/” dizini altında oluşturulur ve konfigürasyon betikleri yazılır.

DNS sunucumuzu temel yapılandırmalar ile çalışabilir hale getirdik. Şimdi sıra yayınlıycağımız domain'in .zone dosyasını oluşturarak tercih ve yönergeleri belirtmek olacaktır. "/etc/named.conf" dosyasında belirttiğimiz gibi bu .zone dosyaları "/var/named" klasörü altında barındırılıcaktır. Şimdi konsolumuz vasıtası ile ilgili dizine ulaşarak .zone dosyamızı oluşturuyoruz..

#touch /var/named/portalofis.com.zone
#pico /var/named/ portalofis.com.zone



Diyoruz ve Konfigürasyon betiklerimizi yazabiliceğimiz alan karşımıza geliyor.. Bu alanı aşağıdaki örnekte olduğu gibi doldurabiliriz artık.
 

 
 $TTL 86000
 @ IN SOA ns1.portalofis.com. ns2. portalofis.com. (
 2004001 ; Seri Numarası
 10800 ; Yenileme Süresi 3 Saat
 3600 ; Tekrar Süresi 1 Saat
 31536000 ; Kaydın Geçersiz Kılınma Süresi 1 Yıl
 86400 ; Devralınma Süresi 24 Saat
 );

 @ IN NS ns1.yasasinlinux.org.
 @ IN MX 10 mail.yasasinlinux.org.
 www A 212.174.147.88
 mail A 212.174.147.89
 mail2 A 212.174.147.90
 ftp A 212.174.147.88

 

 
 


Görüldüğü gibi .zone dosyasının muhteviyatı fazla karışık sayılmaz. Mevcut betikleri teker teker değerlendirelim.

TTL 86400 : Burada belirtilen TTL ( Time To Live ) yaşam süresini belirtir. Yaptığınız güncellemeler kaç dakika sonra devreye girmeli. Burataki tüm zaman betikleri dakika üzerinden değerlendirilmelidir.

@ IN SOA : bu betikdeki @ değeri DNS sunucunuzdaki "siz" değerini, IN internet ortamında yayın yapıcağınızı belirtir. SOA dan sonra yazdığımız değerlerde DNS sunucusu tarafından veritabanına işletileceğini belirtir. İkinci satırda dikkat edilmesi gereken husus ns1.yasasinlinux.org. bölümünde domain'in sonunda muhakkak "." olmasıdır. Bu hayati önem taşır. Bu noktayı koymamanız halinde konfigürasyon betikleriniz DNS sunucunuz tarafından işletilemez. hosting@yasasinlinux.org bölümünede yöneticinin e-posta hesabını yazabilirsiniz.

Süreler : @ IN SOA bölümünün sonunda verdiğimiz numaralarda .zone kaydımız ile ilgili temel yapılandırmalar olan süreçleri belirler. Burada ";" dan sonraki bölüm işletilmez. Açıklama olması için yazılmıştır. 2004001 yazan bölüm .zone kaydınızın Seri numarasıdır. Bu seri numarası her .zone kaydında muhakkak değişmelidir.
10800 Yazan bölümdede .zone kaydınızın Refresh yani yenileme süresi belirtilmelidir. Dakika üzerinden yapılan hesaplarda bu bölüm 3 saat olarak imlenmiştir.
3600 Yazan bölümdede tekrar süresi, yanı DNS sunucuları arasındaki iletişimin ikaz ve istem süresini belirtir. Bu bölüm1 saat olarak imlenmiştir.
31536000 Yazan bölümde .zone kaydınızın bitiş süresini işaret eder. Bu süre 1 yıl olarak örneklendirildi. Burada dikkat etmeniz gereken husus, bu süre bittiğinde .zone kaydınızın devre dışı kalıcağıdır.
86400 Yazan bölümde devralınma süresi, yani DNS sunucunuzun bu betikleri rutin dışında kontrol süreleridir. Bu süre 24 saat olarak standardize edilir.

.zone ile ilgili temel yapıtaşlarını yerine oturttuk. Şimdi MX ve Record kayıtlarını tamamlayabiliriz. Yukarıda belirtilen satırları tek tek inceleyelim şimdi.

@ MX : Bu bölüm domain' üzerinden alıp verilecek E-Postaların hangi sunucu üzerinde tutulacağını belirtir. MX kayıtları E-Posta sunucuları için kilit konfigürasyondur. Bu betikte @ MX yaparak @ ile Biz'i yani IP numaramızı simgeledik. MX takısı ile konfigüre etmek istediğimiz betiği belirledik. 10 yazan bölümde ise MX sunucumuzun önceliğini belirtiyoruz. E-Posta sunucuları birbirleriyle yedek çalışabilme özelliğine sahiptirler. Bu nitelik vasıtası ile 2. 3 ve daha fazla e-posta sunucusunu birbirinin yedeği yapmanız mümkün. Bu öncelik sırası buradaki numaralarla belirtilir. Görüldüğü üzre 10 ile belirtilen mx kaydı 1. E-Posta sunucusu, 20 ile belirtilen MX kaydıda ikinci posta sunucusudur. bu konfigürasyon ile 1 Nolu e-Posta sunucusu devre dışı kaldığı zaman, E-Postalar ikinci E-Posta sunucusuna düşecek ve veri kaybı olmayacaktır.

@ IN NS : Bu bölüm NS ( NameServer ) yani isim sunucumuzu belirtir. Buraya ns1.yasasinlinux.org. yazabiliriz. Tabiki sondaki "." yı unutmadan.

Artık Web sayfalarımız ve Mail sunucularımızın IP adreslerini girebiliriz ;

www IN A : Bu bölümde üçlü betiğin 1. sırasındaki "www" subdomain'i simgeler. Böylelikle yasasinlinux.org domain'in hemen önüne "www" takısını ekleyerek web yayımına olanak sağlayabiliriz. Yine yanındaki IN takısı internet aktiviteli bi kayıt olduğunu gösterir. Belirtilen "A" eki ise bu kaydın niteliğini belirtir. SubDomain kayıtlarında "A" takısı kullanılmalıdır. Hemen yanında belirtilen IP adresi bu domain dizisinin hangi IP ile yayın yapacağına işaret eder..

mail IN A : Burasıda aynı şekilde.. yasasinlinux.org domain'inin hemen önüne "mail" ekini getirerek mail.yasasinlinux.org Domain serisini hazırlıyabiliyoruz. Karşılık gelen IP adresi bu domain dizisinin hangi IP ile yayın yapacağına işaret eder.


Bu işlemler sonunda Temel yapılandırmalarımızı tamamlamış ve domain'inimizi yayına sokmuş oluyoruz..


c. “/etc/named.conf” dosyası tekrar açılarak ResolveDNS Kayıtları yapılır.

Kimi zaman Yalnızca domain çözümleri ihtiyacımızı karşılamaz. Bazende IP'lerin domain karşılıklarını bulmamız gerekir.. Örneğin 212.156.4.6 IP'sine karşılık gelen domain eylul.ttnet.net.tr'dir. Bu kayıtları yine Bind üzerinden işletiriz.. Bunun için önce /etc/named.conf dosyasının içeriğine resolveDNS için hazırlıycağımız zone tanımını girmeliyiz..

#pico /etc/named.conf

 
 
options {
 directory "/var/named";
 query-soruce port 53;
 forwarders {212.156.4.6;};
 };

 zone "yasasinlinux.org" IN {type master; file "yasasinlinux.org.zone"; };
 zone "147.174.212.in-addr.arpa" IN {type master; file "212.174.147"; };
 

 
 

Yukarıdaki örnek /etc/named.conf dosyası daha önce üzerinde çalıştığımız dosyanın aynısıdır. Burada parlak renklerle belirtilen satır ResolveDNS için oluşturacağımız kaydı belirtir.. Conf dosyamızı yukarıdaki şekilde güncellememiz halinde /var/named/ dizinine 212.174.147 Dosya ismiyle ResolveDNS için hazırlıycağımız Zone dosyasını konfigüre ederiz.

Yukarıdaki satırı önce kısaca inceleyelim.. Oluşturduğumuz bu zone'un normal SOA zone'larıyla pek bi farkı yoktur aslında.. Yalnızca domain'i yazmamız gereken bölüme Resolve Formatını geçmeliyiz.. zone deyiminden sonra Tırnaklar içerisinde geçen "147.174.212.inn-addr.arpa" betiği statikdir. .inn-addr.arpa ile bitmelidir, ve Resolve Ediceğimiz Bloğun ilk üç öktetini sondan başlayaraz yazmalıyız.. Yani "212.174.147" bloğunu resolve edecek isek öktetleri tersten yazmalı, "147.174.212" yapmalıyız.. Bu betikten sonrası normal SOA zone kaydı ile aynıdır.. Type Master; diyerek zone tipimizi seçiyoruz ve file diyerek konfigürasyon dosyamızın adını belirtiyoruz. Burada Konfigürasyon dosyamızın adını yazarken herhangi bir formata uymamız geremiyor. Tertip ve düzen açısından bu şekilde yazılması uygun görülür.


d. “/var/named/” klasörü altına gidilerek Reslove Konfigürasyonu girilir.

Gerekli prosedürleri tamamladık ve konfigürasyonumuzun son adımına geldik. Şimdi Resolve DNS zone'umuzu oluşturabiliriz.. /etc/named.conf dosyasında belirttiğimiz üzere "/var/named/212.174.147" isimli dosyamızı oluşturarak kayıtlarımızı girmeye başlıyoruz..

#touch /var/named/212.174.147
#pico /var/named/212.174.147

 
 $TTL 86400
 @ IN SOA ns1.yasasinlinux.org. root.ns1.yasasinlinux.org. (
 300413001 ; Serial
 1H ; Refresh
 1H ; Retry
 1W ; Expire
 1D ) ; Minimum
 @ IN NS ns1.yasasinlinux.org.
 88 IN PTR www.yasasinlinux.org.
 89 IN PTR mail.yasasinlinux.org.


 

 
 
Böylelikle Son işlem olan ResolveDNS kayıtlarımızıda girmiş oluyoruz. Yukarıdaki konfigürasyonu biraz açıklayalım.

"@IN NS ns1.yasasinlinux.org" betiğinde yine NameServer'ımızın kaydını belirtiyoruz.
"88 IN PTR www.yasasinlinux.org"  betiğindede 212.174.147 Bloğu üzerinde çalıştığımızı hatırlayarak Bu bloğun "88" nolu IP'sinin PTR ( Pointer ) Kaydının www.yasasinlinux.org Domain'ine karşılık geldiğini belirtiyoruz.

Görüldüğü gibi Resolve İşlemi için girdiğimiz betik Standart Zone kayıtları ile aynı mantaritede çalışıyor.. Bu işlem sonucunda Servislerimizi yeniden başlatmamız yeterli olacaktır.

 

Linux | Bu yazıya henüz yorum yapılmamış. | 11.12.2009 05:50:11

Ana Sayfa | Hakkımda | Çalışmalarım | Kitap Önerileri | Fotoğraflarım | RSS | İletişim
Sem Göksu 2004-2009 © Tüm Hakları Saklıdır.
Hazırlayan Sem GÖKSU