Pardus Üzerine Bind9 DNS Server Kurulumu
Tags: bind9, pardusdns, acikkaynak, pardusbind9
Published: 2020-05-11 16:15:02

---
title: Pardus Üzerine Bind9 DNS Server Kurulumu
published: true
description: 
tags: #bind9 #pardusdns #acikkaynak #pardusbind9
---

#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...]
(https://tr.wikipedia.org/wiki/DNS)

Öncelikle Pardus 19.2 Sunucumu güncelliyorum...

```sh
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.)

```sh
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.

```sh
nano /etc/bind/named.conf
```

```sh
"/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](https://dev-to-uploads.s3.amazonaws.com/i/janoq7ar27lv11kmta8k.JPG)

Daha sonra **bind9** servisini yeniden başlatıyoruz...
```sh
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...

```sh
nano /etc/bind/named.conf.internal-zones
```
```sh
# 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](https://dev-to-uploads.s3.amazonaws.com/i/dl7fjh56bfki67p5khye.JPG)

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

```sh
nano /etc/bind/named.conf.options
```
```sh
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](https://dev-to-uploads.s3.amazonaws.com/i/fw77u2rcoyerskbdtoxp.JPG)

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

```sh
nano /etc/bind/pardus.lab.lan
```
```sh
$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](https://dev-to-uploads.s3.amazonaws.com/i/m1v8prhlgsi8k18gdxx0.JPG)

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

```sh
$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](https://dev-to-uploads.s3.amazonaws.com/i/txgarjwaa4uopdal6yai.JPG)

Şimdi ise **BIND**'ı yeniden başlatıyorum ve servisimin durumunu görüntülüyorum.
```sh
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](https://dev-to-uploads.s3.amazonaws.com/i/yt0wqe6j3r4dsvacr3yh.JPG)

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

```sh
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.

```sh
dig pardus.lab
```
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/49pycufwch8e5max0uvi.JPG)

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

```sh
dig -x 192.168.1.16
```
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7608ixv6tnfw75h7t64y.JPG)

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

İyi Çalışmalar

[Açık Kaynak Yazılımları]
(https://www.acikkaynak.blog/)