X
X
Phone :
>
Knowledge Base

Knowledge Base

Knowledge Base

DNS Sunucusu Nasıl Kurulur ve Yönetilir?

 

DNS (Domain Name System), internete bağlı cihazların birbirlerini tanıması ve iletişim kurabilmesi için alan adlarını IP adreslerine çeviren kritik bir sistemdir. DNS sunucuları, web sitelerine ve çevrimiçi hizmetlere erişim sağlanırken tarayıcıların kullanıcı dostu alan adlarını, makinelerin anlayabileceği IP adreslerine dönüştürmesine olanak tanır. İşletmeler ve internet servis sağlayıcıları (ISP’ler) için kendi DNS sunucularını kurmak ve yönetmek, daha hızlı ve güvenli internet erişimi sağlama açısından büyük avantajlar sunar. Bu yazıda, Linux tabanlı bir DNS sunucusunun nasıl kurulacağı ve yönetileceği adım adım anlatılacaktır.

DNS Sunucusu Kurmanın Önemi

Bir DNS sunucusu kurarak işletmenize veya ağınıza şu faydaları sağlayabilirsiniz:

  1. Performans İyileştirmesi: Kendi DNS sunucunuza sahip olarak ağınızdaki DNS sorgularını hızlandırabilir ve yanıt sürelerini kısaltabilirsiniz.
  2. Güvenlik: Harici DNS sunucularına güvenmek yerine, kendi sunucunuzun güvenlik önlemlerini artırarak kötü niyetli saldırılara karşı daha iyi bir koruma sağlayabilirsiniz.
  3. Kontrol: DNS kayıtlarını kendi kontrolünüzde tutarak, alan adlarınızı ve alt alan adlarınızı daha kolay yönetebilirsiniz.
  4. Özel Alan Adı Yönlendirmeleri: Kendi iç ağınızda kullanacağınız özel alan adlarını tanımlayarak, ağ içi iletişimi kolaylaştırabilirsiniz.

Adım Adım DNS Sunucusu Kurulumu

Bu kılavuzda, popüler ve güvenilir bir DNS sunucu yazılımı olan BIND (Berkeley Internet Name Domain) kullanılarak bir DNS sunucusunun kurulumu ve yönetimi ele alınacaktır. BIND, açık kaynak kodlu ve yaygın olarak kullanılan bir DNS sunucusudur.

Adım 1: Sunucunun Hazırlanması

Başlamadan önce, Linux sunucunuzun güncel olduğundan emin olun. DNS sunucusunu kuracağınız makinenin statik bir IP adresi olmalıdır, çünkü dinamik IP adresleri DNS hizmeti için uygun değildir.

  1. Sunucuyu güncelleyin:

    sudo apt-get update
    sudo apt-get upgrade

  2. BIND yazılımını kurun:

    sudo apt-get install bind9 bind9utils bind9-doc

    Bu komut, BIND DNS sunucusu ve gerekli diğer araçları sisteminize yükler.

Adım 2: BIND Konfigürasyonu

Kurulum tamamlandıktan sonra BIND yapılandırma dosyalarını düzenlemeniz gerekmektedir. BIND’in ana yapılandırma dosyası /etc/bind/named.conf dosyasıdır.

  1. BIND konfigürasyon dosyasını açın:

    sudo nano /etc/bind/named.conf.options

  2. İzin verilen IP adreslerini ayarlayın: Sunucunuza yalnızca belirli IP adreslerinin DNS sorgusu yapmasına izin vermek için aşağıdaki gibi ayarlamalar yapın:

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

    recursion yes;
    allow-query { any; };
    forwarders {
    8.8.8.8; // Google DNS
    8.8.4.4; // Google DNS
    };

    dnssec-validation auto;

    auth-nxdomain no;
    listen-on-v6 { any; };
    };

    forwarders bölümü, DNS sorgularını çözümleyemediğinizde Google DNS gibi başka DNS sunucularına yönlendirmenize olanak tanır.
  3. Yerel ağ için izinler tanımlayın: Sunucunuzun yerel ağ içinden yapılan DNS sorgularını çözmesini istiyorsanız allow-query satırına yerel IP adresi bloğunuzu ekleyin. Örneğin, 192.168.1.0/24:

    allow-query { 192.168.1.0/24; };
  4. Değişiklikleri kaydedin ve çıkın.

Adım 3: Alan Adı Kayıtlarını Tanımlama

Şimdi alan adlarınızı DNS sunucusuna tanımlayarak, kendi bölge (zone) dosyalarınızı oluşturmanız gerekmektedir.

  1. Yeni bir DNS bölgesi tanımlayın:

    /etc/bind/named.conf.local dosyasını açın ve yeni bir alan adı için aşağıdaki gibi bir yapılandırma ekleyin:

    zone "example.com" {
    type master;
    file "/etc/bind/zones/db.example.com";
    };

  2. Bölge dosyası oluşturun: Yeni bir bölge dosyası oluşturun. Bölge dosyaları BIND tarafından kullanılacak DNS kayıtlarını içerir. Yeni bir klasör oluşturun ve ardından bölge dosyasını oluşturun:

    sudo mkdir /etc/bind/zones
    sudo nano /etc/bind/zones/db.example.com

  3. Bölge dosyasını doldurun: Örnek bir bölge dosyası içeriği şu şekilde olabilir:

    ;
    ; BIND zone file for example.com
    ;
    $TTL 86400
    @ IN SOA ns1.example.com. admin.example.com. (
    2021091501 ; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ;
    @ IN NS ns1.example.com.
    @ IN A 192.168.1.10
    ns1 IN A 192.168.1.10
    www IN A 192.168.1.10

    SOA: Zone dosyasının başlangıcıdır ve sunucunun yetkili olduğu domain bilgilerini içerir.
    NS: Alan adı için kullanılan ad sunucularını belirtir.
    A: Alan adlarının IP adresine karşılık geldiği kayıttır.
  4. Bölge dosyasını kaydedin ve çıkın.

Adım 4: DNS Sunucusunu Test Etme

Yapılandırmayı tamamladıktan sonra DNS sunucusunu yeniden başlatıp doğru çalıştığından emin olmak için testler yapmanız gerekir.

  1. BIND’i yeniden başlatın:

    sudo systemctl restart bind9

  2. Konfigürasyon dosyasının doğruluğunu kontrol edin:

    sudo named-checkconf

    Bu komut herhangi bir hata döndürmüyorsa, yapılandırmanız doğru demektir.

  3. Bölge dosyanızı kontrol edin:

    sudo named-checkzone example.com /etc/bind/zones/db.example.com

    Bu komut, bölge dosyanızda herhangi bir hata olup olmadığını kontrol eder.

  4. DNS sorgusunu test edin:
    Yerel makinenizden aşağıdaki komutla DNS sorgusu yaparak doğru yanıt aldığınızdan emin olun:

    dig @192.168.1.10 example.com

    Sorgu doğru yapılandırılmışsa, DNS sunucunuz ilgili IP adresini döndürmelidir.

Adım 5: Güvenlik Ayarları ve Optimizasyon

DNS sunucunuzun güvenliğini artırmak için aşağıdaki adımları uygulayın:

  1. Güvenlik Duvarı (Firewall): Yalnızca belirli IP adreslerinin DNS sunucunuza erişmesine izin vermek için güvenlik duvarı yapılandırmasını yapın.

    sudo ufw allow from 192.168.1.0/24 to any port 53

  2. DNSSEC Kullanımı: DNSSEC (Domain Name System Security Extensions), DNS verilerinin güvenliğini sağlamak için kullanılabilir. DNSSEC kullanarak verilerin sahte olup olmadığını doğrulayabilirsiniz. BIND, DNSSEC desteğine sahiptir ve doğru yapılandırma ile kullanılabilir.

  3. Cache Ayarları: DNS sunucunuzun yanıt sürelerini optimize etmek için cache ayarlarını yapabilirsiniz. Böylece sık sorulan DNS sorguları için sunucunuz daha hızlı yanıt verebilir.

  4. Loglama: DNS sunucunuzun performansını ve güvenliğini izlemek için loglama ayarlarını etkinleştirin. /etc/bind/named.conf.options dosyasına loglama bölümü ekleyebilirsiniz:

    logging {
    channel default_file {
    file "/var/log/named/general.log" versions 3 size 5m;
    print-time yes;
    print-severity yes;
    print-category yes;
    };

    category default { default_file; };
    };

    Bu ayarlar, DNS sunucunuzda meydana gelen olayları kaydedecek ve olası sorunları tespit etmenizi kolaylaştıracaktır. Loglama sayesinde, DNS sunucusunun doğru çalışıp çalışmadığını izleyebilir, hataları tespit edebilir ve güvenlik ihlallerini gözlemleyebilirsiniz. Log dosyalarınız belirli bir boyuta ulaştığında otomatik olarak döndürülecek (rotation) ve eski loglar silinerek yeni loglar kaydedilecektir.

Adım 6: DNS Sunucusunun Yönetimi ve İzlenmesi

Bir DNS sunucusunu kurduktan sonra, onu düzenli olarak izlemek ve yönetmek gereklidir. İşte DNS sunucunuzun performansını ve güvenliğini artırmak için yapabileceğiniz bazı önemli yönetim görevleri:

  1. DNS Kayıtlarını Güncelleme: Alan adlarınızın IP adresleri veya diğer kayıtları değiştiğinde bölge dosyalarınızı güncellemeniz gerekecektir. Herhangi bir değişiklik yaptıktan sonra BIND’i yeniden başlatarak yeni yapılandırmayı devreye sokun:

    sudo systemctl restart bind9

  2. Performans İzleme: DNS sunucunuzun yanıt sürelerini izlemek ve optimize etmek için izleme araçları kullanın. Zabbix, Nagios veya Munin gibi izleme yazılımlarıyla DNS sunucusunun performansını sürekli takip edebilir ve olası performans sorunlarını tespit edebilirsiniz.

  3. Sık Sorulan Sorular İçin Cache Kullanımı: DNS sorgularının yanıt sürelerini hızlandırmak için cache kullanımı önemlidir. Sıkça sorulan DNS sorgularının bellekte tutulması, aynı sorgunun tekrar tekrar yapılması durumunda hız kazanmanızı sağlar. Bu da özellikle yüksek trafik alan DNS sunucularında performans artırır.

  4. DNSSEC Kullanarak Güvenliği Artırma: DNSSEC, DNS verilerini kimlik doğrulama ve sahte verilerden koruma imkanı sağlar. DNSSEC etkinleştirilmiş bir DNS sunucusu, sahte DNS cevaplarının ve man-in-the-middle saldırılarının önüne geçebilir. DNSSEC yapılandırmasını doğru bir şekilde yapmak, sunucunuzun güvenliğini büyük ölçüde artıracaktır.

  5. Güvenlik Güncellemeleri: BIND ve diğer sunucu yazılımlarını düzenli olarak güncelleyerek olası güvenlik açıklarını kapatın. Güvenlik güncellemeleri ihmal edilmemeli ve en son güvenlik yamalarının her zaman uygulanması gereklidir.

Kendi DNS sunucunuzu kurarak, hem performans hem de güvenlik açısından büyük avantajlar elde edebilirsiniz. Bu yazıda adım adım DNS sunucusu kurulumunu, yapılandırmayı ve yönetimi ele aldık. DNS sunucunuzun doğru çalıştığından emin olmak için gerekli testleri yaparak, güvenlik ve performans optimizasyonlarını düzenli olarak uygulayabilirsiniz. DNS sunucusu, internet erişiminin kritik bir parçası olduğundan, sürekli izleme ve güncellemelerle sorunsuz çalışmasını sağlamak oldukça önemlidir.

Kurulum ve yönetim aşamalarına dikkat ederek, işletmenize uygun güvenli ve yüksek performanslı bir DNS çözümü oluşturabilirsiniz.

Can't find the information you are looking for?

Create a Support Ticket
Did you find it useful?
(4 times viewed / 0 people found it helpful)
Top