Tuesday 10 September 2024

Linux üzərində DNS Server quraşdırılması və ayarlanması

 



DNS (Domain Name System) server, internetdə host adlarını (domain names) IP ünvanlarına çevirən bir server növüdür. DNS-in əsas məqsədi internetdə mətn əsaslı domen adlarının (məsələn, "google.com") yadda qalmasını asanlaşdırmaq və həmin adları serverlərin anlayacağı IP ünvanlarına çevirməkdir. İnternet trafikinin çoxu DNS vasitəsilə hərəkət edir və hər hansı bir web səhifəyə daxil olmaq üçün bu çevrilmə prosesi lazımdır.



DNS Serverlərin işləmə prinsipi:

  1. DNS Sorğusu (Query): Brauzer bir domen adını əldə etmək istədikdə, ilk olaraq DNS sorğusu göndərir. Bu sorğu istifadəçinin yerli (Local) DNS serverinə yönləndirilir.

  2. Yerli DNS Server (Resolver): Yerli DNS server bu adın məlumatını özündə saxlayırsa (keşlənmişdirsə), IP ünvanını geri qaytarır. Əgər saxlamırsa, sorğunu növbəti serverlərə yönəldir.

  3. Root DNS Server: Yerli DNS cavab vermədikdə, sorğu internetin əsas kök DNS serverlərinə gedir. Bu serverlər internetdə domen adlarının ən üst səviyyəli idarəediciləridir. Onlar domenin hansı "Top Level Domain" (TLD) serverinə aid olduğunu bildirir (məsələn, ".com", ".org" və s.).

  4. TLD DNS Server: Kök serverlərin göstərişi ilə sorğu müvafiq TLD serverlərinə gedir. Məsələn, "google.com" üçün bu sorğu ".com" TLD serverinə yönləndirilir.

  5. Authoritative DNS Server: Son addım olaraq, domenə aid olan authoritative DNS serverinə çatılır. Bu server domenin IP ünvanını bilir və onu sorğulayan yerli DNS serverə qaytarır.

  6. Məlumatın Yadda Saxlanılması: Sorğunun sonunda yerli DNS server cavabı özündə saxlayır (keşləyir), beləliklə, növbəti dəfə həmin sorğu olarsa, təkrar sorğulara ehtiyac qalmaz.

DNS Serverlərin növləri:

  • Resolver DNS Server: Brauzerdən gələn DNS sorğularını cavablayır və digər serverlərə yönləndirir.
  • Authoritative DNS Server: Müəyyən bir domen haqqında dəqiq məlumatı verir.
  • Root DNS Server: İnternetdə domenlərin ən üst səviyyəli idarəetməsini aparır.

DNS texnologiyası internetin əsas infrastrukturunun bir hissəsidir və məlumatların doğru və təhlükəsiz şəkildə yönləndirilməsi üçün vacibdir.



1. DNS Server üçün tələb olunan paketlərin quraşdırılması

DNS serveri qurmaq üçün BIND paketini quraşdırmaq lazımdır.

Debian  üçün quraşdırılma:

sudo apt update
sudo apt install bind9 bind9utils bind9-doc


RHEL/CentOS/Fedora üçün quraşdırılma:

sudo yum install bind bind-utils


2. BIND konfiqurasiya faylları

BIND DNS serverinin əsas konfiqurasiya faylı /etc/bind/named.conf (Debian/Ubuntu) və ya /etc/named.conf (RHEL/CentOS) faylıdır. Əlavə konfiqurasiya üçün zona faylları və digər əlavələr də var.

Konfiqurasiya faylı strukturu:

  1. /etc/bind/named.conf.local (Debian/Ubuntu) və ya /etc/named.conf (RHEL/CentOS) faylı istifadəçi tərəfindən təyin edilmiş zonaları müəyyən etmək üçün istifadə olunur.

     2. Zona Faylları: DNS zonası üçün hər bir domenin məlumatları zona faylında saxlanılır.



3. DNS zonalarının təyin edilməsi

DNS zonalarını təyin etmək üçün /etc/bind/named.conf.local faylına aşağıdakı kimi bir sətir  əlavə edin.

Məsələn, "numune.com" domeni üçün:

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


Bu nümunəmizdə"numune.com" zonası üçün bir "master" zona təyin yaradırıq və zona məlumatlarını /etc/bind/zones/db.numune.com faylında saxlayırıq. Siz zones adında  foleder yaratmalısınız:

sudo mkdir /etc/bind/zones


4. Zona faylının yaradılması

İndi isə zona faylı yaradıldıqdan sonra. Məsələn, /etc/bind/zones/db.numune.com faylını aşağıdakı kimi doldurun:


$TTL 604800
@   IN  SOA ns1.numune.com. admin.numune.com. (
            20210901    ; Serial
            604800      ; Refresh
            86400       ; Retry
            2419200     ; Expire
            604800 )    ; Negative Cache TTL
;
@       IN  NS      ns1.numune.com.
@       IN  A       192.168.1.10
ns1     IN  A       192.168.1.10
www     IN  A       192.168.1.10



  • SOA (Start of Authority): Zonanın əsas DNS serverini və administratorun email ünvanını göstərir.
  • NS (Name Server): Domenin DNS serverlərini göstərir.
  • A Records: Domen adlarını IP ünvanlarına saxlayır.


  • 5. BIND serverini yoxlamaq üçün

    Konfiqurasiya fayllarının düzgün olub-olmadığını yoxlamaq üçün aşağıdakı əmri icra edin:


    sudo named-checkconf

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


    6. BIND Serverinin İşə Salınması və Aktivləşdirilməsi

    BIND serverini işə salın və elə edin ki, komputer restart edildikdən sonra avtomatik işə düşsün:

    Debian ailəsi üçün:

    sudo systemctl restart bind9

    sudo systemctl enable bind9


    RHEL ailəsi üçün:

    sudo systemctl restart named
    sudo systemctl enable named


    7. Və nəhayyət  firewall konfiqləri

    DNS trafiki üçün firewall-da 53 nömrəli portu açmalısınız.


    UFW (Debian/Ubuntu) istifadə edirsinizsə:

    sudo ufw allow Bind9
    sudo ufw allow 53/tcp
    sudo ufw allow 53/udp

    Firewalld (RHEL) istifadə edirsinizsə:

    sudo firewall-cmd --add-port=53/tcp --permanent
    sudo firewall-cmd --add-port=53/udp --permanent
    sudo firewall-cmd --reload


    8. Test etmək laızmdır.

    DNS serverinizin düzgün işlədiyini test etmək üçün "dig" alətindən istifadə edə bilərsiniz.

    dig @localhost numune.com


    Əgər DNS server  quraşdırdıqdan sonra hər şey düzgün qurulubsa, domen adını IP adresinə çevirməyə düzgün cavab verməlidir.

    Bu addımlarla Linux üzərində DNS serverinizi quraşdıra və ayarlaya bilərsiniz.


    No comments:

    Post a Comment

    Ən çox oxunan