BIND DNS Sunucu Kurulum ve Yapılandırma Rehberi
zafer ak
Yazar
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 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
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.
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.