Ubuntu Üzerine DNS(Named - Bind) Servisinin Kurulum ve Yapılandırması - Public or Private DNS
Tags: dns, bind, named, ubuntu
Published: 2021-09-14 20:09:29


```javascript
sudo apt install -y bind9 bind9utils bind9-doc dnsutils
```

Yapılandırma dosyaları **/etc/bind/** altındadır.

Oluşturacağımız **forward zone** ve **reverse zone** bu dosya içerisinde belirtiyoruz **/etc/bind/named.conf.local**

```javascript
cd /etc/bind
```


```javascript
sudo vi named.conf.options
```
Aşağıdaki yapılandırma satırlarını ortamınıza göre şekillendirebilirsiniz.
```javascript

        allow-query { any; };
        listen-on port 53 { any; };
        allow-transfer { none; };
        recursion yes;
        querylog yes;
        allow-recursion { any; };
        version "Ubuntu DNS Server for fatlan.com";
        dnssec-validation auto;
        listen-on-v6 { any; };
        forwarders {
            8.8.8.8;
        };

```


```javascript
sudo vi named.conf.local
```
```javascript
zone "fatlan.com" IN {

     type master;

     file "/etc/bind/fatlan.com";

     allow-update { none; };
};


zone "0.0.127.in-addr.arpa" IN {

     type master;

     file "/etc/bind/reverse.fatlan.com";

     allow-update { none; };
};
```

Şimdi **fatlan.com** ve  **reverse.fatlan.com** dosyalarını oluşturalım.

```javascript
sudo cp db.local  fatlan.com

sudo cp db.127  reverse.fatlan.com
```


```javascript
sudo vi fatlan.com
```

127.0.0.1 no'lu ip'ler yerine sizin için ilgili ip'yi girmeniz önerilir.
```javascript
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.fatlan.com. root.ns.fatlan.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.fatlan.com.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1
ns      IN      A       127.0.0.1
```


```javascript
sudo vi reverse.fatlan.com
```

127.0.0.1 no'lu ip'ler yerine sizin için ilgili ip'yi girmeniz önerilir.
```javascript
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.fatlan.com. root.ns.fatlan.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.fatlan.com.
NS      IN      A       127.0.0.1
1       IN      PTR     ns.fatlan.com.
```


```javascript
sudo named-checkconf
```

```javascript
sudo named-checkzone fatlan.com /etc/bind/fatlan.com
```

```javascript
sudo named-checkzone reverse.fatlan.com /etc/bind/reverse.fatlan.com
```

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/brz9kvkwgcto5hh6ln9y.png)
 

```javascript
sudo systemctl start bind9.service
```

Şimdi dns server'ımı /etc/resolv.cond dan bu dns gösterip aşağıdaki testleri yapıyorum.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fm3265oozfxdgxmwp1a0.png)
 

ilgili portları tespit için aşağıdaki komutları kullanabilirsiniz.

```javascript
sudo ss -plnta | egrep -i named

sudo netstat -plnta | egrep -i named
```

**NoT:** Her kayıt eklendiğinde mutlaka **Serial** kısmı arttırılmalıdır.


**fatlan.com** için örnek kayıtlar...
```javascript
fatlan.com.   IN     MX   10   mail.fatlan.com.

www     IN       A      127.0.0.1
mail    IN       A      127.0.0.1

ftp     IN      CNAME   www.fatlan.com.
```


**reverse.fatlan.com** için örnek kayıtlar...
```javascript
3     IN      PTR    www.fatlan.com.
4     IN      PTR    mail.fatlan.com.
```

ref: https://ubuntu.com/server/docs/service-domain-name-service-dns