AlmaLinux'ta Dahili Bir Ağ İçin BIND DNS Sunucusu Nasıl Yapılandırılır

Bu kapsamlı kılavuzda, AlmaLinux’taki dahili ağınız için BIND’i adım adım kurma, yapılandırma ve optimize etme sürecini ele alacağız.

Dahili bir ağ için BIND DNS Sunucusu yapılandırmak, özel bir kuruluş veya ağ içinde alan adı çözümlemesini yönetmek için önemlidir. Daha hızlı aramalar, azaltılmış dış bağımlılıklar ve kaynaklar için özel dahili alan adları oluşturma yeteneği sağlamaya yardımcı olur. Kurumsal düzeydeki kararlılığıyla AlmaLinux, BIND (Berkeley İnternet Adı Alanı) kullanarak dahili bir DNS sunucusuna ev sahipliği yapmak için mükemmel bir seçimdir.

Bu kapsamlı kılavuzda, AlmaLinux’taki dahili ağınız için BIND’i kurma, yapılandırma ve optimize etme adım adım sürecini ele alacağız.


BIND Nedir?

BIND, çok yönlülüğü ve ölçeklenebilirliğiyle bilinen, dünya çapında en yaygın kullanılan DNS sunucu yazılımlarından biridir. Şu şekilde işlev görebilir:

  1. Yetkili DNS Sunucusu: Bir alan adı için DNS kayıtlarını tutar.
  2. Önbelleğe Alma DNS Çözücü: Çözüm süresini azaltmak için DNS sorgu sonuçlarını önbelleğe alır.
  3. Yinelenen DNS Sunucusu: Diğer DNS sunucularıyla iletişim kurarak sorguları çözer.

Dahili bir ağ için BIND, etki alanı adı çözümlemesini yerel olarak yönetmek üzere yetkili DNS sunucusu olarak yapılandırılır.


Dahili Bir Ağ İçin Neden BIND Kullanmalısınız?

  • Yerel Ad Çözümlemesi: Özel etki alanı adlarıyla dahili kaynaklara erişimi basitleştirir.
  • Performans: Sık erişilen kayıtları önbelleğe alarak sorgu süresini azaltır.
  • Güvenlik: DNS sorgularını ağ içindeki güvenilir istemcilerle sınırlar.
  • Esneklik: DNS bölgeleri ve kayıtları üzerinde ayrıntılı denetim sunar.

Önkoşullar

BIND’i yapılandırmadan önce şunlardan emin olun:

  1. AlmaLinux Kurulu: Sisteminizde AlmaLinux 8 veya üzeri olmalıdır.
  2. Kök Ayrıcalıkları: Yönetici erişimi gereklidir.
  3. Statik IP Adresi: BIND’i barındıran sunucuya statik bir IP atayın.

1. Adım: AlmaLinux’a BIND yükleyin

1.1. Adım: Sistemi Güncelleyin

Sistemin her zaman güncel olduğundan emin olun:

sudo dnf update -y

1.2. Adım: BIND ve Yardımcı Programları Yükleyin

BIND’i ve yönetim araçlarını yükleyin:

sudo dnf install bind bind-utils -y

1.3. Adım: Kurulumu Doğrulayın

Onaylamak için yüklü sürümü kontrol edin:

named -v

2. Adım: Dahili Ağ için BIND’i Yapılandırın

BIND’in ana yapılandırma dosyası /etc/named.conf konumunda bulunur. Ek bölge dosyaları /var/named/ dizininde bulunur.

Adım 2.1: Varsayılan Yapılandırmayı Yedekleyin

Değişiklik yapmadan önce bir yedek oluşturun:

sudo cp /etc/named.conf /etc/named.conf.bak

Adım 2.2: /etc/named.conf dosyasını düzenleyin

Düzenleme için yapılandırma dosyasını açın:

sudo nano /etc/named.conf

Aşağıdaki değişiklikleri yapın:

  1. Sorgu Erişimini Kısıtla: DNS sorgularını dahili ağla sınırlayın:
options {
listen-on port 53 { 127.0.0.1; 192.168.1.1; }; # Sunucunuzun IP'siyle değiştirin
allow-query { localhost; 192.168.1.0/24; }; # Ağ aralığınızla değiştirin
recursion yes;
};
  1. Dahili Bir Bölge Tanımlayın: Dahili etki alanınız için bir bölge tanımı ekleyin:
zone "internal.local" IN {
type master;
file "/var/named/internal.local.zone";
};

Adım 2.3: Kaydet ve Çık

Değişiklikleri kaydedin (Ctrl + O) ve çıkın (Ctrl + X).


Adım 3: Dahili Etki Alanı için Bir Bölge Dosyası Oluşturun

Adım 3.1: Bölge Dosyasını Oluşturun

/var/named/ dizininde bölge dosyasını oluşturun:

sudo nano /var/named/internal.local.zone

Adım 3.2: DNS Kayıtlarını Ekleyin

Dahili ağ için DNS kayıtlarını tanımlayın:

$TTL 86400
@   IN  SOA     ns1.internal.local. admin.internal.local. (
            2023120901 ; Serial
            3600       ; Refresh
            1800       ; Retry
            1209600    ; Expire
            86400 );    ; Minimum TTL

    IN  NS      ns1.internal.local.
    IN  NS      ns2.internal.local.

ns1 IN  A       192.168.1.1    ; Replace with your DNS server IP
ns2 IN  A       192.168.1.2    ; Optional secondary DNS
www IN  A       192.168.1.10   ; Example internal web server
db  IN  A       192.168.1.20   ; Example internal database server

Adım 3.3: Dosya İzinlerini Ayarlayın

Bölge dosyasının doğru sahipliğe ve izinlere sahip olduğundan emin olun:

sudo chown root:named /var/named/internal.local.zone
sudo chmod 640 /var/named/internal.local.zone

Adım 4: BIND Hizmetini Etkinleştirin ve Başlatın

Adım 4.1: BIND’i Önyüklemede Başlatacak Şekilde Etkinleştirin

sudo systemctl enable named

Adım 4.2: Hizmeti Başlatın

sudo systemctl start named

Adım 4.3: Hizmet Durumunu Kontrol Edin

BIND’in çalıştığını doğrulayın:

sudo systemctl status named

Adım 5: Güvenlik Duvarını Yapılandırın

Adım 5.1: DNS Trafiğine İzin Verin

DNS trafiği için 53 numaralı portu açın:

sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload

Adım 5.2: Güvenlik Duvarı Kurallarını Doğrulayın

DNS’e izin verildiğini kontrol edin:

sudo firewall-cmd --list-all

Adım 6: Dahili DNS Sunucusunu Test Edin

Adım 6.1: dig ile test edin

Test etmek için dahili etki alanını sorgulayın:

dig @192.168.1.1 www.internal.local

Adım 6.2: nslookup ile test edin

Alternatif olarak, şunu kullanın nslookup:

nslookup www.internal.local 192.168.1.1

Adım 6.3: Günlükleri Kontrol Et

Günlüklerdeki DNS etkinliğini izle:

sudo tail -f /var/log/messages

Gelişmiş Yapılandırma Seçenekleri

Seçenek 1: Ters Arama Bölgeleri Ekle

Ters bölge dosyası oluşturarak ters DNS aramalarını etkinleştirin.

  1. /etc/named.conf dosyasına Ters Bölge Ekle:
zone "1.168.192.in-addr.arpa" IN {
type master;
file "/var/named/192.168.1.rev";
};
  1. Ters Bölge Dosyasını Oluştur:
sudo nano /var/named/192.168.1.rev

Aşağıdaki kayıtları ekleyin:

$TTL 86400
@   IN  SOA     ns1.internal.local. admin.internal.local. (
            2023120901 ; Serial
            3600       ; Refresh
            1800       ; Retry
            1209600    ; Expire
            86400 );    ; Minimum TTL

    IN  NS      ns1.internal.local.
1   IN  PTR     ns1.internal.local.
10  IN  PTR     www.internal.local.
20  IN  PTR     db.internal.local.
  1. BIND’i Yeniden Başlat:
sudo systemctl restart named

Seçenek 2: İkincil Bir DNS Sunucusu Ayarlayın

İkincil bir DNS sunucusu yapılandırarak yedeklilik ekleyin. Birincil sunucunun yapılandırmasını bölge transferlerine izin verecek şekilde güncelleyin:

allow-transfer { 192.168.1.2; }; # İkincil sunucu IP'si

Yaygın Sorunları Giderme

Sorun 1: “DNS Sunucusu Yanıt Vermiyor”

  • Neden: Güvenlik duvarı veya yanlış allow-query ayarları.
  • Çözüm: Güvenlik duvarının DNS trafiğine izin verdiğinden ve allow-query‘nin ağ aralığınızı içerdiğinden emin olun.

Sorun 2: “Bölge Dosyası Hataları”

  • Neden: Bölge dosyasında sözdizimi hataları. - Çözüm: Bölge dosyasını doğrulayın:
named-checkzone internal.local /var/named/internal.local.zone

Sorun 3: “BIND Hizmeti Başlatılamıyor”

  • Neden: /etc/named.conf dosyasında hatalar.
  • Çözüm: Yapılandırma dosyasını kontrol edin:
named-checkconf

Sonuç

AlmaLinux’ta dahili bir ağ için BIND DNS’i yapılandırmak, özel kaynaklar için ad çözümlemesini yönetmenin sağlam ve etkili bir yolunu sağlar. Bu kılavuzu izleyerek, ağınız için güvenilir DNS hizmetleri sağlamak üzere BIND’i kurabilir, yapılandırabilir ve test edebilirsiniz. Ters aramalar ve ikincil sunucular gibi gelişmiş seçeneklerle işlevselliği ve yedekliliği daha da artırabilirsiniz.

Herhangi bir sorunuz veya ek ipucu varsa, bunları aşağıdaki yorumlarda paylaşmaktan çekinmeyin.