Doküman

Debian 10/11 ‘de BIND Master DNS Sunucusunu Yapılandırma

DNS olarak kısaltılan Alan Adı Sistemi , Alan Adını bir IP Adresine ve bunun tersini çözmek için kullanılan bir internet hizmetidir. BIND (Berkeley İnternet Adı Etki Alanı), yetkili bir DNS sunucusu olarak kullanılabilecek açık kaynaklı, esnek ve tam özellikli bir DNS yazılımıdır. Etki Alanı Adından IP Adresine dönüştürme işlevini sağlar. Bu yazıda, Debian 10/11 ‘de BIND DNS Sunucusu yapılandırması anlatılacaktır. DHCP kullanıyorsanız sunucunuzun statik bir IP Adresi olduğundan emin olun,

Debian 10/11 Bind DNS Sunucusu Kurulumu

Kuruluma başlamadan önce, Debian 10/11 paket dizininizi güncellemek her zaman yararlıdır. Bunun için aşağıdaki komutu çalıştırabilirsiniz.

sudo apt update -y

Ardından BIND DNS sunucusunu kurabiliriz. Bu yazıda Debian üzerinde Bind DNS sunucusunun kurulumu anlatılacak olduğundan APT komutunu kullanarak varsayılan depodan kurulumu aşağıdaki komutla gerçekleştirebilirsiniz.

sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils

Debian 10/11 ‘de Bind DNS Sunucusunu Yapılandırma

bind9’un yapılandırma dizini /etc/bind/ şeklindedir . Hem yapılandırma dosyalarını hem de Bölge arama dosyalarını tutar. Genel yapılandırma /etc/bind/named.conf şeklindedir ve yerel DNS yapılandırması için kullanılmaz, bunun yerine /etc/bind/named.conf.local kullanılır.

Bölgeler Oluşturun

/etc/bind/named.conf.local dosyasını kullanarak yeni bölgeler oluşturacağız. Dosyayı düzenlemek için alışık olduğunuz metin editörünü kullanabilirsiniz.

sudo vim /etc/bind/named.conf.local

Hem forward hem de reverse bölgeleri oluşturacağız. İlk olarak, computingforgeeks.local etki alanına ait forward bölgesi için bir giriş oluşturarak başlayalım. Bu alan adını, size ait alan adıyla değiştirebilirisiniz.

zone "computingforgeeks.local" IN { // Domain name
    
      type master; // Primary DNS

     file "/etc/bind/forward.computingforgeeks.local.db"; // Forward lookup file

     allow-update { none; }; // Since this is the primary DNS, it should be none.

};

Yukarıdaki dosyada, forward.computingforgeeks.local.db , forward arama bölgenizin adıdır.

Şimdi computingforgeeks.local için reverse bölgesini oluşturalım . Aynı forward bölgesinde olduğu gibi parametreleri kendinize göre değiştirerek aşağıdaki satırları ekleyin.

zone "1.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.computingforgeeks.local.db"; //Reverse lookup file
 allow-update { none; }; //Since this is the primary DNS, it should be none.

};

Yukarıdaki dosyada, 1.168.192.in-addr.arpa, reverse DNS’nin adıdır (eğer ağınız 172.16.10 ise, o zaman 10.16.172’ye çevrilecektir ve reverse.computingforgeeks.local.db reverse arama bölgenizin adıdır.

Debian 10/11 ‘de Bind DNS bölgesi arama dosyalarını yapılandırma

Arama bölgeleri, hem forward hem de reverse bölgeler için DNS kayıtlarını tutar.

Öncelikle forward bölge arama dosyasını oluşturalım. forward.computingforgeeks.local.db isimli örnek zone lookup dosyasını aşağıdaki gibi kopyalayacağız.

sudo cp /etc/bind/db.local /etc/bind/forward.computingforgeeks.local.db

Belirli bir sözdizimine sahip olduğunu ve alan adlarının nokta (.) ile bittiğini unutmayın.

Ayrıca aşağıdaki kısaltmaları bilmenizde fayda var.

  • SOA – Yetki Başlangıcı
  • A – Bir kayıt
  • MX – Mail for Exchange
  • NS – Ad Sunucusu
  • CN – Kanonik İsim

Şimdi bölge dosyasını düzenleyelim.

sudo vim /etc/bind/forward.computingforgeeks.local.db

Belirlediğiniz etki alanı adına göre değiştirin.

$TTL    604800
@       IN      SOA     ns1.computingforgeeks.local. root.ns1.computingforgeeks.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;@      IN      A       127.0.0.1
;@      IN      AAAA    ::1

;Name Server Information

@        IN      NS      ns1.computingforgeeks.local.

;IP address of Name Server

ns1     IN      A       192.168.1.12

;Mail Exchanger

computingforgeeks.local.   IN     MX   10   mail.computingforgeeks.local.

;A – Record HostName To Ip Address

www     IN       A      192.168.1.13
mail    IN       A      192.168.1.14

;CNAME record

ftp     IN      CNAME   www.computingforgeeks.local.

reverse bölge arama dosyası da kısaltmalara sahiptir

  • PTR – İşaretçi
  • SOA – Yetki Başlangıcı

/etc/bind içindeki reverse.computingforgeeks.local.db adlı örnek reverse bölge dosyasını kopyalayın.

sudo cp /etc/bind/db.127 /etc/bind/reverse.computingforgeeks.local.db

Dosyanın içeriğini düzenleyin.

sudo vim /etc/bind/reverse.computingforgeeks.local.db

Dosyada, alan adını ve IP’yi uygun şekilde değiştirin.

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     computingforgeeks.local. root.computingforgeeks.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;

;Name Server Information

@       IN      NS     ns1.computingforgeeks.local.
ns1     IN      A       192.168.1.12
;Reverse lookup for Name Server

12     IN      PTR    ns1.computingforgeeks.local.

;PTR Record IP address to HostName

13    IN      PTR    www.computingforgeeks.local.
14     IN      PTR    mail.computingforgeeks.local.

Debian 10/11 de BIND DNS sözdizimini kontrol edin

Oluşturduğunuz yapılandırma dosyalarının sözdizimini kontrol edin. Burada sözdizimini kontrol etmek için named-checkconf komutunu kullanıyoruz . Hata yoksa komut kabuğa dönmelidir

Oluşturulan forward ve reverse bölge dosyalarının sözdizimini kontrol edelim.

1.Forward bölge dosyası kontrolü

$ sudo named-checkzone computingforgeeks.local /etc/bind/forward.computingforgeeks.local.db
zone computingforgeeks.local/IN: loaded serial 3 OK

2. Reverse bölge dosyası kontrolü

$ sudo named-checkzone 1.168.192.in-addr.arpa /etc/bind/reverse.computingforgeeks.local.db
zone 1.168.192.in-addr.arpa/IN: loaded serial 3
OK

İki kontrolden elde edilen seri çıktının aynı olması gerektiğine dikkat edin, aksi takdirde konfigürasyonları düzenleyin.

BIND DNS sunucusunu yeniden başlatın ve etkinleştirin.

sudo systemctl restart bind9
sudo systemctl enable bind9

Debian 10/11 ‘de yüklü olan Bind DNS Sunucusunu Test Edelim

Herhangi bir istemci makineye gidin, yeni DNS sunucusu IP Adresinizi /etc/resolv.conf dosyasına ekleyin. Yukarıdaki örnekte IP Adresi 192.168.1.12’dir.

sudo vim /etc/resolv.conf

Dosyada, Bind DNS sunucusu IP adresini ekleyin

nameserver 192.168.1.12

Kaydet ve çık. Ardından aşağıdaki gibi ilerleyin.

Burada DNS sunucusunu doğrulamak için kullanabileceğiniz iki seçenek vardır, yani nslookup veya dig komutu.

dig komutunu kullanarak ileriye doğru aramayı doğrulayın.

dig www.computingforgeeks.local

Eğer ” komut bulunamadı ” hatası alırsanız, Debian/Ubuntu sistemlerine dnsutils uygulamasını kurmanız gerekir.

Yukarıdaki komut için Örnek Çıktı.

; <<>> DiG 9.16.1-Ubuntu <<>> www.computingforgeeks.local
;; global options: +cmd
;; Got answer: ;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41776
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: e3ed02461aea46d2a51e65556120c239169ed7251d0fb2df (good)
;; QUESTION SECTION:
;www.computingforgeeks.local.	IN	A

;; ANSWER SECTION:
www.computingforgeeks.local. 604800 IN A 192.168.1.13 
;; AUTHORITY SECTION:
computingforgeeks.local. 604800 IN NS ns1.computingforgeeks.local.

Yazının orijinalini buradan okuyabilirsiniz.