DNS Nedir?
DNS (Domain Name System), internet üzerindeki alan adlarını IP adreslerine dönüştüren bir sistemdir. Kullanıcılar, web sitelerine erişmek için alan adlarını kullanırken, bilgisayarlar bu alan adlarını anlamak için IP adreslerine ihtiyaç duyar. DNS, kullanıcıların daha kolay ve anlaşılır bir şekilde web sitelerine erişebilmesini sağlar.
DNS Nasıl Çalışır?
DNS, istemci ve sunucu arasında iki aşamalı bir süreçte çalışır. İlk aşamada, istemci (örn. bir web tarayıcısı) verilen bir alan adı için DNS istemcisi olarak hareket eder. İkinci aşamada, DNS sunucusu istenen alan adını çözer ve ilgili IP adresini döner. Bu süreç genellikle saniyeler içinde gerçekleşir. DNS sistemi, hiyerarşik bir yapıya sahiptir; kök DNS sunucularından başlayarak, üst düzey alan adları ve alt alan adlarına kadar devam eder.
Rocky Linux 9 Üzerinde DNS Sunucusu Kurulumu
Rocky Linux 9 üzerinde bir DNS sunucusu kurmak için genellikle `BIND` (Berkeley Internet Name Domain) yazılımı kullanılmaktadır. BIND, en yaygın kullanılan DNS sunucularından biridir ve güçlü bir yapı sunar. Aşağıdaki adımlar, BIND kurulumunu ve DNS ayarlarının yapılandırılmasını detaylandırır.
BIND Kurulumu
İlk olarak, BIND paketlerinin sistemde yüklü olup olmadığını kontrol etmek gerekir. BIND’i kurmak için terminal üzerinden aşağıdaki komut kullanılır:
“`bash
sudo dnf install bind bind-utils
“`
BIND kurulduktan sonra, gerekli yapılandırma dosyaları `/etc/named.conf` ve `/var/named/` dizininde bulunur. Bu dizinde, DNS kayıtlarının tanımlandığı zone dosyaları yer alır.
Yapılandırma Dosyasının Düzenlenmesi
DNS ayarlarını yapılandırmak için `/etc/named.conf` dosyası düzenlenir. Bu dosyada, DNS sunucusunun genel ayarlarını ve zone dosyalarının yerlerini belirten bilgiler bulunmaktadır.
Örnek bir zone tanımı aşağıdaki gibidir:
“`bash
zone “example.com” {
type master;
file “/var/named/example.com.zone”;
};
“`
Zone Dosyasının Oluşturulması
Zone dosyası, belirtilen lokasyonda oluşturulmalıdır. Örneğin, `example.com` için zone dosyasını oluşturmak üzere aşağıdaki komut kullanılabilir:
“`bash
sudo vi /var/named/example.com.zone
“`
Zone dosyasının içerisine, aşağıdaki gibi bir yapı eklenir:
“`dns
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2023101001 ; Seri numarası
7200 ; Güncelleme süresi
3600 ; Yeniden deneme süresi
1209600 ; Süreli süre
86400 ; TTL
)
@ IN NS ns1.example.com.
@ IN A 192.168.1.1
ns1 IN A 192.168.1.1
“`
Bu dosyada, SOA kaydı, alan adının yönetim bilgilerini içerir. NS kaydı, alan adının adıyla hangi DNS sunucusunun sorumlu olduğunu belirtirken, A kaydı ise alan adının IP adresini tanımlar.
Firewall Ayarlarının Düzenlenmesi
BIND kurulumu ve yapılandırması tamamlandıktan sonra, sunucunun firewall ayarları kontrol edilmelidir. DNS hizmeti için gerekli olan 53 numaralı portun açık olduğundan emin olunması gerekir. Portu açmak için aşağıdaki komut kullanılabilir:
“`bash
sudo firewall-cmd –permanent –add-service=dns
sudo firewall-cmd –reload
“`
BIND Servisinin Başlatılması
DNS sunucusunu başlatmak için aşağıdaki komutlar sırasıyla çalıştırılır:
“`bash
sudo systemctl start named
sudo systemctl enable named
“`
Bu komutlar, BIND servisini başlatır ve sistem açılışında otomatik olarak çalışmasını sağlar.
DNS Sunucusunun Test Edilmesi
DNS sunucusunun doğru bir şekilde çalışıp çalışmadığını kontrol etmek için `dig` veya `nslookup` gibi araçlar kullanılabilir. Örneğin, aşağıdaki `dig` komutu ile sunucunun yapılandırması test edilir:
“`bash
dig @localhost example.com
“`
Sonuç olarak, oluşturulan alan adı ve IP adresinin doğru bir şekilde döndüğünden emin olunmalıdır.
Backup ve Sorun Giderme
DNS ayarları ve yapılandırmaları yapıldıktan sonra yedekleme işlemleri ihmal edilmemelidir. `/etc/named.conf` ve zone dosyaları düzenli olarak yedeklenmelidir. Herhangi bir sorunla karşılaşıldığında, BIND log dosyaları (`/var/log/messages` veya `/var/named/data/named.run`) incelenebilir.
Güvenlik Önlemleri
Son olarak, DNS sunucusunun güvenliğinin sağlanabilmesi için gerekli önlemler alınmalıdır. Güncellemelerin düzenli olarak yapılması, yalnızca gerekli IP’lerin izin verilmesi ve DNSSEC kullanılması önerilen güvenlik önlemlerindendir. DNS ayarlarının doğru bir şekilde yapılandırılması, hem performansı artıracak hem de güvenliği sağlayacaktır.

