DEV Community

Emre Karabulut for Açıklab

Posted on • Edited on

Pardus Üzerine Bind9 DNS Server Kurulumu

DNS'in Yapısı

DNS sistemi, isim sunucuları ve çözümleyicilerinden oluşur. İsim sunucuları olarak düzenlenen bilgisayarlar, host isimlerine karşılık gelen IP adresi bilgilerini tutarlar. Çözümleyiciler ise DNS istemcilerdir. DNS istemcilerde, DNS sunucu ya da sunucuların adresleri bulunur.

Bir DNS istemci bir bilgisayarın ismine karşılık IP adresini bulmak istediği zaman isim sunucuya başvurur. İsim sunucu, yani DNS sunucu da eğer kendi veritabanında öyle bir isim varsa, bu isme karşılık gelen IP adresini istemciye gönderir. DNS veritabanına kayıtların elle, tek tek girilmesi gerekir.

Daha Detaylı Bilgi İçin Lütfen Tıklayınız...

Öncelikle Pardus 19.2 Sunucumu güncelliyorum...

sudo apt update
sudo apt upgrade

Etki alan adını veya IP adresini çözümleyen DNS sunucusunu yapılandırmak için BIND'ı yüklüyoruz. BIND (İsim çözümlemeye yarayan açık kaynaklı bir program paketidir.)

apt -y install bind9 bind9utils dnsutils

Daha sonra Dns yapılandırma dosyamızın yer aldığı /etc/bind/named.conf dizinimize giriyoruz ve oluşturacağımız zone tanımlamalarını belirliyoruz.

nano /etc/bind/named.conf
"/etc/bind/named.conf.options";
"/etc/bind/named.conf.local";
Yorumla
# "/etc/bind/named.conf.default-zones";
# "/etc/bind/named.conf.external-zones";
Ekle
"/etc/bind/named.conf.internal-zones";

Alt Text

Daha sonra bind9 servisini yeniden başlatıyoruz...

sudo systemctl restart bind9

Şimdi ise yeni bir internal-zones oluşturuyoruz. Ben nano düzenleyicisi ile oluşturup içine aşağıda ki satırları ekleyip kendi ortamıma göre ip ve alan adımı yazıyorum...

nano /etc/bind/named.conf.internal-zones
# define for internal section
view "internal" {
        match-clients {
                localhost;
                192.168.1.0/24;
        };
        # set zone for internal
        zone "pardus.lab" {
                type master;
                file "/etc/bind/pardus.lab.lan";
                allow-update { none; };
        };
        # set zone for internal *note
        zone "0.0.10.in-addr.arpa" {
                type master;
                file "/etc/bind/16.1.168.192.db";
                allow-update { none; };
        };
        include "/etc/bind/named.conf.default-zones";
};

Alt Text

Daha sonra izin verdiğimiz sınır aralıklarını tanımlıyoruz.

nano /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };
        # query range you allow
        allow-query { localhost; 192.168.1.0/24; };
        # the range to transfer zone files
        allow-transfer { localhost; 192.168.1.0/24; };
        # recursion range you allow
        allow-recursion { localhost; 192.168.1.0/24; };
        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        # change if not use IPV6
        listen-on-v6 { none; };
};

Alt Text

Sunucumuzda Forward Primary Zone' da kayıt oluşturmak için aşağıda ki ayarları yapıyoruz.

nano /etc/bind/pardus.lab.lan
$TTL 86400
@   IN  SOA     pc.pardus.lab. root.pardus.lab. (
        2019071601  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
        # define name server
        IN  NS      pc.pardus.lab.
        # define name server's IP address
        IN  A       192.168.1.16
        # define mail exchanger
        IN  MX 10   pc.pardus.lab.

# define IP address of the hostname
pc     IN  A       192.168.1.16

Alt Text

Daha Sonra PTR sorguları için** reverse zone** dosyası oluşturuyoruz ve aşağıda ki şekilde düzenliyoruz.

$TTL 86400
@   IN  SOA     pc.pardus.lab. root.pardus.lab. (
        2019071601  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
        # define name server
        IN  NS      pc.pardus.lab.
        # define the range of this domain included
        IN  PTR     pc.pardus.lab.
        IN  A       255.255.255.0

# define hostname of the IP address
16      IN  PTR     pc.pardus.lab.

Alt Text

Şimdi ise BIND'ı yeniden başlatıyorum ve servisimin durumunu görüntülüyorum.

sudo systemctl restart bind9.service

sudo systemctl status bind9.service

Görüldüğü üzere bind servisimiz sağlıklı bir şekilde çalışmakta...

Alt Text

Daha sonra Syntax hatalarını kontrol etmek için komutunu çalıştırıyorum.

named-checkzone pardus.lab /etc/bind/pardus.lab.lan

Ve son olarak Dig (domain information groper) yani DNS kayıtlarına bakmak için ve yaptığımız işlemlerin doğrulunu test etmek için aşağıda ki komutu kullanıyorum.

dig pardus.lab

Alt Text

İP adresine karşılık gelen makine adresini bulmak için de;

dig -x 192.168.1.16

Alt Text

Pardus 19.2 Sunucumuz üzerine DNS kurma işleminin sonuna gelmiş bulunmaktayız...Kolay Gelsin

İyi Çalışmalar

Açık Kaynak Yazılımları

Top comments (0)