BIND DNS Sunucu Kurulum ve Yapılandırma Rehberi

z

zafer ak

Yazar

30 December 2025 3 dakika okuma 437 görüntülenme
BIND DNS Sunucu Kurulum ve Yapılandırma Rehberi
BIND DNS sunucu kurulumu, zone dosyaları oluşturma, forward ve reverse DNS yapılandırması, güvenlik ayarları hakkında kapsamlı rehber.

BIND (Berkeley Internet Name Domain), en yaygın kullanılan DNS sunucu yazılımıdır. Bu rehberde BIND kurulumu ve yapılandırmasını adım adım öğreneceksiniz.

DNS Server

DNS Nedir?

DNS (Domain Name System), domain adlarını IP adreslerine çeviren sistemdir. İnternetin telefon rehberi olarak düşünülebilir.

DNS Kayıt Türleri

  • A: IPv4 adres kaydı
  • AAAA: IPv6 adres kaydı
  • CNAME: Alias (takma ad) kaydı
  • MX: Mail exchanger kaydı
  • TXT: Metin kaydı (SPF, DKIM)
  • NS: Name server kaydı
  • PTR: Reverse DNS kaydı
  • SOA: Start of Authority

BIND Kurulumu

# Ubuntu/Debian
sudo apt update
sudo apt install bind9 bind9-utils bind9-dnsutils

# CentOS/RHEL
sudo dnf install bind bind-utils

# Servisi başlat
sudo systemctl enable named
sudo systemctl start named
Server Configuration

Ana Yapılandırma Dosyası

/etc/bind/named.conf.options (Ubuntu) veya /etc/named.conf (CentOS):

options {
    directory "/var/cache/bind";

    // Recursive queries için
    recursion yes;
    allow-recursion { trusted; };

    // Forwarders (üst DNS sunucuları)
    forwarders {
        8.8.8.8;
        8.8.4.4;
        1.1.1.1;
    };

    // DNSSEC
    dnssec-validation auto;

    // IPv4 dinle
    listen-on { any; };
    listen-on-v6 { any; };

    // Transfer izinleri
    allow-transfer { none; };
};

// Güvenilir ağlar
acl "trusted" {
    192.168.1.0/24;
    10.0.0.0/8;
    localhost;
};

Forward Zone Oluşturma

/etc/bind/named.conf.local dosyasına zone tanımı ekleyin:

zone "sirket.local" {
    type master;
    file "/etc/bind/zones/db.sirket.local";
    allow-transfer { 192.168.1.11; };  // Slave DNS
};

Zone dosyası (/etc/bind/zones/db.sirket.local):

$TTL    604800
@       IN      SOA     ns1.sirket.local. admin.sirket.local. (
                        2024010101      ; Serial
                        604800          ; Refresh
                        86400           ; Retry
                        2419200         ; Expire
                        604800 )        ; Negative Cache TTL

; Name Servers
@       IN      NS      ns1.sirket.local.
@       IN      NS      ns2.sirket.local.

; A Records
ns1     IN      A       192.168.1.10
ns2     IN      A       192.168.1.11
www     IN      A       192.168.1.20
mail    IN      A       192.168.1.30
ftp     IN      A       192.168.1.40

; CNAME Records
webmail IN      CNAME   mail.sirket.local.

; MX Records
@       IN      MX  10  mail.sirket.local.

Reverse Zone Oluşturma

# named.conf.local'e ekle
zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.192.168.1";
};

Reverse zone dosyası (/etc/bind/zones/db.192.168.1):

$TTL    604800
@       IN      SOA     ns1.sirket.local. admin.sirket.local. (
                        2024010101      ; Serial
                        604800          ; Refresh
                        86400           ; Retry
                        2419200         ; Expire
                        604800 )        ; Negative Cache TTL

; Name Servers
@       IN      NS      ns1.sirket.local.

; PTR Records
10      IN      PTR     ns1.sirket.local.
11      IN      PTR     ns2.sirket.local.
20      IN      PTR     www.sirket.local.
30      IN      PTR     mail.sirket.local.
Network DNS

Yapılandırmayı Doğrulama

# Yapılandırma kontrolü
sudo named-checkconf

# Zone dosyası kontrolü
sudo named-checkzone sirket.local /etc/bind/zones/db.sirket.local
sudo named-checkzone 1.168.192.in-addr.arpa /etc/bind/zones/db.192.168.1

# Servisi yeniden yükle
sudo systemctl reload named

# DNS sorgusu test
dig @localhost www.sirket.local
nslookup www.sirket.local localhost

Slave DNS Yapılandırması

# Slave sunucuda named.conf.local
zone "sirket.local" {
    type slave;
    file "/var/cache/bind/db.sirket.local";
    masters { 192.168.1.10; };
};

Güvenlik Ayarları

  • Recursion'ı sadece güvenilir ağlara açın
  • Zone transfer'ı sınırlayın
  • DNSSEC kullanın
  • Rate limiting uygulayın
  • Güncel BIND sürümü kullanın

Sonuç

BIND, güçlü ve esnek bir DNS sunucusudur. Doğru yapılandırıldığında güvenilir DNS hizmeti sağlar. Düzenli yedekleme ve güvenlik güncellemelerini unutmayın.

İlgili Yazılar