DNS Sunucusu Nedir ve AlmaLinux'a Nasıl Kurulur

Bu detaylı kılavuz, DNS sunucusunun ne olduğunu, neden önemli olduğunu açıklayacak ve AlmaLinux’ta bir DNS sunucusunun nasıl kurulacağı ve yapılandırılacağı konusunda adım adım talimatlar sağlayacaktır.

Günümüzün birbirine bağlı dünyasında, Alan Adı Sistemi (DNS) internet üzerinden kesintisiz iletişimi sağlamada kritik bir rol oynar. AlmaLinux kullanıcıları için bir DNS sunucusu kurmak, ağları yönetmede, web sitelerine ev sahipliği yapmada veya bir kuruluş içinde daha hızlı ad çözümlemesi sağlamada önemli bir adım olabilir.

Bu ayrıntılı kılavuz, bir DNS sunucusunun ne olduğunu, neden önemli olduğunu açıklayacak ve AlmaLinux’ta bir DNS sunucusunun nasıl kurulacağı ve yapılandırılacağı konusunda adım adım talimatlar sağlayacaktır.


DNS Sunucusu Nedir?

Bir DNS sunucusu, internetin telefon rehberi gibidir. İnsanların okuyabileceği alan adlarını (örneğin, www.example.com) bilgisayarların birbirleriyle iletişim kurmak için kullandığı IP adreslerine (örneğin, 192.168.1.1) çevirir.

Bir DNS Sunucusunun Temel İşlevleri

  1. Ad Çözümlemesi: Alan adlarını IP adreslerine ve tam tersi şekilde dönüştürür.
  2. Önbelleğe Alma: Sonraki istekleri hızlandırmak için çözülmüş sorguları geçici olarak depolar.
  3. Yük Dengeleme: Daha iyi performans için trafiği birden fazla sunucuya dağıtır.
  4. Bölge Yönetimi: Etki alanları ve alt etki alanları hakkında yetkili bilgileri yönetir.

DNS Neden Önemlidir?

  • Verimlilik: Kullanıcıların karmaşık IP adreslerini ezberlemeden web sitelerine erişmesini sağlar.
  • Otomasyon: Sistem yöneticileri için ağ yönetimini basitleştirir.
  • Güvenlik: Sahteciliğe ve diğer saldırılara karşı koruma sağlamak için DNSSEC gibi mekanizmalar sağlar.

DNS Sunucularının Türleri

DNS sunucuları işlevlerine göre kategorilere ayrılabilir:

  1. Özyinelemeli DNS Sunucusu: Cevabı bulana kadar diğer DNS sunucularıyla iletişim kurarak DNS sorgularını çözer. 2. Yetkili DNS Sunucusu: Sorumlu olduğu alan adları hakkındaki sorgulara yanıtlar sağlar.
  2. Önbelleğe Alma DNS Sunucusu: Daha hızlı gelecekteki yanıtlar için önceki sorguların sonuçlarını depolar.

DNS Sunucusu İçin AlmaLinux Neden Kullanılmalıdır?

AlmaLinux, DNS sunucularını barındırmak için mükemmel bir seçim haline getiren güvenli, kararlı ve kurumsal düzeyde bir Linux dağıtımıdır. BIND ve Dnsmasq gibi yaygın olarak kullanılan DNS yazılımlarıyla uyumluluğu, hem küçük hem de büyük ölçekli dağıtımlar için güvenilir bir kurulum sağlar.


AlmaLinux’ta DNS Sunucusu Kurma ve Yapılandırma

Bu kılavuzda, en popüler ve çok yönlü DNS sunucusu yazılım paketlerinden biri olan BIND’i (Berkeley İnternet Adı Alanı) kullanacağız.


1. AlmaLinux’a BIND yükleyin

1. Adım: Sistemi Güncelleyin

BIND’i yüklemeden önce, en son paketlere sahip olduğunuzdan emin olmak için AlmaLinux sisteminizi güncelleyin:

sudo dnf update -y

2. Adım: BIND’i yükleyin

bind paketini ve yardımcı programlarını yükleyin:

sudo dnf install bind bind-utils -y

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

Başarılı kurulumu onaylamak için BIND sürümünü kontrol edin:

named -v

2. BIND’i Yapılandır

BIND için ana yapılandırma dosyaları /etc/named.conf ve /var/named/ dizininde bulunur.

1. Adım: Varsayılan Yapılandırmayı Yedekleyin

Varsayılan yapılandırma dosyasının bir yedeğini oluşturun:

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

2. Adım: Yapılandırma Dosyasını Düzenleyin

/etc/named.conf dosyasını bir metin düzenleyicide açın:

sudo nano /etc/named.conf

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

  1. Sorgulara İzin Ver: Ağınızdan gelen isteklere izin vermek için allow-query yönergesini güncelleyin:
options {
listen-on port 53 { 127.0.0.1; herhangi biri; };
allow-query { localhost; 192.168.1.0/24; };
};
  1. İletmeyi Etkinleştir (İsteğe Bağlı): Çözülmemiş sorguları bir üst akış DNS sunucusuna iletin:
forwarders {
8.8.8.8; 8.8.4.4;
};
  1. Bölgeleri Tanımla: Etki alanınız için bir bölge ekleyin:
zone "example.com" IN {
type master;
file "/var/named/example.com.zone";
};

3. Bölge Dosyaları Oluştur

Bölge dosyaları etki alanınız için DNS kayıtları içerir.

Adım 1: Bir Bölge Dosyası Oluşturun

Alan adınız için yeni bir bölge dosyası oluşturun:

sudo nano /var/named/example.com.zone

Adım 2: DNS Kayıtları Ekle

Aşağıdaki DNS kayıtlarını bölge dosyasına ekleyin:

$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
            2023120801  ; Serial
            3600        ; Refresh
            1800        ; Retry
            1209600     ; Expire
            86400 )     ; Minimum TTL


IN NS ns1.example.com.
IN NS ns2.example.com.

ns1 IN A 192.168.1.10
ns2 IN A 192.168.1.11
www IN A 192.168.1.100

Açıklama:

  • SOA: Yetki Kaydının Başlangıcını tanımlar.
  • NS: Yetkili ad sunucularını belirtir.
  • A: Alan adlarını IP adreslerine eşler.

Adım 3: İzinleri Ayarlayın

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

sudo chown root:named /var/named/example.com.zone
sudo chmod 640 /var/named/example.com.zone

4. DNS Sunucusunu Etkinleştirin ve Başlatın

Adım 1: Önyüklemede Başlamak İçin BIND’i Etkinleştirin

sudo systemctl enable named

Adım 2: Hizmeti Başlatın

sudo systemctl start named

Adım 3: Hizmet Durumunu Kontrol Edin

DNS sunucusunun çalıştığını doğrulayın:

sudo systemctl status named

5. Güvenlik Duvarını Yapılandırın

DNS’ye izin vermek için trafik, gerekli güvenlik duvarı kurallarını ekleyin.

Adım 1: 53 Portunu Açın

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

Adım 2: Güvenlik Duvarı Ayarlarını Doğrulayın

sudo firewall-cmd --list-all

6. DNS Sunucusunu Test Edin

dig Kullanarak Test Edin

DNS sunucunuzu sorgulamak için dig komutunu kullanın:

dig @192.168.1.10 example.com

nslookup Kullanarak Test Edin

Alternatif olarak nslookup kullanın:

nslookup example.com 192.168.1.10

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

DNS Önbelleğini Etkinleştir

DNS sorgularını önbelleğe alarak performansı artırın. Aşağıdakini /etc/named.conf dosyasındaki options bölümüne ekleyin:

options {
recursion yes;
allow-query-cache { localhost; 192.168.1.0/24; };
};

DNS’i DNSSEC ile Güvenli Hale Getirin

DNS sunucunuzu sahteciliğe karşı korumak için DNSSEC’i etkinleştirin:

  1. DNSSEC anahtarları oluşturun:
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com
  1. Anahtarları bölge dosyanıza ekleyin.

Yaygın Sorunları Giderme

Sorun 1: “DNS Sunucusu Yanıt Vermiyor”

  • Neden: Güvenlik duvarı trafiği engelliyor.
  • Çözüm: 53 numaralı bağlantı noktasının açık olduğundan ve DNS hizmetine izin verildiğinden emin olun.

Sorun 2: “Geçersiz Bölge Dosyası”

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

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

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

Sonuç

BIND kullanarak AlmaLinux’ta bir DNS sunucusu kurmak, ağınızın ad çözümlemesini yönetmenizi ve verimliliği artırmanızı sağlayan basit bir işlemdir. İster web sitelerine ev sahipliği yapıyor olun, ister dahili ağları yönetiyor veya geliştirme ortamlarını destekliyor olun, BIND sağlam ve ölçeklenebilir bir çözüm sunar.

Bu kılavuzu izleyerek AlmaLinux’ta bir DNS sunucusunu güvenle kurabilir, yapılandırabilir ve test edebilirsiniz. Sorunlarla karşılaşırsanız veya ek ipuçlarınız varsa, bunları aşağıdaki yorumlarda paylaşmaktan çekinmeyin.