Windows altında bağlama dns serverinin qurulması. Ters zona faylı. Əlavə Konfiqurasiya Seçimləri

Gəlin nəzərdən keçirək nümunəvi ayrıca DNS server konfiqurasiya faylını keşləmə daimi server. Keşləmə ad serveri heç bir zona üçün cavabdeh olmayan ad serveridir. O, sadəcə olaraq öz adından sorğuları yerinə yetirir və nəticələri sonradan istifadə etmək üçün saxlayır.
Şəbəkə haqqında DNS xidməti və BIND9-un qurulmasını FreeBSD Təlimatının 25-ci fəslində də tapmaq olar. Defolt olaraq, FreeBSD BIND-dən birini istifadə edir (Berkeley Internet Ad Domeni), DNS protokolunun ən çox yayılmış tətbiqidir.

DNS adları IP ünvanlarına və əksinə həll edən bir protokoldur. FreeBSD hazırda ilə göndərilir DNS server– Qabaqcıl təhlükəsizlik parametrlərini təmin edən BIND9, yeni sxem konfiqurasiya faylı yerləri və avtomatik parametrlər chroot (8) üçün. Bundan əlavə, BIND9 xarici hücumlara ən az həssas hesab olunur (FreeBSD avtomatik olaraq məhdudlaşdırılmış mühitdə adlanır (chroot(8)))). DNS serverinin bu versiyası sorğular üçün girişə nəzarət siyahılarını, aşağı axın (ikincil) DNS serverlərinə zona köçürmələrini və yuxarı (əsas) DNS serverlərindən onun zonalarının dinamik yeniləmələrini dəstəkləyir. Bu versiya standartı dəstəkləyir dinamik yeniləmələr və zona dəyişiklikləri haqqında bildirişlər və o, həmçinin aşağı axın DNS serverlərinə yuxarı axın DNS serverlərindən yalnız zona məlumatlarının dəyişməsini tələb etməyə imkan verən artımlı zona ötürmə mexanizmindən istifadə edir. Bu, zonanın daha sürətli ötürülməsinə imkan verir.

Yazı yazarkən mən qururdum BIND 9.6.1-P1 işləyən serverdə FreeBSD 7.2-REZİL.

# cat /etc/namedb/named.conf // şərh belə görünür acl self ( 127.0.0.1; ); // serverimizin IP ünvanlarını sadaladığımız öz dəyişənini təyin edin\ hansı ki, acl etibarını bağlayırıq ( self; ); // DNS serverimiz vasitəsilə sorğu göndərməyə icazə veriləcəyi IP ünvanlarını sadaladığımız bir dəyişən təyin edin // qlobal parametr seçimləri bölməsi ( "/etc/namedb" kataloqu; // iş kataloqu bağlaması, hansı ilə bağlı biz aşağıda digər qovluqları təyin edəcəyik pid-fayl "/var/run/named/pid" // pid faylı dump-fayl "/var/dump/named_dump.db" // halında kök zonanın dump faylının yeri; bütün kök serverlərə girişin müvəqqəti itirilməsi statistics-fayl "/var/stats/named.stats" // statistik faylın dinləmə yeri ( self; // hansı interfeyslərdə işləməyi təyin edin); -v6 ( heç biri; / ); / IPv6 versiyasından istifadəni qadağan et "Salam, dostum!" // burada bağlamanın versiyasını təyin edə bilərsiniz (təhlükəsizlik səbəbindən bunu etməmək tövsiyə olunur) allow-query ( self; / / kimdən sorğuları qəbul etməyə icazə veririk ( 12.34.56.78 ; ); // serverinizdəki yükü azaltmaq üçün burada provayderinizin DNS serverini qeyd edə bilərsiniz; ...

İndi mən faylı qurmaq üçün bir az fasilə verməyi təklif edirəm adlı.conf. Düşünməyinizi təklif edirəm maraqlı yol uzaqdan idarəetmə DNS serveriniz - yardım proqramı rndc. Onu istifadə etməyə başlamaq üçün onun üçün konfiqurasiya faylı yaratmalısınız və gizli açar, o, sizin bağlayıcınızla qarşılıqlı əlaqədə olacaq. Bu iş üçün bir komanda var rndc-confgen.
Komandanın icrası:

# rndc-confgen

tarixində qəbul edəcəksiniz standart çıxış kimi bir şey:

# Rndc.conf açarının başlanğıcı "rndc-key" ( alqoritm hmac-md5; gizli "34f88008d07deabbe65bd01f1d233d47"; ); seçimlər ( default-key "rndc-key"; default-server 127.0.0.1; default-port 953; );

# Rndc.conf-un sonu # # İcazə siyahısını lazım olduqda tənzimləyən name.conf-da aşağıdakılarla istifadə edin: # düyməsi "rndc-key" ( # alqoritm hmac-md5; # gizli "34f88008d07deabbe65bd01f1d233d47"; # ); # # nəzarətləri ( # inet 127.0.0.1 port 953 # icazə verir ( 127.0.0.1; ) düymələri ( "rndc-key"; ); # );

# Name.conf sonu

Çıxışın şərh edilməmiş hissəsini fayla yerləşdirin rndc-confgen konfiqurasiya faylına qoyun /etc/namedb/named.conf:

Açar "rndc-açar" ( alqoritm hmac-md5; gizli "34f88008d07deabbe65bd01f1d233d47"; ); nəzarətlər (inet 127.0.0.1 port 953 icazə verir ( 127.0.0.1; ) düymələri ( "rndc-key"; ); ); ...

Komandanın əməyi nəticəsində rndc-confgen kataloqda /etc/nameb/ fayl görünməlidir rndc.key, aşağıdakı məzmunla:

# cat /etc/namedb/rndc.key açarı "rndc-key" ( alqoritm hmac-md5; gizli "34f88008d07deabbe65bd01f1d233d47"; );

Əgər orada artıq açarınız varsa, onu silin və yenisi ilə əvəz edin.
Bütün hallarda xətt gizli “34f88008d07deabbe65bd01f1d233d47”; sizdə də eyni olmalıdır! Mənası sirrəmri ilə yaradılmışdır rndc-confgen.
DNS serverinizi tam konfiqurasiya etdikdən və işə saldıqdan sonra gördüyünüz işi yoxlaya bilərsiniz. Sonra əmri yerinə yetirərkən:

# rndc statusu

kimi bir şey görsəniz:

Versiya: 9.6.1-P1 (Salam, dostum!) CPU tapıldı: 2 işçi mövzusu: 2 zona sayı: 14 sazlama səviyyəsi: 0 xfer işləyir: 0 xfer təxirə salınıb: 0 soa sorğusu davam edir: 0 sorğu qeydi rekursiv müştərilər üçün Kəffarədir : 0/0/1000 tcp müştəriləri: 0/100 server işləyir və işləyir

- faydalılıq deməkdir rndc bağlamanıza uğurla qoşuldu, indicə yaratdığımız açardan istifadə edərək daxil olduq və sizə göstərdikləri DNS server statusunu bağlamaq istədi.

Bir çox faydalı açar var bu yardım proqramı DNS serverinizi izləməyə və idarə etməyə imkan verəcək. Sadəcə arqumentlər olmadan işlədin və görəcəksiniz mövcud əmrlər və onlara kömək edin. (Mən sizə dərhal əmrlə bir dump faylı yaratmağı məsləhət görürəm rndc dumpdb).

Gəlin izahatlara davam edək konfiqurasiya faylı /etc/namedb/named.conf:

Zona "." (tip ipucu; fayl "namemed.root"; //cari kök zona faylını necə əldə etmək aşağıda yazılmışdır); zona "0.0.127.in-addr.arpa" ( master növü; fayl "master/localhost.rev"; no bildirin; ); ...

localhost.rev faylı belə görünür:

# cat /etc/namedb/master/localhost.rev $TTL 3600 @ IN SOA host.your_domain.ru. root.host.your_domain.ru. (2009110601; Serial 3600; Yeniləyin 900; Yenidən cəhd edin 3600000; Bitmə müddəti 3600); Minimum IN NS host.your_domain.ru. 1 PTR localhost.your_domain.ru-da.

Aşağıdakı parametrlərlə biz müxtəlif fayllara bağlama qeydlərini toplayacağıq və yazacağıq. Kanal qeydi bölməsinin formatı aşağıdakı kimidir:

Kanalın adı ( (fayl faylının adı [ versiyalar (sayı | limitsiz) ] [ maksimum ölçü ölçüsü ] | syslog syslog_facility | stderr | null); // burada logları yazacağımız faylın adını göstərəcəyik bu kanalın (iş qovluğuna nisbəti) log faylının nömrələndiyi fayl ölçüsü; müəyyən ölçü fayl.

[ ciddilik (kritik | xəta | xəbərdarlıq | bildiriş | məlumat | debug [ səviyyə ] | dinamik); ] // log filter, bu kanala tam olaraq hansı məlumatları daxil edəcəyik [ çap-kateqoriya bəli-yox-yox; ] // hadisə kateqoriyasına daxil olub-olmadığımızdan asılı olmayaraq növü [ print-severity yes-or-no; ] // mülkiyyətin "ciddilik" növünü qeyd edib-etməməyimiz [ çap vaxtı bəli-yox-yox; ] // hadisənin vaxtını qeyd edib-etməməyimizdən asılı olmayaraq); /etc/namedb/named.conf:

Beləliklə - bunlar mənim fayldakı parametrlərimdir Logging ( // giriş parametrləri kanal default_ch ( // giriş kanalı default_ch faylını təyin edin "/var/log/named.log" versiyaları 3 ölçüsü 800k; ciddilik məlumatı; çap vaxtı bəli; çap kateqoriyası bəli; ); kanal təhlükəsizliyi_ch ( / / logging channel security_ch faylını işarələyin "/var/log/security.log" versiyaları 800k ölçüsü çap; .log" versiyaları 3 ölçüsü 800k; ciddilik məlumatı; çap vaxtı bəli; çap kateqoriyası bəli; ); kanal lame-ch ( // giriş kanalı lame-ch faylını "/var/log/lamers.log" versiyaları 3 işarələyin ölçüsü 800k; lame-servers kateqoriyası ( lame-ch; );öz kanalı

kateqoriya təhlükəsizliyi ( security_ch; ); // təhlükəsizlik hadisələri kateqoriyası haqqında security_ch kanalına yazın xfer-in ( transfer_ch; ); // transfer_ch kanalına zonalar kateqoriyasının transferi haqqında yazın xfer-out ( transfer_ch; ); // qəbul zonaları haqqında transfer_ch kanalına yazın kateqoriya bildiriş ( transfer_ch; ); // transfer_ch kanalına bildirişlər və qeydiyyat faktları yazın);

İndi bağlama quraşdırmasını tamamladıqdan sonra, serverdən cari kök zona faylını (adlı.root) əldə etmək üçün sadəcə wget və ya fetch əmrindən istifadə etməlisiniz:

# ftp://ftp.internic.net/domain/named.root gətirin /etc/nameb/ mövcud olanın dəyişdirilməsi ilə. Bu proseduru vaxtaşırı təkrarlamaq və ya cron vasitəsilə bu əməliyyatı konfiqurasiya etmək məsləhətdir.

İndi DNS serverimizi işə salmağın vaxtıdır:

/etc/rc.d/adlı başlanğıc

Kommunal xidmətin işinin yoxlanılması rndc, yuxarıda təsvir edildiyi kimi.

Başlamaq üçün əmri işlədin:

# ps -ax | grep 476 adlı ?? 0:01.19 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s 704 ?? 0:00.04 /usr/sbin/named -t /var/named -u bind 1022 p0 R+ 0:00.00 grep adlı

Əgər belə bir şey görürsənsə, deməli proses başlayıb.
Əmin olmaq üçün aşağıdakı əmri işlədə bilərsiniz (əgər varsa):

# lsof -i tcp | grep DİNLEYİN | grep adlı 704 bağlamaq 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlamaq 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) adlı 704uxc040a st:domain ) adlı 704 bağlayın 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) adlı 704 bağlamaq 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlama 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTENa040) 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlamaq 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) adlı 704 bağlamaq 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlamaq 21u IPv4CP00stc )

İndi serverimizi yeni quraşdırılmış DNS serveri ilə işləmək üçün konfiqurasiya etməliyik. Bunu etmək üçün faylda dəyişiklik etməlisiniz /etc/resolv.conf. Onu gətirin növbəti görünüş:

# cat /etc/resolv.conf domeni your_domain.ru ad serveri 127.0.0.1

DNS yardım proqramları BIND9 serverinə daxildir qazmaq, ev sahibinslookup domen sahəsini öyrənmək. Onların köməyi ilə biz indicə konfiqurasiya etdiyiniz və işə saldığınız DNS serverinin necə işlədiyini yoxlayacağıq.

Utility ev sahibi müəyyən bir domen adı üçün müəyyən bir növün RR dəyərlərini əldə etməyə imkan verir. Zəng formatı:
aparıcı [ - idarəetmə düymələri ] [ -sorğu açarları] domen adı və ya ünvan [ sorğu-server ] .

Varsayılan olaraq, müştəri kitabxanasını qurarkən təsvir olunan server istifadə olunur. Domen adları mütləq hesab olunur və heç bir axtarış siyahısından istifadə edilmir. Daha çox ətraflı məlumat haqqında adam ev sahibi.

Utility qazmaq zona fayl formatında müəyyən bir domen adı üçün müəyyən bir növün RR dəyərlərini əldə etməyə imkan verir. Bir çox dəstəkləyici məlumat şərhlər şəklində verilir, o cümlədən. sorğuya cavab olaraq alınan paketin təfsiri. Zəng formatı:
qazmaq[ @polled-server ] [ -seçimlər-qaz] domen adı [ rekord tipli ] [ rekord səviyyəli ] [ +sorğu seçimləri ]

Varsayılan olaraq, müştəri kitabxanasını qurarkən təsvir olunan server istifadə olunur. Domen adları mütləq sayılır və heç bir axtarış siyahısından istifadə edilmir. Siz həmçinin AXFR psevdotiplərindən (zona yalnız səlahiyyətli serverdən ötürülür), ixfr=reference-version-number və HƏR HƏR psevdotiplərdən tələb olunan qeyd növü kimi istifadə edə bilərsiniz, defolt: A. Birində komanda xətti Birdən çox sorğu verə bilərsiniz.

Utility nslookup köhnəlmiş elan edildi və hər dəfə işə başladığınız zaman bunu sizə xatırladır (hətta sənədlər təqdim edilmir, kömək əmri və bəziləri yoxdur). Zəng formatı:
nslookup [ - açarlar] domen adı [ sorğu-server ]

Komandanı işə salın:

# dig @127.0.0.1 ya.ru ;<<>> DiG 9.6.1-P1<<>> @127.0.0.1 ya.ru ; (1 server tapıldı) ;; qlobal seçimlər: +cmd ;; Cavab aldım: ;; >> BAŞLIQ<< opcode: QUERY, status: NOERROR, id: 51090 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;ya.ru. IN A ;; ANSWER SECTION: ya.ru. 2843 IN A 213.180.204.8 ya.ru. 2843 IN A 77.88.21.8 ya.ru. 2843 IN A 93.158.134.8 ;; AUTHORITY SECTION: ya.ru. 2843 IN NS ns1.yandex.ru. ya.ru. 2843 IN NS ns5.yandex.ru. ;; ADDITIONAL SECTION: ns1.yandex.ru. 79700 IN A 213.180.193.1 ns5.yandex.ru. 79701 IN A 213.180.204.1 ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Dec 4 14:04:11 2009 ;; MSG SIZE rcvd: 146

Əgər onun işləməsi nəticəsində təxminən eyni şeyi görürsünüzsə, DNS server əmri düzgün emal etdi.

İndi əmri yerinə yetirin:

# host ya.ru ya.ru 77.88.21.8 ünvanı var ya.ru 93.158.134.8 ya.ru 213.180.204.8 ya.ru poçtu 10 mx.yandex.ru tərəfindən idarə olunur.

DNS serveriniz buna bənzər cavab veribsə, bu, onun düzgün işlədiyini göstərir!

Bu əmrlər heç bir nəticə vermədisə, jurnala baxmaq lazımdır /var/log/messages bağlamanızın oraya qoyduğu səhvlər üçün. Onları təhlil edərək, DNS serverinin düzgün işləməməsinə nəyin səbəb olduğunu anlamağa çalışın. Əsas nəzarət şəbəkə firewalllarının səhv konfiqurasiyasıdır.

Sonda bağlamaya daxil edilmiş bəzi diaqnostik əmrlər haqqında danışmaq istəyirəm.

  • adlı yoxlama zonası– zona fayllarının sintaksisini və bütövlüyünü yoxlayır. Eyni yoxlamalar hər dəfə bağlama ilə yüklənməmişdən əvvəl aparılır. Ancaq düşünürəm ki, ad serveri ilə yükləməzdən əvvəl bunu etmək hələ də faydalıdır.
  • adlı tərtib zonası– adlandırılmış yoxlama zonasından daha ciddi yoxlamalar aparır, çünki Onun istismarı nəticəsində cari zonaların tullantıları yaranacaq ki, bu da öz növbəsində adlar tərəfindən istifadə olunacaq.
  • adlı-checkconf– konfiqurasiya faylını yoxlamaq üçün yardım proqramı.conf

Günortanız xeyir, oxucular. Haqqında nəzəri materialı davam etdirərək, hazırkı məqalədə praktiki bir nümunə nəzərdən keçirmək istəyirəm quraşdırmalar və parametrlər fərqli BIND server konfiqurasiyaları. Məqalədə təsvir edəcəyəm DNS önbelleğinin qurulması və dolu DNS master server. Təsvirə ümumi anlayışlar və hər hansı birinin təşkili üçün zəruri addımlarla başlayacağam DNS serverləri.

Ümumi məlumat

adlı hissəsi olan iblisdir paket bağlaması9 və varlıq domen adı serveri. Demon adlı istənilən növ serverlərin funksiyalarını həyata keçirə bilər: usta, qul, keş. Yuxarıdakı diaqramda əsası göstərməyə çalışdım BIND DNS server necə işləyir. İşin böyük hissəsini yerinə yetirən binar yerləşir /usr/sbin/named. O, adlanan əsas konfiqurasiya faylından parametrləri götürür adlı.conf və kataloqda yerləşir /etc/bind. Əsas konfiqurasiyada təsvir edilmişdir server iş qovluğu, çox vaxt bu bir kataloqdur /var/cache/bind, hansı yalan zona təsviri faylları və digər xidmət faylları. Yazışmalar zona adlarızona təsviri faylı dəstləri zona bölməsi parametri ilə fayl. Zona bölməsi o, həmçinin bu serverin zona üçün məsuliyyət növünü təyin edir (master, slave və s.), həmçinin cari zona üçün xüsusi parametrləri müəyyən edir (məsələn, cari zona üçün sorğuların hansı interfeysdə emal edilməsi). Zona təsviri fayllarında zona parametrləri və resurs qeydlərini ehtiva edir (bu paraqrafda göstərilən yollar Linux paylanması və ya parametrlərindən asılı olaraq fərqli ola bilər).

Bu, konkret konfiqurasiyaları nəzərdən keçirərkən gələcəkdə çaşqınlığın qarşısını almağa kömək edəcək ümumi iş sxemidir.

Proqramın 4-cü versiyası üçün konfiqurasiya faylı formatı səkkizinci və doqquzuncu versiyalarda istifadə ediləndən fərqlidir. BAĞLA. Nəzərə alsaq ki, yenisini quraşdırmağa ümid edirəm DNS server, lakin köhnə versiyanı quraşdırmağın mənasını görmürəm, ona görə də yeni versiyanın konfiqurasiyasına baxacağam.

İlkin məlumatlar

DNS-nin düzgün işləməsi üçün sizdə olmalıdır. Mövcud məqalədəki DNS, Debian paylamasında konfiqurasiya ediləcək, digər paylamaların xüsusiyyətləri də qeyd olunacaq. Stend şəbəkəsinin konfiqurasiyası aşağıdakı kimidir:

DNS: ~# CAT/ETC/Şəbəkə/İnterFaces Avtomatik LO IFACE LOOPBACK AUTH0 IFACE ETH0 INETCAS 10.0.152 NETMASK 255.255.255.0 GATEWAY 10.0.254 AUTOO AUTH1 ATH1611 və E-poçt ünvanı Şəbəkə maskası 255.255.255.0

Harada 10.0.0.152/24 - xarici interfeys (provayder tərəfindən ayrılmış alt şəbəkə), 192.168.1.1/24 - daxili (Lokal şəbəkə). Fərdi zona example.com adlandırılacaq. ilə nümunədə qul server, ikinci server IP-də yerləşəcək 10.0.0.191 .

BIND9 quraşdırılır

DNS serverinin işləməsi üçün siz lazımdır bağlamaq9 (bəzi paylamalarda - bağlamaq ). Diaqramda qeyd edildiyi kimi - əsas konfiqurasiya faylı BAĞLA fayldır adlı.conf(bu fayl kataloqda yerləşdirilə bilər /s, bəzən içində /etc/bind).

Parametrlər (sintaksis).conf

Adlandırılmış.conf faylının sintaksisi aşağıdakı qaydalara əməl edir:

IP ünvanları- İP siyahısı ";" işarəsi ilə ayrılmalıdır. , 192.168.1.1/24 və ya 192.168.1.1/255.255.255.0 formatında alt şəbəkə təyin etmək mümkündür, (IP istisna etmək üçün onun qarşısında işarə qoymaq lazımdır!), adları qeyd etmək mümkündür. "hər hansı", "heç biri", "localhost" qoşa dırnaq içərisində.

Şərhlər- #, // ilə başlayan və /* və */ ilə başlayan sətirlər şərh hesab olunur.

IN zona təsviri faylları -simvol @ konfiqurasiya faylında göstərilən zonanın adını saxlayan "dəyişən"dir adlı.conf və ya @ direktivində $ORIGIN cari zonanın təsviri.

Hər biri tamamlanmış sətir parametrlər simvolla bitməlidir; .

Acl bölməsi

Acl (giriş nəzarət siyahısı)- şəbəkələrin adlandırılmış siyahısını müəyyən etməyə imkan verir. Bölmə formatı: acl "şəbəkə_adı" (ip; ip; ip; );

Seçimlər bölməsi

Seçimlər bölməsi dəstləri qlobal parametrlər bütün zonaları idarə edən konfiqurasiya faylı. Bu bölmənin formatı var: variantlar(seçimlər_bölmə_operatorları);. Seçimlər "iç-içə" ola bilər Zona bölməsi, bununla o, qlobal parametrləri üstələyir. Tez-tez istifadə olunur seçim bəyanatları:

  • icazə sorğusu ( list_ip} - Yalnız sorğulara cavab verməyə imkan verir list_ip. Əgər yoxdursa, server bütün sorğulara cavab verir.
  • icazə-rekursiya( list_ip} - list_ip-dən gələn sorğular üçün rekursiv sorğular yerinə yetiriləcək. Qalanları üçün - iterativ. Parametr göstərilməyibsə, server bütün şəbəkələr üçün rekursiv sorğular həyata keçirir.
  • köçürməyə icazə vermək ( list_ip} - Serverdən zona götürməyə icazə verilən serverlərin siyahısını göstərir (əsasən qul serverləri burada göstərilir)
  • kataloq /yol/to/iş/dir- serverin iş kataloquna mütləq yolu müəyyən edir. Bu ifadə yalnız seçimlər bölməsində etibarlıdır.
  • ekspeditorlar ( ip port, ip port...} - host ünvanlarını və lazım olduqda sorğuların yönləndiriləcəyi portları göstərir (adətən burada ISP provayderlərinin DNS-ləri göstərilir).
  • irəli YALNIZ və ya irəli İLK - parametr birinci DNS serverinin ekspeditorlar parametrində göstərilən DNS serverlərindən istifadə edərək adları həll etməyə çalışmalı olduğunu göstərir və yalnız bu serverlərdən istifadə edərək adı həll etmək mümkün olmadıqda, o, özbaşına adın həllinə cəhd edəcək.
  • xəbərdar etmək HƏ|XEYR - - zonadakı dəyişikliklər barədə qul serverlərini xəbərdar etmək, YOX- xəbər verməyin.
  • rekursiya HƏ|XEYR - - Müştəri tərəfindən tələb olunarsa, rekursiv sorğuların yerinə yetirilməsi, YOX- icra etməyin (yalnız iterativ sorğular). Cavab keşdə tapılarsa, keşdən qaytarılır. (yalnız Seçimlər bölməsində istifadə edilə bilər)

Zona bölməsi

Zona(lar)ın təsvirini müəyyən edir. Bölmə formatı: zona( bölmə_zonası_operatorları}; Operatorlarən çox istifadə olunanlar:

  • yeniləməyə icazə verin( list_ip} - bu zonanı dinamik yeniləməyə icazə verilən sistemləri müəyyənləşdirir.
  • fayl "fayl adı " - zona parametrləri faylının yolunu müəyyən edir (kataloq bəyanatı ilə seçimlər bölməsində göstərilən kataloqda yerləşməlidir)
  • ustadlar( list_ip} -master serverlərin siyahısını göstərir. (yalnız tabe zonalarda icazə verilir)
  • yazın " zona_növü " - cari bölmədə təsvir edilən zonanın növünü göstərir; zona_növü aşağıdakı dəyərləri qəbul edə bilər:
    • irəli- bu zonaya gələn sorğuları yönləndirən yönləndirmə zonasını göstərir.
    • işarə- köməkçi zonanı göstərir (bu tip serverin keşdə cavab tapa bilmədikdə əlaqə saxlayacağı kök serverlər haqqında məlumatları ehtiva edir)
    • ustad- cari zona üçün master server kimi işləməyi təyin edir.
    • qul- cari zona üçün qul server kimi işləməyi təyin edir.

Əlavə Konfiqurasiya Seçimləri

Zona fayllarında vaxt dəyərləri defolt olaraq, aşağıdakı hərflərdən biri gəlmirsə, saniyələrlə göstərilir: S - saniyə, M - dəqiqə, H - saat, D - gün, W - həftə. Müvafiq olaraq, giriş 2saat 20m5s 2 saat 20 dəqiqə 5 saniyə dəyəri olacaq və 8405 saniyəyə uyğun olacaq.

İlə bitməyən hər hansı host/giriş adı nöqtə sayır FQDN deyil adı və cari zonanın adı ilə əlavə olunacaq. Məsələn, examle.com zona faylındakı domen girişi domen.examle.com FQDN adına genişləndiriləcək. .

IN BIND konfiqurasiya faylları aşağıdakılar tətbiq oluna bilər direktivlər:

  • $TTL- cari zonada bütün qeydlər üçün standart TTL müəyyən edir.
  • $ORIGIN- zona adını adlandırılmış.conf faylında göstəriləndən dəyişir. Eyni zamanda, bu direktivin əhatə dairəsi “yuxarıda” genişlənmir (yəni, əgər fayl $INCLUDE direktivinə daxil edilibsə, o zaman $ORIGN-in əhatə dairəsi valideynə şamil edilmir)
  • $DAxildir- zona faylının bir hissəsi kimi göstərilən faylı ehtiva edir.

Xüsusilə təsvir etmək istərdim parametr icazə-köçürmə ( 10.0.0.191; );. Bu parametr zonanın surətini endirməyə icazə verilən serverləri təsvir edir - qondarma qul server. Aşağıdakı nümunədə parametrə baxacağıq kölə DNS.

Girişin düzgün işləməsi üçün müvafiq kataloq yaratmalı və lazımi hüquqları təyin etməlisiniz:

Dns:~# mkdir /var/log/bind/ dns:~# chmod 744 /var/log/bind/ dns:~# ps aux | grep adlı bind 4298 0.0 3.4 46792 13272 ? Ssl İyul05 0:00 /usr/sbin/named -u bağlama kök 4815 0,0 0,1 3304 772 pts/4 S+ 18:19 0:00 grep adlı dns:~# chown bind /var/log/bind/ dns:~# ls -ld /var/log/bind/ drwxr--r-- 2 bağlama kökü 4096 6 iyul 18:18 /var/log/bind/

Dns:~# cat /var/cache/bind/example.com $TTL 3D @ IN SOA ns.example.com. root.example.com. (2011070601; seriya 8H; 2H təzələyin; 2W təkrar cəhd edin; 1D müddəti bitir); minimum @ NS NS.example.com. @ NS2.example.com-da. @ IN A 10.0.0.152 @ IN MX 5 mx.example.com. ns IN A 10.0.0.152 ns2 IN A 10.0.0.191 mx IN A 10.0.0.152 www IN CNAME @

eləcə də in-addr.arpa domenində.

Dns:~# cat /var/cache/bind/0.0.10.in-addr.arpa $TTL 3600 @ SOA IN ns.examle.com. root.example.com. (2007042001; Serial 3600; Yenilə 900; Yenidən cəhd edin 3600000; Bitmə müddəti 3600); Minimum NS NS.examle.com.

NS2.example.com-da. 152 PTR-də examle.com. 191 PTR NS.example.com. * PTR examle.com saytında. dns:~# cat /var/cache/bind/1.168.192.in-addr.arpa $TTL 3600 @ SOA IN ns.examle.com. root.example.com. (2007042001; Serial 3600; Yenilə 900; Yenidən cəhd edin 3600000; Bitmə müddəti 3600); Minimum NS NS.examle.com.

NS2.example.com-da. * PTR examle.com saytında.

Şəbəkəmiz kiçikdir, güman edilir ki, şəbəkədə çox az maşın var. Bütün şəbəkə xidmətləri bir hostda yerləşdirilir, example.com., ona görə də həm əsas DNS (ns.example.com.) və həm də poçt serveri (mx.example.com.) eyni maşına işarə edir (10.0.0.152). İkinci dərəcəli (qul) səlahiyyətli zona serveriƏsas funksiya qul server- zona təsvirinin master server ilə avtomatik sinxronizasiyası. Bu vəzifə sənədlə tənzimlənir 4.3.5. RFC 1034

bölməsində Bu sənədə əsasən, AXFR sorğusundan istifadə edərək serverlər arasında məlumat mübadiləsi tövsiyə olunur. Bu sorğu bütün zonanı bir TCP bağlantısına köçürməlidir (RFC 1035). Həmçinin,

kölə DNS server yükü master serverlə bölüşür və ya birinci serverdə nasazlıq olarsa bütün yükü öz üzərinə götürür. Başlamazdan əvvəl

qul DNS serverinin qurulması<<>, aşağıdakı əmrdən istifadə edərək zonanı ikincil serverdən əl ilə əldə edə bildiyinizi yoxlamaq lazımdır:<<>> @10.0.0.152 example.com. axfr; (1 server tapıldı) ;; qlobal seçimlər: +cmd example.com. SOA-da 259200 ns.example.com. root.example.com. 2011070801 28800 7200 1209600 86400 example.com. NS.example.com-da 259200. example.com. NS2.example.com-da 259200. example.com. 259200 IN A 10.0.0.152 example.com. 259200 IN MX 5 mx.example.com. mx.example.com. 259200 IN A 10.0.0.152 ns.example.com. 259200 IN A 10.0.0.152 ns2.example.com. 259200 IN A 10.0.0.191 www.example.com. 259200 CNAME example.com-da. example.com. SOA-da 259200 ns.example.com. root.example.com. 2011070801 28800 7200 1209600 86400 ;; Sorğu vaxtı: 14 msn; SERVER: 10.0.0.152#53(10.0.0.152) ;; ZAMAN: Cümə 8 İyul 15:33:54 2011; XFR ölçüsü: 11 qeyd (mesajlar 1, bayt 258)

  1. Kopyalayın adlandırılmış.conf konfiqurasiya faylı master serverdən;
  2. Əvəz edin master parametrini yazın haqqında qul yazın
  3. Parametr icazə-köçürmə ( 10.0.0.191; ); əvəz et haqqında magistrlər(10.0.0.152;); ikinci dərəcəli olacağı zonalarda;
  4. Zonaları silin, cari serverin xidmət etməyəcəyi qul rekursiv sorğulara cavab verməyəcəksə, kök də daxil olmaqla;
  5. Kataloqlar yaradınəvvəlki nümunədə olduğu kimi loglar üçün.

Ümumilikdə biz qul server konfiqurasiyasını əldə edirik:

Root@debian:~# cat /etc/bind/named.conf variantları ("/var/cache/bind" kataloqu; icazə sorğusu ( hər hansı; ); // rekursiya nömrəsinin bütün interfeyslərindən sorğulara cavab verin; // rekursivi deaktiv edin sorğular auth-nxdomain no; // RFC1035 uyğunluğu üçün-v6 ( heç biri; // bizə IPv6 versiyası lazım deyil "naməlum" // cavablarda; // aşağıda təsvir edilən zonalar serveri geri dönmə // interfeyslər, eləcə də yayım zonaları üçün (RFC 1912-yə uyğun olaraq) "localhost" zonası üçün səlahiyyətli kimi müəyyən edir ( master növü; fayl "localhost"; ); zona "127.in-addr.arpa" ( master yazın; fayl "127.in-addr.arpa"; ); zona "0.in-addr.arpa" ( master yazın; fayl "0.in-addr.arpa"; ); zona "255.in-addr.arpa" ( master yazın; fayl "255.in-addr.arpa"; ); // əsas zona zonasının təsviri "example.com" ( qul növü; fayl "example.com"; masters ( 10.0.0.152; ); ); //əks zona zonasının təsviri "0.0.10.in-addr.arpa" ( növü slave; fayl "0.0.10.in-addr.arpa"; masters ( 10.0.0.152; ); ); // logging parametrlərinin qeydi ( kanal "microsoft" ( fayl "/var/log/bind/misc.log" versiyaları 4 ölçü 4m; çap vaxtı YES; çap dərəcəsi YES; çap kateqoriyası YES; ); kanal "sorğu" ( fayl "/var/log/bind/query.log" versiyaları 4 ölçü 4m; çap müddəti YES; çap dərəcəsi NO; çap kateqoriyası NO; standart kateqoriya ( "mic"; "; ); ); ;

yenidən başladıqdan sonra qul serverəsas serverdən lazım olan məlumatları uğurla kopyalayacaq, bu kataloqda faylların olması ilə göstəriləcək:

Root@debian:~# ls -la /var/cache/bind/ cəmi 28 drwxrwxr-x 2 kök bağlama 4096 8 iyul 18:47 . drwxr-xr-x 10 kök kök 4096 8 iyul 15:17 .. -rw-r--r-- 1 bağlama 416 8 iyul 18:32 0.0.10.in-addr.arpa ...... - rw-r--r-- 1 bağlama 455 8 iyul 18:32 example.com ........

Əsasən, /stroallow-transfer (pngp qul server zonanın surətini öz fayl sistemində saxlaya bilməz. Bu nüsxə yalnız DNS başladıqda lazımdır. Zona nüsxəsinin fayl sistemində olması, qul DNS işə salınması zamanı master server əlçatan olmadıqda nasazlığın qarşısını ala bilər. Zona bölməsində fayl seçimini göstərməsəniz, nüsxə yaradılmır.

DNS BIND üçün netfilter() qurulması

Əslində serveri konfiqurasiya etdikdən sonra onu qorumaq yaxşı olardı. Biz bilirik ki, server 53/udp portunda işləyir. Bu barədə məqaləni oxuduqdan və onunla tanış olduqdan sonra şəbəkə trafikinin filtrasiyası qaydaları yarada bilərsiniz:

Dns ~ # iptables-save # DNS üçün tipik iptables qaydaları *filtr:INPUT DROP :FORWARD DROP :OUTPUT DROP -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESABLISHED -j QƏBUL -A -m conntrack --ctstate INVALID -j DROP # yerli şəbəkənin DNS serverinə daxil olmasına icazə verir: -A INPUT -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 53 -m əlaqə - -ctstate YENİ -j QƏBUL EDİN -ÇIXIŞ -o lo -j QƏBUL EDİN -ÇIXIŞ -p icmp -j QƏBUL EDİN -ÇIXIŞ -p udp -m udp --sport 32768:61000 -j QƏBUL EDİN - ÇIXIŞ -p tcp - m tcp --sport 32768:61000 -j QƏBUL EDİN -A ÇIXIŞ -m conntrack --ctstate BAĞLI, TƏRƏF EDİLDİ -j QƏBUL # DNS serverinə gedən sorğular etmək üçün icazə verin -A ÇIXIŞ -p udp -m udp --dport 53 -m conntrack - -ctstate YENİ -j TƏHSİLİ QƏBUL EDİN

Bu tipik bir nümunədir! Tapşırıqlarınıza və şəbəkə konfiqurasiyanıza uyğun iptables qaydalarını təyin etmək üçün yuxarıdakı məqalələri oxuyaraq netfilterin Linux-da necə işlədiyini başa düşməlisiniz.

Problemlərin aradan qaldırılması

DNS problemlərini müəyyən etmək üçün əsas mənbədir. Budur, mən yolu ilə səhv etdiyim başlanğıc səhvlərinə bir nümunə əsas server zonası faylı:

5 iyul 18:12:43 dns-server adlı: başlanğıc BIND 9.7.3 -u bind 5 iyul 18:12:43 dns-server adlı: "--prefix=/usr" "--mandir=/usr/ ilə qurulmuşdur paylaş/man" "--infodir=/usr/share/info" "--sysconfdir=/etc/bind" "--localstatedir=/var" "--enable-threads" "--enable-largefile" "- -with-libtool" "--enable-shared" "--enable-static" "--with-openssl=/usr" "--with-gssapi=/usr" "--with-gnu-ld" "- -with-dlz-postgres=no" "--with-dlz-mysql=no" "--with-dlz-bdb=yes" "--with-dlz-filesystem=yes" "--with-dlz-ldap =bəli" "--with-dlz-stub=yes" "--with-geoip=/usr" "--enable-ipv6" "CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2" "LDFLAGS=" " CPPFLAGS=" 5 İyul 18:12:43 dns-server adlı: 1024-dən 1048576-a qədər açıq fayllar üçün düzəliş edilmiş limit 5 iyul 18:12:43 dns-server adlı: 1 işçi ipdən istifadə edərək 1 CPU tapıldı 5 iyul 18:12: 43 dns-server adlı: 4096-a qədər soketdən istifadə etməklə 5 iyul 18:12:43 dns-server adlı: konfiqurasiya "/etc/bind/named.conf" ünvanından yüklənir 5 iyul 18:12:43 dns-server adlı: qurulmuş oxu - "/etc/bind/bind.keys" faylından etibarlı açarlarda 5 iyul 18:12:43 dns-server adlı: defolt UDP/IPv4 port diapazonundan istifadə: 5 iyul 18:12:43 dns-server adlı: default istifadə UDP/IPv6 port diapazonu: 5 iyul 18:12:43 dns-server adlı: IPv4 interfeysində dinlənir, 127.0.0.1#53 5 iyul 18:12:43 dns-server adlı: IPv4 interfeysində dinlənir eth1, 192.168.1.1 #53 5 iyul 18:12:43 dns-server adlı: dinamik DNS üçün sessiya açarı yaradılır 5 iyul 18:12:43 dns-server adlı: kök göstərişləri "/etc/bind/db.root"dan konfiqurasiya edə bilmədi: fayl tapılmadı 5 iyul 18:12:43 dns-server adlı: yüklənir konfiqurasiya: fayl tapılmadı # fayl tapılmadı 5 iyul 18:12:43 dns-server adlı: çıxış (ölümcül səhvə görə) 5 iyul 18:15:05 dns-server adlı: BIND 9.7.3 başlanğıcı -u bağlamaq 5 iyul 18:15:05 dns-server adlı: "--prefix=/usr" "--mandir=/usr/share/man" ilə qurulmuş "- infodir =/usr/share/info" "--sysconfdir=/etc/bind" "--localstatedir=/var" "--enable-threads" "--enable-largefile" "--with-libtool" "- - enable-shared" "--enable-static" "--with-openssl=/usr" "--with-gssapi=/usr" "--with-gnu-ld" "--with-dlz-postgres= yox " "--with-dlz-mysql=no" "--with-dlz-bdb=yes" "--with-dlz-filesystem=yes" "--with-dlz-ldap=yes" "--with - dlz-stub=yes" "--with-geoip=/usr" "--enable-ipv6" "CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2" "LDFLAGS=" "CPPFLAGS=" 5 iyul 18:15 :05 dns-server adlı: 1024-dən 1048576-a qədər açıq fayllar üçün düzəliş edilmiş limit 5 iyul 18:15:05 dns-server adlı: 1 işçi ipdən istifadə edərək 1 CPU tapıldı 5 iyul 18:15:05 dns-server adlı: istifadə yuxarı 4096 yuvaya 5 iyul 18:15:05 dns-server adlı: konfiqurasiya "/etc/bind/named.conf" ünvanından yüklənir 5 iyul 18:15:05 dns-server adlı: standart UDP/IPv4 port diapazonundan istifadə: 5 iyul 18:15:05 dns-server adlı: defolt UDP/IPv6 port diapazonundan istifadə edir: 5 iyul 18:15:05 dns-server adlı: IPv4 interfeysində dinlənir, lo, 127. 0.0.1#53 5 iyul 18:15:05 adlı dns-server: eth1 IPv4 interfeysində dinləmə, 192.168.1.1#53 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 254.169.IN-ADDR. ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 2.0.192.IN-ADDR.ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 100.51.198.IN-ADDR. ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 113.0.203.IN-ADDR.ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 255.255.255.255.IN-ADDR. ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6 .ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. IP6.ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: D.F.IP6.ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 8.E.F.IP6.ARPA 5 iyul 18:15 :05 dns-server adlı: avtomatik boş zona: 9.E.F.IP6.ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: A.E.F.IP6.ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: B.E.F.IP6.ARPA 5 iyul 18:15:05 dns-server adlı: avtomatik boş zona: 8.B.D.0.1.0.0.2.IP6.ARPA 5 iyul 18:15:05 dns-server adlı: zona 0. in-addr.arpa/IN: yüklənmiş serial 1 5 iyul 18:15:05 adlı dns-server: zona 127.in-addr.arpa/IN: yüklənmiş serial 1 5 iyul 18:15:05 dns-server adlı: zona 255.in-addr.arpa/IN: yüklənmiş serial 1 5 iyul 18:15:05 dns-server adlı: zona localhost/IN: yüklənmiş serial 2 5 iyul 18:15:05 dns-server adlı: çalışan # işə salındı

əla diaqnostik vasitədir.

CV

Cari məqalədə əsas BIND server DNS konfiqurasiyalarının qurulmasını təsvir etdim. Məqalənin məqsədi BIND serverinin UNIX-də işləməsi haqqında fikir vermək idi. Mən praktiki olaraq DNS təhlükəsizliyi məsələlərinə toxunmadım və zona(lar) haqqında müxtəlif məlumatların müxtəlif şəbəkələrə göndərildiyi zaman serverin kənar rejimdə işləməsi kimi xüsusi parametrlərə az toxundum. Daha dərindən başa düşmək üçün mən ümid edirəm ki, lazımi məlumatları əldə edə biləcəyiniz əlavə mənbələrin siyahısını təqdim edəcəyəm. Mən buna son qoyacağam. Növbəti dəfəyə qədər.

Domen Adı Sistemi: http://citforum.ru/internet/dns/khramtsov/
qul server- Domen Adları - Konsepsiyalar və Obyektlər: http://tools.ietf.org/html/rfc1034
RFC 1035- Domen Adları - Tətbiq və Spesifikasiya: http://tools.ietf.org/html/rfc1035
RFC 1537- Ümumi DNS Məlumat Faylı Konfiqurasiya Xətaları: http://tools.ietf.org/html/rfc1537
RFC 1591- Domen adı sisteminin strukturu və nümayəndə heyəti: http://tools.ietf.org/html/rfc1591
RFC 1713- DNS Sazlama Alətləri: http://tools.ietf.org/html/rfc1713
RFC 2606- Qorunan Üst Səviyyə DNS Adları: http://tools.ietf.org/html/rfc2606
DNS Təhlükəsizliyi (DNSSEC): http://book.itep.ru/4/4/dnssec.htm
BIND 9 Administrator Reference Manual: http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.html
Təhlükəsiz BIND Şablonu: http://www.cymru.com/Documents/secure-bind-template.html
Konfiqurasiya parametrləri yaxşı təsvir edilmişdirrus: http://www.bog.pp.ru/work/bind.html
Avtomatik zona faylının yaradılması: http://www.zonefile.org/?lang=en#zonefile

Bu gün interneti DNS-siz təsəvvür etmək mümkün deyil. Bununla belə, bir çox idarəçilər bu xidməti öz serverlərində konfiqurasiya etməyə vaxt ayırmırlar, ona görə də onun tam gücünün üçdə birini belə istifadə etmirlər.

Beləliklə, bu gün üçün planlar!

  1. Əsas zonanın qurulması.
  2. Qulda birləşdirici zonalar.
  3. Hər kəsə öz. Sorğunun gəldiyi müştəri ünvanından asılı olaraq parametrləri konfiqurasiya edirik.
  4. Xarici DNS filtrini bağlayırıq.

Giriş

İşə düşəndə ​​şəbəkəmizdəki xidmətlərin sayı barmaqla sayılacaq qədər olardı. Vaxt keçdi, xidmətlərin sayı artdı. Yalnız bir xidmət göstərən DNS server var idi və bir zona üçün master rolunu oynadı (gəlin bunu xak.ru adlandıraq). O, sadəcə olaraq bütün digər sorğuları Google-un DNS serverinə yönləndirdi (8.8.8.8). Oh, demək olar ki, əlavə etməyi unutdum: bu server virtual idi. Sonra bir gün server fiziki olaraq çökdü. Dəyişdirildikdən sonra sistem qaldırıldı və virtuallaşdırma işə salındı. Biz təzə quraşdırılmış Debian və BIND 9-u quraşdırdıq. DNS serverinin qəzadan əvvəl olduğu eyni IP-ni təyin etdik. Parametrlər ehtiyat nüsxədən bərpa edildi. Uğurlu bir başlanğıcdan sonra "boltları necə sıxmaq" barədə düşünməyə başladılar.

Bu işə paralel olaraq xaker.ru zonasını (məsələn) yerləşdirən hostinq quraşdırıldı. Əlbəttə ki, mərkəzi DNS bu barədə bilməli və daha yaxşısı, bu zona üçün qul DNS serveri olmalıdır. Sonra, sorğunun hansı şəbəkədən gəldiyindən asılı olaraq, mərkəzi serverdən DNS sorğularını yönləndiriciyə yönləndirmək zərurəti yarandı. Bu, hər kəs üçün deyil, xarici DNS filtrlərini birləşdirmək üçün edildi. Ancaq yalnız ehtiyacı olanlar üçün, yəni təhsil şəhər şəbəkələri - təhsil müəssisələrinin əraziləri! Bütün bunlar aşağıda müzakirə olunacaq.

Bir az nəzəriyyə

Əgər “yeni” BIND ilə tanış olmaq istəyirsinizsə, oxumağı məsləhət görürəm. Bir sözlə: 9-cu versiya sonuncu idi, 10-cu versiya ilə hüquqlar cəmiyyətə verilir və bu proqram indi Bundy kimi tanınır.

Tez quraşdırma və ya yenə eyni şey haqqında

Beləliklə, BIND 9-u Debian/Ubuntu-da necə quraşdırmaq olar, İnternetdə çoxlu material var. Odur ki, təfərrüatlara varmadan tez bir zamanda bu məqamı nəzərdən keçirək. Əvvəlcə BIND 9-u sisteminizə quraşdırmalısınız. MS Windows istifadəçiləri üçün platformaları üçün BIND 9 versiyası mövcuddur.

$ sudo apt install bind9

Digər paylamalar üçün İnternetdəki mənbə kodlarından yığmaq üçün çoxlu təlimatlar var, onları tez bir zamanda tutun, bloknotlara köçürün, yeni "super faydalı" qanun bütün İnterneti əhatə etməzdən əvvəl və ya sayta baş çəkdiyinizə və ya ziyarət etdiyinizə görə təhqir olunana qədər qadağan olunmuş ədəbiyyatla. 😉

Quraşdırıldıqdan sonra /etc/bind9/ qovluğuna keçin və orada qalan adlandırılmış.conf.* faylları ilə birlikdə adlı əsas konfiqurasiya faylına baxın. İnternetdəki məlumat çox təfərrüatlı şəkildə təqdim edildiyi üçün biz master zonanın necə qurulacağını buraxacağıq. Gəlin sətri adlandırılmış.conf faylına əlavə edək

"/etc/bind/named.conf.acl" daxil edin;

yeni faylı alt şəbəkə qaydaları üçün konfiqurasiyaya bağlayacağıq. Sonra, /etc/bind/named.conf.acl faylını yaradın və qaydaları əlavə edin:

Acl "lan" ( 192.168.181.0/24; ); acl "do" ( 10.0.0.0/24; 192.168.253.0/24; ); acl "srv" ( 192.168.254.0/24; ); acl "alls" ( 10.10.0.0/16; ); acl "dou" ( 192.168.201.0/24; 192.168.202.0/24; 192.168.203.0/24; 192.168.204.0/24; 192.168.205.0/24;); acl "məktəb" ( 172.16.0.0/24; );

Burada sonrakı emal üçün şəbəkələri qruplara ayırdıq. Davam etməzdən əvvəl bir məqama aydınlıq gətirim. Zonaları düzgün emal etmək üçün hər bir qayda qrupuna bütün zonaları əlavə etməlisiniz. Bunu bir faylda edə və ya zona parametrlərini ayrı bir fayla yerləşdirə və sonra onu sadəcə lazımi yerlərdə birləşdirə bilərsiniz. Beləliklə, /etc/bind/named.conf.local faylına dəyişikliklər edirik:

"edu"ya baxın ( uyğun müştərilər ( məktəb; ); rekursiya bəli; icazə sorğusu ( məktəb; ); ekspeditorlar ( 77.88.8.7; ); zona "xaker.ru" ( master növü; fayl "/etc/bind/xaker .ru_loc"; ); zona "254.168.192.in-addr.arpa." ( master yazın; fayl "/etc/bind/xaker.rev"; ); zona "zone2.ru" ( qul növü; fayl "/ etc/bind/db.zone2.ru"; magistrlər ( 192.168.254.5; ); ); );

Burada BIND-nin işləyəcəyi qrupu təyin edirik. Yuxarıda müəyyən etdiyimiz qaydalardan müştəriləri buraya əlavə edirik. Biz təsvir edilmiş qaydalara uyğun olaraq şəbəkələrdən gələn sorğuların yönləndiriləcəyi daha yüksək səviyyəli server təyin edirik. Budur, yalnız Məktəb ünvanları qrupu. Yandex DNS serveri "pis" məzmunu filtrləyən daha yüksək səviyyəli DNS olaraq təyin edildi. SkyDNS kimi digər DNS xidmətlərindən də eyni şəkildə istifadə edə bilərsiniz.

Davamı yalnız abunəçilər üçün əlçatandır

Seçim 1. Saytdakı bütün materialları oxumaq üçün Hacker-a abunə olun

Abunəlik sizə göstərilən müddətdə saytdakı BÜTÜN ödənişli materialları oxumağa imkan verəcək.

Gəlin nəzərdən keçirək nümunəvi müstəqil server üçün DNS server konfiqurasiya faylının keşləşdirilməsi. Keşləmə ad serveri heç bir zona üçün cavabdeh olmayan ad serveridir. O, sadəcə olaraq öz adından sorğuları yerinə yetirir və nəticələri sonradan istifadə etmək üçün saxlayır.
HAQQINDA şəbəkə xidməti DNS və BIND9-un qurulması da FreeBSD Təlimatının 25-ci fəslində oxuna bilər. Varsayılan olaraq, FreeBSD DNS protokolunun ən ümumi tətbiqi olan BIND (Berkeley Internet Name Domain) proqramının versiyalarından birini istifadə edir.

DNS adları IP ünvanlarına və əksinə həll edən bir protokoldur. FreeBSD hazırda təkmilləşdirilmiş təhlükəsizlik parametrləri, yeni konfiqurasiya faylı tərtibatı və chroot(8) üçün avtomatik parametrləri təmin edən BIND9 adlı DNS serveri ilə təchiz edilir. Bundan əlavə, BIND9 xarici hücumlara ən az həssas hesab olunur (FreeBSD avtomatik olaraq məhdudlaşdırılmış mühitdə adlanır (chroot(8)))). DNS serverinin bu versiyası sorğular üçün girişə nəzarət siyahılarını, aşağı axın (ikincil) DNS serverlərinə zona köçürmələrini və yuxarı (əsas) DNS serverlərindən onun zonalarının dinamik yeniləmələrini dəstəkləyir. Bu versiya dinamik yeniləmələr və zona dəyişiklikləri barədə bildiriş üçün standartı dəstəkləyir, həmçinin aşağı axın DNS serverlərinə yalnız yuxarı DNS serverlərindən zona məlumatlarında dəyişikliklər tələb etməyə imkan verən artımlı zona ötürmə mexanizmindən istifadə edir. Bu, zonanın daha sürətli ötürülməsinə imkan verir.

Yazı yazarkən mən qururdum BIND 9.6.1-P1 işləyən serverdə FreeBSD 7.2-REZİL.

# cat /etc/namedb/named.conf // şərh belə görünür acl self ( 127.0.0.1; ); // serverimizin IP ünvanlarını sadaladığımız öz dəyişənini təyin edin\ hansı ki, acl etibarını bağlayırıq ( self; ); // DNS serverimiz vasitəsilə sorğu göndərməyə icazə veriləcəyi IP ünvanlarını sadaladığımız bir dəyişən təyin edin // qlobal parametr seçimləri bölməsi ( "/etc/namedb" kataloqu; // iş kataloqu bağlaması, hansı ilə bağlı biz aşağıda digər qovluqları təyin edəcəyik pid-fayl "/var/run/named/pid" // pid faylı dump-fayl "/var/dump/named_dump.db" // halında kök zonanın dump faylının yeri; bütün kök serverlərə girişin müvəqqəti itirilməsi statistics-fayl "/var/stats/named.stats" // statistik faylın dinləmə yeri ( self; // hansı interfeyslərdə işləməyi təyin edin); -v6 ( heç biri; / ); / IPv6 versiyasından istifadəni qadağan et "Salam, dostum!" // burada bağlamanın versiyasını təyin edə bilərsiniz (təhlükəsizlik səbəbindən bunu etməmək tövsiyə olunur) allow-query ( self; / / kimdən sorğuları qəbul etməyə icazə veririk ( 12.34.56.78 ; ); // serverinizdəki yükü azaltmaq üçün burada provayderinizin DNS serverini qeyd edə bilərsiniz; ...

İndi mən faylı qurmaq üçün bir az fasilə verməyi təklif edirəm adlı.conf. DNS serverinizi uzaqdan idarə etməyin maraqlı bir yolunu nəzərdən keçirməyi təklif edirəm - bir yardım proqramı rndc. Onu istifadə etməyə başlamaq üçün onun üçün konfiqurasiya faylı və onun bağlamanızla qarşılıqlı əlaqədə olacağı gizli açar yaratmalısınız. Bu iş üçün bir komanda var rndc-confgen.
Komandanın icrası:

# rndc-confgen

kimi bir şey alacaqsınız:

# Rndc.conf açarının başlanğıcı "rndc-key" ( alqoritm hmac-md5; gizli "34f88008d07deabbe65bd01f1d233d47"; ); seçimlər ( default-key "rndc-key"; default-server 127.0.0.1; default-port 953; );

# Rndc.conf-un sonu # # İcazə siyahısını lazım olduqda tənzimləyən name.conf-da aşağıdakılarla istifadə edin: # düyməsi "rndc-key" ( # alqoritm hmac-md5; # gizli "34f88008d07deabbe65bd01f1d233d47"; # ); # # nəzarətləri ( # inet 127.0.0.1 port 953 # icazə verir ( 127.0.0.1; ) düymələri ( "rndc-key"; ); # );

# Name.conf sonu

Çıxışın şərh edilməmiş hissəsini fayla yerləşdirin rndc-confgen konfiqurasiya faylına qoyun /etc/namedb/named.conf:

Açar "rndc-açar" ( alqoritm hmac-md5; gizli "34f88008d07deabbe65bd01f1d233d47"; ); nəzarətlər (inet 127.0.0.1 port 953 icazə verir ( 127.0.0.1; ) düymələri ( "rndc-key"; ); ); ...

Komandanın əməyi nəticəsində rndc-confgen kataloqda /etc/nameb/ fayl görünməlidir rndc.key, aşağıdakı məzmunla:

# cat /etc/namedb/rndc.key açarı "rndc-key" ( alqoritm hmac-md5; gizli "34f88008d07deabbe65bd01f1d233d47"; );

Əgər orada artıq açarınız varsa, onu silin və yenisi ilə əvəz edin.
Bütün hallarda xətt gizli “34f88008d07deabbe65bd01f1d233d47”; sizdə də eyni olmalıdır! Mənası sirrəmri ilə yaradılmışdır rndc-confgen.
DNS serverinizi tam konfiqurasiya etdikdən və işə saldıqdan sonra gördüyünüz işi yoxlaya bilərsiniz. Sonra əmri yerinə yetirərkən:

# rndc statusu

kimi bir şey görsəniz:

Versiya: 9.6.1-P1 (Salam, dostum!) CPU tapıldı: 2 işçi mövzusu: 2 zona sayı: 14 sazlama səviyyəsi: 0 xfer işləyir: 0 xfer təxirə salınıb: 0 soa sorğusu davam edir: 0 sorğu qeydi rekursiv müştərilər üçün Kəffarədir : 0/0/1000 tcp müştəriləri: 0/100 server işləyir və işləyir

- faydalılıq deməkdir rndc bağlamanıza uğurla qoşuldu, indicə yaratdığımız açardan istifadə edərək daxil olduq və sizə göstərdikləri DNS server statusunu bağlamaq istədi.

Bu yardım proqramı DNS serverinizi izləməyə və idarə etməyə imkan verəcək bir çox faydalı açar var. Sadəcə onu arqumentlər olmadan işə salın və mövcud əmrləri və onlar üçün yardımı görəcəksiniz. (Mən sizə dərhal əmrlə bir dump faylı yaratmağı məsləhət görürəm rndc dumpdb).

Konfiqurasiya faylının izahına davam edək /etc/namedb/named.conf:

Zona "." (tip ipucu; fayl "namemed.root"; //cari kök zona faylını necə əldə etmək aşağıda yazılmışdır); zona "0.0.127.in-addr.arpa" ( master növü; fayl "master/localhost.rev"; no bildirin; ); ...

localhost.rev faylı belə görünür:

# cat /etc/namedb/master/localhost.rev $TTL 3600 @ IN SOA host.your_domain.ru. root.host.your_domain.ru. (2009110601; Serial 3600; Yeniləyin 900; Yenidən cəhd edin 3600000; Bitmə müddəti 3600); Minimum IN NS host.your_domain.ru. 1 PTR localhost.your_domain.ru-da.

Aşağıdakı parametrlərlə biz müxtəlif fayllara bağlama qeydlərini toplayacağıq və yazacağıq. Kanal qeydi bölməsinin formatı aşağıdakı kimidir:

Kanalın adı ( (fayl faylının adı [ versiyalar (sayı | limitsiz) ] [ maksimum ölçü ölçüsü ] | syslog syslog_facility | stderr | null); // burada logları yazacağımız faylın adını göstərəcəyik bu kanalın (iş qovluğuna nisbəti) log faylının yenidən nömrələndiyi faylın ölçüsü; əldə edilir. şiddət bəli-yoxsa-yox ] // hadisənin “ciddilik” növünü qeyd edib-etməməyimiz [ çap zamanı bəli-yox-xeyr ] // hadisənin vaxtını qeyd edib-etməməyimiz);

[ ciddilik (kritik | xəta | xəbərdarlıq | bildiriş | məlumat | debug [ səviyyə ] | dinamik); ] // log filter, bu kanala tam olaraq hansı məlumatları daxil edəcəyik [ çap-kateqoriya bəli-yox-yox; ] // hadisə kateqoriyasına daxil olub-olmadığımızdan asılı olmayaraq növü [ print-severity yes-or-no; ] // mülkiyyətin "ciddilik" növünü qeyd edib-etməməyimiz [ çap vaxtı bəli-yox-yox; ] // hadisənin vaxtını qeyd edib-etməməyimizdən asılı olmayaraq); /etc/namedb/named.conf:

Logging ( // giriş parametrləri kanal default_ch ( // giriş kanalı default_ch faylını təyin edin "/var/log/named.log" versiyaları 3 ölçüsü 800k; ciddilik məlumatı; çap vaxtı bəli; çap kateqoriyası bəli; ); kanal təhlükəsizliyi_ch ( / / logging channel security_ch faylını işarələyin "/var/log/security.log" versiyaları 800k ölçüsü çap; .log" versiyaları 3 ölçüsü 800k; ciddilik məlumatı; çap vaxtı bəli; çap kateqoriyası bəli; ); kanal lame-ch ( // giriş kanalı lame-ch faylını "/var/log/lamers.log" versiyaları 3 işarələyin ölçüsü 800k; lame-servers kateqoriyası ( lame-ch; ); kanal kateqoriya təhlükəsizliyi ( security_ch; // təhlükəsizlik hadisələri kateqoriyası haqqında security_ch kanalına yazın xfer-in ( transfer_ch; ); // transfer_ch kanalına zonalar kateqoriyasının transferi haqqında yazın xfer-out ( transfer_ch; ); // qəbul zonaları haqqında transfer_ch kanalına yazın kateqoriya bildiriş ( transfer_ch; ); // transfer_ch kanalına bildirişlər və qeydiyyat faktları yazın);

kateqoriya təhlükəsizliyi ( security_ch; ); // təhlükəsizlik hadisələri kateqoriyası haqqında security_ch kanalına yazın xfer-in ( transfer_ch; ); // transfer_ch kanalına zonalar kateqoriyasının transferi haqqında yazın xfer-out ( transfer_ch; ); // qəbul zonaları haqqında transfer_ch kanalına yazın kateqoriya bildiriş ( transfer_ch; ); // transfer_ch kanalına bildirişlər və qeydiyyat faktları yazın);

İndi bağlama quraşdırmasını tamamladıqdan sonra, serverdən cari kök zona faylını (adlı.root) əldə etmək üçün sadəcə wget və ya fetch əmrindən istifadə etməlisiniz:

# ftp://ftp.internic.net/domain/named.root gətirin /etc/nameb/ mövcud olanın dəyişdirilməsi ilə. Bu proseduru vaxtaşırı təkrarlamaq və ya cron vasitəsilə bu əməliyyatı konfiqurasiya etmək məsləhətdir.

İndi DNS serverimizi işə salmağın vaxtıdır:

/etc/rc.d/adlı başlanğıc

Kommunal xidmətin işinin yoxlanılması rndc, yuxarıda təsvir edildiyi kimi.

Başlamaq üçün əmri işlədin:

# ps -ax | grep 476 adlı ?? 0:01.19 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s 704 ?? 0:00.04 /usr/sbin/named -t /var/named -u bind 1022 p0 R+ 0:00.00 grep adlı

Əgər belə bir şey görürsənsə, deməli proses başlayıb.
Əmin olmaq üçün aşağıdakı əmri işlədə bilərsiniz (əgər varsa):

# lsof -i tcp | grep DİNLEYİN | grep adlı 704 bağlamaq 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlamaq 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) adlı 704uxc040a st:domain ) adlı 704 bağlayın 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) adlı 704 bağlamaq 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlama 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTENa040) 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlamaq 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) adlı 704 bağlamaq 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) adlı 704 bağlamaq 21u IPv4CP00stc )

İndi serverimizi yeni quraşdırılmış DNS serveri ilə işləmək üçün konfiqurasiya etməliyik. Bunu etmək üçün faylda dəyişiklik etməlisiniz /etc/resolv.conf. Onu aşağıdakı formaya endirin:

# cat /etc/resolv.conf domeni your_domain.ru ad serveri 127.0.0.1

DNS yardım proqramları BIND9 serverinə daxildir qazmaq, ev sahibinslookup domen sahəsini öyrənmək. Onların köməyi ilə biz indicə konfiqurasiya etdiyiniz və işə saldığınız DNS serverinin necə işlədiyini yoxlayacağıq.

Utility ev sahibi müəyyən bir domen adı üçün müəyyən bir növün RR dəyərlərini əldə etməyə imkan verir. Zəng formatı:
aparıcı [ - idarəetmə düymələri ] [ -sorğu açarları] domen adı və ya ünvan [ sorğu-server ] .

Varsayılan olaraq, müştəri kitabxanasını qurarkən təsvir olunan server istifadə olunur. Domen adları mütləq sayılır və heç bir axtarış siyahısından istifadə edilmir. Ətraflı məlumat burada adam ev sahibi.

Utility qazmaq zona fayl formatında müəyyən bir domen adı üçün müəyyən bir növün RR dəyərlərini əldə etməyə imkan verir. Bir çox dəstəkləyici məlumat şərhlər şəklində verilir, o cümlədən. sorğuya cavab olaraq alınan paketin təfsiri. Zəng formatı:
qazmaq[ @polled-server ] [ -seçimlər-qaz] domen adı [ rekord tipli ] [ rekord səviyyəli ] [ +sorğu seçimləri ]

Varsayılan olaraq, müştəri kitabxanasını qurarkən təsvir olunan server istifadə olunur. Domen adları mütləq sayılır və heç bir axtarış siyahısından istifadə edilmir. Siz həmçinin tələb olunan qeyd növü kimi AXFR (yalnız səlahiyyətli serverdən ötürülən zona), ixfr=referans-versiya nömrəsi və HƏR psevdotiplərindən istifadə edə bilərsiniz, defolt: A. Eyni əmr sətrində bir neçə sorğu edilə bilər.

Utility nslookup köhnəlmiş elan edildi və hər dəfə işə başladığınız zaman bunu sizə xatırladır (hətta sənədlər təqdim edilmir, kömək əmri və bəziləri yoxdur). Zəng formatı:
nslookup [ - açarlar] domen adı [ sorğu-server ]

Komandanı işə salın:

# dig @127.0.0.1 ya.ru ;<<>> DiG 9.6.1-P1<<>> @127.0.0.1 ya.ru ; (1 server tapıldı) ;; qlobal seçimlər: +cmd ;; Cavab aldım: ;; >> BAŞLIQ<< opcode: QUERY, status: NOERROR, id: 51090 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;ya.ru. IN A ;; ANSWER SECTION: ya.ru. 2843 IN A 213.180.204.8 ya.ru. 2843 IN A 77.88.21.8 ya.ru. 2843 IN A 93.158.134.8 ;; AUTHORITY SECTION: ya.ru. 2843 IN NS ns1.yandex.ru. ya.ru. 2843 IN NS ns5.yandex.ru. ;; ADDITIONAL SECTION: ns1.yandex.ru. 79700 IN A 213.180.193.1 ns5.yandex.ru. 79701 IN A 213.180.204.1 ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Dec 4 14:04:11 2009 ;; MSG SIZE rcvd: 146

Əgər onun işləməsi nəticəsində təxminən eyni şeyi görürsünüzsə, DNS server əmri düzgün emal etdi.

İndi əmri yerinə yetirin:

# host ya.ru ya.ru 77.88.21.8 ünvanı var ya.ru 93.158.134.8 ya.ru 213.180.204.8 ya.ru poçtu 10 mx.yandex.ru tərəfindən idarə olunur.

DNS serveriniz buna bənzər cavab veribsə, bu, onun düzgün işlədiyini göstərir!

Bu əmrlər heç bir nəticə vermədisə, jurnala baxmaq lazımdır /var/log/messages bağlamanızın oraya qoyduğu səhvlər üçün. Onları təhlil edərək, DNS serverinin düzgün işləməməsinə nəyin səbəb olduğunu anlamağa çalışın. Əsas nəzarət şəbəkə firewalllarının səhv konfiqurasiyasıdır.

Sonda bağlamaya daxil edilmiş bəzi diaqnostik əmrlər haqqında danışmaq istəyirəm.

  • adlı yoxlama zonası– zona fayllarının sintaksisini və bütövlüyünü yoxlayır. Eyni yoxlamalar hər dəfə bağlama ilə yüklənməmişdən əvvəl aparılır. Ancaq düşünürəm ki, ad serveri ilə yükləməzdən əvvəl bunu etmək hələ də faydalıdır.
  • adlı tərtib zonası– adlandırılmış yoxlama zonasından daha ciddi yoxlamalar aparır, çünki Onun istismarı nəticəsində cari zonaların tullantıları yaranacaq ki, bu da öz növbəsində adlar tərəfindən istifadə olunacaq.
  • adlı-checkconf– konfiqurasiya faylını yoxlamaq üçün yardım proqramı.conf

Bu mövzuda uyğun kiçik bir təşkilatın və ya kiçik provayderin ehtiyacları üçün BIND DNS serverinin tam konfiqurasiyasını təsvir etməyə çalışacağam.

1. BIND konfiqurasiya faylı adlı.conf:

Fayl yeri BIND parametrləri OS-dən asılı olaraq dəyişə bilər. Məsələn, FreeBSD-də /etc/namedb/named.conf-da saxlanılır. Chroot kataloqu: /var/named/.

# İdentifikasiya açarı.
açar "rndckey" (
alqoritmi hmac-md5;
gizli "945Gа8BNiQ+NvPeklas+Bu==";
};

seçimlər (
# Serverin hansı IPv6 ünvanlarını dinləyəcəyini göstərin. Bu nümunədə "heç biri"; – IPv6-ya qulaq asmayın.
v6-da dinləyin (heç biri; );
# Serverin hansı IPv4 ünvanlarını dinləyəcəyini göstərin.
#127.0.0.1 – Geri dönmə
# 192.168.0.1 – Yerli şəbəkə interfeysi. Yerli müştərilər ona daxil olacaqlar.
# 100.100.100.100 – Xarici interfeys. O, qlobal şəbəkədən gələn sorğuları emal edəcək.
dinləmə portu 53 ( 127.0.0.1; 192.168.0.1; 100.100.100.100; );
# Hansı sorğuların işlənməsi. Bu nümunədə "hər hansı;" - hər hansı sorğular işlənir.
# Lazım gələrsə, sorğularının işlənməsinə icazə verilən şəbəkələri və ya xüsusi qovşaqları təyin edə bilərsiniz. Məsələn, “192.168.0.1/24; 127.0.0.1;” Biz yalnız 192.168.0.1/24 alt şəbəkəsindən müştərilərə və özümüzə geri dönmə interfeysi vasitəsilə icazə verərdik.
icazə sorğusu (hər hansı; );
# Sorğuları hara yönləndirmək. Lazım gələrsə, məsələn, trafikə qənaət etmək üçün sorğuları provayderinizin DNS serverinə yönləndirə bilərsiniz. Bu nümunədə yalnız kök zonasında istifadə olunur.
ekspeditorlar();
# Biz zona cədvəllərinin dəyişdirilməsini (yenilənməsini) qadağan edirik.
yeniləməyə icazə verin(heç biri;);
# Əlavə seçimlər. İş qovluğunun, PID faylının, dump faylının və statistika faylının yeri. Lazım gələrsə dəyişdirə bilərsiniz. Bütün yollar Chroot kataloquna nisbidir.
“/etc/namedb” kataloqu;
pid faylı “/var/run/named/pid”;
dump-file “/var/dump/named_dump.db”;
statistics-fayl “/var/stats/named.stats”;
# BIND serverimizin versiyasını gizlədir.
versiya "0";
};

# Girişə Nəzarət Siyahısı - girişə nəzarət siyahıları
# ACL "istifadəçisi" - yerli müştərilərimiz.
acl “istifadəçi” ( 192.168.0.0/24; 127.0.0.1; );
# ACL “inet” – ACL “istifadəçisinə” daxil olmayanların hamısı
acl “inet” ( !user; );

# Baxış - baxışlar
# Fərqli görünüşlərə girişi fərqləndirmək üçün ACL-lərdən istifadə edəcəyik.

# “hamısına” bax – bütün sorğulara baxın.
"hamısına" baxın (
# Bu görünüşün yalnız bütün müştərilər üçün olduğunu bildiririk.
uyğun müştərilər (hər hansı; );
# Rekursiv sorğuları deaktiv edin.
rekursiya nömrəsi;

# Master zona test.com
"test.com" zonası (
# “Kölə” zona növü “test.com” domen zonası üçün ikinci dərəcəli DNS serveridir.
# Siz “stub” istifadə edə bilərsiniz. Bu halda, zona cədvəlləri saxlanmayacaq (yalnız NS qeydləri saxlanılacaq) və sorğular reklam edilən DNS serverlərinə yönləndiriləcək.
qul tipi;
# Zona cədvəl faylı.
"slave/test.com.hosts" faylı;
# “test.com” domen zonası üçün əsas DNS serverini təyin edin.
magistrlər ( 100.100.100.201; );
};

# DynDNS zonası dyn.example.com.
"dyn.example.com" zonası (
# “Master” zona növü bu domen zonası üçün əsas DNS serverdir.
tip ustası;
"dynamic/dyn.example.com.hosts" faylı;
# Zona cədvəlinin açarla dəyişdirilməsinə (yenilənməsinə) icazə verin.
yeniləməyə icazə verin ("rndckey" düyməsi; );
};

# “100.100.100.100/24” qlobal alt şəbəkəsi üçün əks zona.
zona “100.100.in-addr.arpa” (
tip ustası;
“master/100.100.rev.hosts” faylı;
};
}

# “İstifadəçiyə” bax – yerli müştərilərimizə baxın.
“istifadəçi”yə baxmaq (
# Biz bildiririk ki, bu görünüş yalnız “istifadəçi” ACL-ə daxil olan müştərilər üçündür
uyğun müştərilər (istifadəçi;);
# Yerli müştərilərə rekursiv sorğular etməyə icazə verin.
rekursiya bəli;

# “İstifadəçi”yə baxmaq üçün zonaları təsvir edin

# Zona "localhost".
zonasında "localhost" (
tip ustası;
“master/localhost.hosts” faylı;
};

# Master zona example.com.
"example.com" zonası (
tip ustası;
“master/user/example.com.hosts” faylı;
};

# “192.168.0.0/24” yerli alt şəbəkə üçün əks zona.
zona “0.168.192.in-addr.arpa” (
tip ustası;
“master/user/192.168.0.rev.hosts” faylı;
};

# “Localhost” üçün tərs zona.
zona “0.0.127.in-addr.arpa” (
tip ustası;
“master/127.0.0.rev.hosts” faylı;
};

# DNS kök zonası.
zona "." (
# Zona növü “işarəsi” – serverin önbelleğe alınması. Heç bir zona cədvəlini saxlamır.
tip işarəsi;
"namemed.root" faylı;
# Sorğuları provayderin DNS serverinə yönləndiririk (100.100.100.201 – provayderin DNS serveri).
ekspeditorlar(100.100.100.201;);
};
};

# View “inet” – qlobal şəbəkədən gələn sorğulara baxmaq.
"inet"-ə baxın (
uyğun müştərilər (inet;);
# Rekursiv sorğuları deaktiv edin.
rekursiya nömrəsi;
yox bildirin;

# Master zona example.com.
"example.com" zonası (
tip ustası;
“master/inet/example.com.hosts” faylı;
};
};

2. “İstifadəçi” görünüşü üçün Example.com zona cədvəli:

38400 dollar

2011101101; Serial - YYYYMMDNN formatında zona seriya nömrəsi.
; YYYY - il, MM - ay, DD - gün, NN - cari gün üçün cədvəl dəyişikliklərinin seriya nömrəsi.
10800 ; Yenilə - Əsas server cədvəlini yeniləməyə ehtiyac üçün nə qədər tez-tez yoxlamaq lazım olduğunu göstərən vaxt.
3600 ; Yenidən cəhd - əsas serverə qoşulma uğursuz olarsa, nə qədər tez yenidən cəhd edəcəyinizi göstərən vaxt.
604800 ; İstifadə müddəti - bu vaxtdan sonra cədvəlin vaxtı keçmiş sayılır və yenidən oxunur;
38400 ; TTL cədvəlin keşdə nə qədər saxlanacağını göstərən vaxtdır. Bu müddət bitdikdən sonra server cədvəli yenidən oxuyur.
)

; Bu zona üçün Ad serverini təyin edin.
example.com. NS.example.com.

; "birbaşa" (adı ünvana çevirir) girişi.
ns.example.com. IN A 100.100.100.100
# “poçt” (domen poçt serverlərini göstərir) qeydi. 10 - ardıcıllıq.

; Məsələn.com hostunu birbaşa qeyd etmək üçün yerli ünvanlardan istifadə edirik.
example.com. A 192.168.0.2
sip.example.com. A 192.168.0.3
mx.example.com. A 192.168.0.4

; Biz göstəririk ki, www.example.com example.com üçün sinonimdir
www.example.com CNAME-də example.com.

; SIP telefoniya nümunəsindən istifadə edərək xidmətlərin yerini göstəririk.
; _sip._udp – xidmət növü;
; SRV – qeyd növü;
; 0 – qeydin prioriteti;
; 0 – sistemlərin idarə edə biləcəyi yük (lazım olan parametr deyil);
; 5060 – SIP serverinin sorğu qəbul etdiyi port nömrəsi;
; sip.example.com – SIP server host adı.

Sip._udp.sip.example.com. SRV 0 0 5060 sip.example.com.

3. “inet” görünüşü üçün Example.com zona cədvəlləri (xarici müştərilərin SIP telefoniyasına çıxışı yoxdur)

38400 dollar
example.com. SOA-da ns.example.com. root.example.com. (
2011101101; Serial
10800 ; Yeniləyin
3600 ; Yenidən cəhd edin
604800 ; İstifadə müddəti
38400 ; TTL
)

example.com. NS.example.com.
example.com. NS NS.r01.ru.
example.com. MX 10 mx.example.com.

ns.example.com. IN A 100.100.100.100
; Biz example.com hostunu birbaşa qeyd etmək üçün xarici ünvanlardan istifadə edirik.
example.com. A 100.100.100.101
mx.example.com. A 100.100.100.102

www.example.com CNAME-də example.com.

4. “192.168.0.0/24” yerli alt şəbəkəsi üçün əks zonalar cədvəli

38400 dollar
0.168.192.in-addr.arpa. SOA-da ns.example.com. root.example.com. (
2011101101; Serial
10800 ; Yeniləyin
3600 ; Yenidən cəhd edin
604800 ; İstifadə müddəti
38400 ; TTL
0.168.192.in-addr.arpa. NS NS.example.com.
; "əks" notasiyası (ünvanı ada çevirir)
1.0.168.192.in-addr.arpa. PTR-də ns.example.com.
2.0.168.192.in-addr.arpa. PTR-də www.example.com
3.0.168.192.in-addr.arpa. PTR-də sip.example.com.
4.0.168.192.in-addr.arpa. PTR-də mx.example.com.

Nəticə
Qalan zona cədvəlləri nümunədə təqdim olunanlara bənzər şəkildə yaradılmışdır.
Və yekunda demək istərdim: "İlk baxışda göründüyündən daha asandır". BIND qurulur tamamlandı.

İstifadə olunan mənbələrin siyahısı:
subnets.ru/blog/?p=38
dlc.sun.com/osol/docs/content/SYSADV5/dnsref-13.html
sshd.su/pages/viewpage.action?pageId=5210143
ulsu-is.narod.ru/lab08.htm