Internet Windows Android
Kengaytirish

O'zingizning mahalliy DNS (PDNSD) ni blackjack bilan va Google Public DNS dan tezroq yaratish. Mahalliy tarmoq uchun keshlash DNS serverini (BIND) sozlash Windows ostida keshlash DNS serverini o'rnatish


Muallif: Pol Kobbo
Nashr qilingan sana: 2015 yil 24 may
Tarjimasi: A.Panin
O'tkazish sanasi: 2015 yil 11 iyul

4-bob. DNS serverlariga kirish

4.3. DNS serverlarini keshlash

DNS zonasiga xizmat qilmaydigan, lekin so'rovlarni keshlash uchun boshqa nom serverlariga ulangan DNS server keshlash DNS serveri deyiladi. DNS serverlarini keshlash manba yozuvlarini o'z ichiga olgan DNS zonasi ma'lumotlar bazalari bilan ishlamaydi. Buning o'rniga, ular boshqa nom serverlariga ulanadi va tegishli ma'lumotlarni keshlaydi.

DNS serverlarini keshlashning ikki turi mavjud. Bular DNS-serverlarni yo'naltiruvchi DNS serverlari, shuningdek, DNS ildiz serverlaridan foydalanadigan DNS serverlari.

4.3.1. Ekspeditordan foydalanmaydigan keshlash DNS serveri

Yo'naltiruvchi serverdan foydalanmaydigan keshlash DNS serveri ma'lumotni boshqa joydan olishi kerak. Mijozdan so'rov qabul qilinganda, u ildiz serverlaridan biri bilan bog'lanadi. Ildiz server yuqori darajadagi maqsadli domenga xizmat ko'rsatuvchi server haqidagi ma'lumotlarni keshlash serveriga yuboradi, bu esa o'z navbatida uni boshqa DNS serveriga yo'naltiradi. Oxirgi server so'rovga javob berish uchun ma'lumotga ega bo'lishi yoki ushbu ma'lumotga ega bo'lishi mumkin bo'lgan boshqa DNS serveri haqida ma'lumot uzatishi mumkin. Oxir-oqibat bizning DNS serverimiz so'rovga javob berish uchun kerakli ma'lumotlarni oladi va javobni mijozga yuboradi.

Quyidagi rasmda mijoz qanday qilib linux-training.be domen nomi uchun IP-manzil ma'lumotlari so'rovini yuborishi ko'rsatilgan. Bizning keshlash serverimiz ildiz serveriga ulanadi va .be yuqori darajali domeniga xizmat ko'rsatuvchi serverga yo'naltiriladi. Keyin u .be yuqori darajali domeniga xizmat ko‘rsatuvchi serverga ulanadi va Openminds nom serverlaridan biriga yo‘naltiriladi. Ushbu nom serverlaridan biri (bu holda nsq.openminds.be) linux-training.be domen nomiga ega serverning IP manzili bilan so'rovga javob beradi. Bizning keshlash serverimiz ushbu ma'lumotni mijozga uzatgandan so'ng, mijoz ushbu veb-saytga ulanishi mumkin bo'ladi.

Ushbu domen nomini hal qilish uchun tcpdump snifferdan foydalanish quyidagi natijani beradi (har bir satrning dastlabki 20 ta belgisi olib tashlangan).

192.168.1.103.41251 > M.ROOT-SERVERS.NET.domain: 37279%A? linux-tr \ aining.be. (46) M.ROOT-SERVERS.NET.domeni > 192.168.1.103.41251: 37279- 0/11/13 (740) 192.168.1.103.65268 > d.ns.dns.be.domain: A38555? linux-trening.\ be. (46) d.ns.dns.be.domain > 192.168.1.103.65268: 38555-0/7/5 (737) 192.168.1.103.7514 > ns2.openminds.be.domain: 60888% A? linux-train\ing.be. (46) ns2.openminds.be.domain > 192.168.1.103.7514: 60888*- 1/0/1 A 188.93.155.\ 87 (62)

4.3.2. Ekspeditor yordamida DNS keshlash serveri

Ekspeditor yordamida keshlash DNS serveri ekspeditordan kerakli barcha ma'lumotlarni oladigan DNS serverdir. Qayta yo'naltiruvchi DNS-server, masalan, ISPning DNS-serveri bo'lishi mumkin.

Yuqoridagi rasmda kompaniyaning mahalliy tarmog'idagi DNS serveri ko'rsatilgan bo'lib, u ISP tomonidan taqdim etilgan DNS serverini yo'naltiruvchi DNS serveri sifatida ishlatadi. Agar ISP tomonidan taqdim etilgan DNS-serverning IP-manzili 212.71.8.10 bo'lsa, kompaniyaning DNS serverining nomli.conf konfiguratsiya faylida quyidagi qatorlar bo'lishi kerak:

ekspeditorlar (212.71.8.10; );

Bundan tashqari, siz DNS serveringizni DNS shartli ekspeditorlari bilan ishlash uchun ham sozlashingiz mumkin. Konfiguratsiya faylida shartli ravishda yo'naltiriladigan DNS serverining tavsifi quyidagicha:

"someotherdomain.local" zonasi ( oldinga yozing; faqat oldinga; ekspeditorlar ( 10.104.42.1; ); );

4.3.3. Iterativ yoki rekursiv so'rov

Rekursiv so'rov bu DNS so'rovi bo'lib, undan so'ng mijoz DNS-serverdan yakuniy javobni kutadi (yuqoridagi rasmda u Macbook-dan DNS serveriga yo'naltirilgan qalin qizil o'q bilan tasvirlangan). Iterativ so'rov bu DNS so'rovi bo'lib, undan so'ng mijoz DNS serveridan yakuniy javobni kutmaydi (yuqoridagi rasmda u DNS serveridan yo'naltirilgan uchta qora o'q bilan ko'rsatilgan). Iterativ so'rovlar ko'pincha nom serverlari o'rtasida amalga oshiriladi. Ildiz serverlari rekursiv so'rovlarga javob bermaydi.

DNS zonasini boshqaradigan DNS serveri ushbu zona uchun vakolatli DNS serveri deb ataladi. Shuni yodda tutingki, DNS zonasi faqat resurs yozuvlari to'plamidir.

DNS zonasi uchun birinchi vakolatli DNS serveri asosiy DNS server deb ataladi. Ushbu server DNS zonasi ma'lumotlar bazasining o'qish/yozish nusxasini ishga tushiradi. Agar nosozliklar yuz berganda ma'lumotlar yaxlitligini yaxshilash, server ish faoliyatini yaxshilash yoki yuk balansini yaxshilash kerak bo'lsa, siz ushbu DNS zonasini boshqaradigan boshqa DNS serverini o'rnatishingiz mumkin. Bu server ikkilamchi DNS serveri deb ataladi.

Ikkilamchi server DNS zonasi ma'lumotlar bazasi nusxasini DNS zonasini uzatish paytida asosiy serverdan oladi. DNS zonasini uzatish so'rovlari ikkilamchi serverlar tomonidan muntazam ravishda yuboriladi. Ushbu vaqt oralig'ining davomiyligi SOA resurs rekordida o'rnatiladi.

Siz rndc yordam dasturidan foydalanib DNS zonasini yangilashni majburlashingiz mumkin. Quyidagi misol fred.local faylining DNS zonasi uzatilishini boshlaydi va /var/log/syslog jurnali faylining tegishli fragmentini chiqaradi.

[elektron pochta himoyalangan]:/etc/bind# rndc yangilash fred.local [elektron pochta himoyalangan]:/etc/bind# grep fred /var/log/syslog | dumi -7 | cut-c38- zona fred.local/IN: yuborish xabar beradi (seriya 1) qabul qilingan nazorat kanali buyrug'i "fred.local yangilash" zonasi fred.local/IN: Transfer boshlandi. "fred.local/IN" ni 10.104.109.1#53 dan o'tkazish: 10.104.33.30#57367 zonasi yordamida ulangan fred.local/IN: 10.104.109.1#53 dan "fred.local/IN" ning uzatilgan seriyali 2 o'tkazmasi: Transfer Tugallangan: 1 ta xabar, 10 ta yozuv, 264 bayt, 0,001 sek (264000 bayt/sek) zona fred.local/IN: xabar yuborish (2-seriya) [elektron pochta himoyalangan]:/etc/bind#

Ikkilamchi DNS serverini DNS zonasiga qo'shganda, siz ushbu serverni asosiy serverga tobe DNS server qilib sozlashingiz mumkin. Asosiy DNS server ikkinchi darajali serverga nisbatan asosiy DNS server bo'ladi.

Ko'pincha, asosiy DNS server barcha tobe serverlar bilan ishlaydigan asosiy serverdir. Ba'zan kutish serveri keyingi darajadagi kutish serverlari uchun asosiy server ham bo'lishi mumkin. Quyidagi rasmda ns1 nomli server asosiy server, ns2, ns3 va ns4 nomli serverlar esa ikkinchi darajali serverlardir. ns2 va ns3 nomli serverlar uchun asosiy server ns1 nomli server bo'lsa-da, ns4 nomli server uchun asosiy server ns2 nomli serverdir.

SOA resurs yozuvi yangilash deb nomlangan DNS zonasi yangilanish tezligi qiymatini o'z ichiga oladi. Agar bu qiymat 30 daqiqaga o'rnatilgan bo'lsa, kutish serveri har 30 daqiqada DNS zonasi ma'lumotlarining nusxasini uzatish uchun so'rovlar yuboradi. Ushbu yozuv, shuningdek, qayta urinib ko'rish deb nomlangan vaqt tugashi davrining qiymatini ham o'z ichiga oladi. Ushbu qiymat asosiy server oxirgi DNS zonasini uzatish so'roviga javob bermasa ishlatiladi. Yaroqlilik muddati deb nomlangan qiymat kutish serveri DNS zonasi ma'lumotlarini yangilamasdan mijozlar so'rovlariga javob berishi mumkin bo'lgan vaqtni belgilaydi.

Quyida DNS zonasining (linux-training.be) SOA resurs yozuvlari maʼlumotlarini oʻqish uchun nslookup yordam dasturidan foydalanishga misol keltirilgan.

[elektron pochta himoyalangan]:~# nslookup > settype=SOA > server ns1.openminds.be > linux-training.be Server: ns1.openminds.be Manzil: 195.47.215.14#53 linux-training.be kelib chiqishi = ns1.openminds.be pochta manzili = hostmaster.openminds.be serial = 2321001133 yangilash = 14400 qayta urinish = minimal expire = 360 = 360

DNS zonasi ma'lumotlarini uzatish faqat DNS zonasi ma'lumotlar bazalaridagi ma'lumotlar o'zgarganda (ya'ni, asosiy tomondan bir yoki bir nechta manba yozuvlari qo'shilganda, o'chirilganda yoki o'zgartirilganda) sodir bo'ladi. Kutish serveri SOA resurs yozuvining o'z nusxasining versiya raqamini (seriya raqami) mos keladigan asosiy serverning SOA resurs yozuvining versiya raqami bilan solishtiradi. Agar versiya raqamlari mos kelsa, ma'lumotlarni yangilash talab qilinmaydi (chunki boshqa hech qanday manba yozuvlari qo'shilmagan, o'chirilmagan yoki o'zgartirilmagan). Xuddi shu holatda, agar tobe server tomonidagi SOA resurs yozuvining versiya raqami mos keladigan asosiy server tomonidagi bir xil yozuvning versiya raqamidan kam bo'lsa, DNS zonasini uzatish so'rovi amalga oshiriladi.

Quyida DNS zonasi ma'lumotlarini uzatish paytida olingan ma'lumotlar bilan Wireshark sniffer oynasining skrinshoti keltirilgan.

4.9. To'liq yoki qisman DNS zonalarini uzatish

DNS zonasi ma'lumotlarini uzatish to'liq yoki qisman bo'lishi mumkin. Bir yoki boshqa rejimdan foydalanish to'g'risidagi qaror kutish serveridagi DNS zonasi ma'lumotlar bazasini to'liq yangilash uchun uzatilishi kerak bo'lgan ma'lumotlar miqdoriga bog'liq. O'zgartirilgan ma'lumotlarning umumiy miqdori butun ma'lumotlar bazasi hajmidan kamroq bo'lsa, zona ma'lumotlarini qisman uzatish afzalroqdir. To'liq DNS zonasi uzatish AXFR protokoli yordamida amalga oshiriladi, qisman DNS zonasi uzatish esa IXFR protokoli yordamida amalga oshiriladi.

WordPress 5.3-ning chiqarilishi WordPress 5.0-da taqdim etilgan blok muharririni yangi blok, yanada intuitiv shovqin va yaxshilangan foydalanish imkoniyati bilan yaxshilaydi va kengaytiradi. Muharrirdagi yangi xususiyatlar […]

To'qqiz oylik ishlab chiqishdan so'ng FFmpeg 4.2 multimedia to'plami mavjud bo'lib, u turli multimedia formatlarida (yozuv, konvertatsiya qilish va […]) operatsiyalar uchun ilovalar to'plami va kutubxonalar to'plamini o'z ichiga oladi.

  • Linux Mint 19.2 Cinnamon-dagi yangi xususiyatlar

    Linux Mint 19.2 uzoq muddatli qo'llab-quvvatlash versiyasi bo'lib, 2023 yilgacha qo'llab-quvvatlanadi. U yangilangan dasturiy ta'minot bilan birga keladi va yaxshilanishlar va ko'plab yangi [...]

  • Linux Mint 19.2 tarqatilishi chiqarildi

    Ubuntu 18.04 LTS paket bazasida yaratilgan va 2023 yilgacha qo'llab-quvvatlanadigan Linux Mint 19.x filialining ikkinchi yangilanishi Linux Mint 19.2 tarqatish to'plamining chiqarilishi taqdim etildi. Tarqatish to'liq mos keladi [...]

  • BIND-ning yangi xizmat versiyalari mavjud bo'lib, ularda xatoliklar tuzatilgan va xususiyatlar yaxshilangan. Yangi nashrlarni ishlab chiquvchining veb-saytidagi yuklab olishlar sahifasidan yuklab olish mumkin: [...]

    Exim - Internetga ulangan Unix tizimlarida foydalanish uchun Kembrij universitetida ishlab chiqilgan xabarlarni uzatish agenti (MTA). U […] ga muvofiq bepul mavjud.

    Taxminan ikki yillik ishlab chiqishdan so'ng, Linux yadrosi uchun modul sifatida paketlangan ZFS fayl tizimining ilovasi bo'lgan ZFS on Linux 0.8.0 chiqarildi. Modul Linux yadrolari bilan 2.6.32 dan [...]

  • WordPress 5.1.1 Veb-saytni egallashga ruxsat beruvchi zaiflikni tuzatadi
  • Internet protokollari va arxitekturasini ishlab chiqadigan IETF (Internet muhandisligi bo'yicha ishchi guruhi) ACME (Avtomatik sertifikatlarni boshqarish muhiti) uchun RFCni shakllantirishni yakunladi [...]

    Jamiyat tomonidan boshqariladigan va sertifikatlarni hammaga bepul taqdim etuvchi Let’s Encrypt notijorat sertifikatlashtirish organi o‘tgan yil natijalarini sarhisob qildi va 2019 yilgi rejalar haqida gapirdi. […]

  • Libreoffice-ning yangi versiyasi chiqdi - Libreoffice 6.2
  • DNS (domen nomlari tizimi) veb-saytlar va serverlarning ishlashi uchun zarur bo'lgan muhim va sozlash juda qiyin komponent hisoblanadi. Ko'pgina foydalanuvchilar o'zlarining hosting provayderlari tomonidan taqdim etilgan DNS serverlaridan foydalanadilar, ammo o'z DNS serverlariga ega bo'lish ba'zi afzalliklarga ega.

    Ushbu qo'llanmada siz Bind9-ni qanday o'rnatishni va uni Ubuntu 14.04 serverida keshlash yoki yo'naltiruvchi DNS serveri sifatida sozlashni o'rganasiz.

    Talablar

    • DNS serverlarining asosiy turlarini tushunish. Tafsilotlar bilan tanishishingiz mumkin.
    • Ikkita mashina, ulardan kamida bittasi Ubuntu 14.04 bilan ishlaydi. Birinchi mashina mijoz (IP manzili 192.0.2.100) va ikkinchi mashina DNS server (192.0.2.1) sifatida sozlanadi.

    Siz DNS server orqali so'rovlarni yuborish uchun mijoz mashinasini qanday sozlashni o'rganasiz.

    DNS serverini keshlash

    Ushbu turdagi serverlar rekursiv so'rovlarni qayta ishlovchi va odatda boshqa serverlarda DNS ma'lumotlarini qidirishi mumkin bo'lganligi uchun rezolyutorlar deb ham ataladi.

    Keshlash DNS serveri mijoz so'roviga javobni kuzatganda, u javobni mijozga qaytaradi va uni tegishli DNS yozuvlarining TTL qiymati bilan ruxsat etilgan vaqt oralig'ida keshda saqlaydi. Keyin keshdan so'rovni qayta ishlashning umumiy vaqtini tezlashtirish uchun keyingi so'rovlarga javoblar manbai sifatida foydalanish mumkin.

    Tarmoq konfiguratsiyasidagi deyarli barcha DNS serverlar keshlanadi. DNS-serverni keshlash ko'p holatlar uchun yaxshi tanlovdir. Agar siz xosting provayderingizning DNS serverlariga yoki boshqa umumiy DNS serverlariga tayanishni istamasangiz, o'zingizning keshlash DNS serveringizni sozlang. DNS-serverdan mijoz mashinalarigacha bo'lgan masofa qanchalik qisqa bo'lsa, DNS so'rovlariga xizmat ko'rsatish vaqti shunchalik qisqa bo'ladi.

    DNS serverini qayta yo'naltirish

    Mijoz nuqtai nazaridan, yo'naltiruvchi DNS-server keshlash serveri bilan deyarli bir xil ko'rinadi, ammo mexanizmlar va ish yuki butunlay boshqacha.

    Yo'naltiruvchi DNS serveri keshlash serveri bilan bir xil afzalliklarga ega. Biroq, u aslida hech qanday rekursiv so'rovni bajarmaydi. Buning o'rniga, u barcha so'rovlarni tashqi hal qiluvchiga yo'naltiradi va keyin keyingi so'rovlar uchun natijalarni keshlaydi.

    Bu yo'naltiruvchi serverga rekursiv so'rovlarni qayta ishlamasdan so'rovlarga keshdan xizmat ko'rsatish imkonini beradi. Shunday qilib, bu server faqat bitta so'rovlarni (qayta yo'naltirilgan mijoz so'rovlari) bajaradi va butun rekursiya protsedurasini emas. Bu tashqi tarmoqli kengligi cheklangan muhitlarda, siz tez-tez keshlash serverlarini o'zgartirishingiz kerak bo'lgan va mahalliy so'rovlarni bitta serverga va tashqi so'rovlarni boshqasiga yo'naltirishingiz kerak bo'lgan holatlarda afzallik bo'lishi mumkin.

    1-qadam Bindni DNS serveriga o'rnatish

    Bind paketini rasmiy Ubuntu omborida topish mumkin. Paket indeksini yangilang va apt menejeri yordamida Bind-ni o'rnating. Bundan tashqari, bir nechta bog'liqlikni o'rnatishingiz kerak.

    sudo apt-get yangilanishi
    sudo apt-get install bind9 bind9utils bind9-doc

    Shundan so'ng siz serverni sozlashni boshlashingiz mumkin. Keshlash serveri konfiguratsiyasi yo'naltiruvchi serverni sozlash uchun shablon sifatida ishlatilishi mumkin, shuning uchun birinchi navbatda keshlash DNS serverini sozlash kerak.

    2-qadam: keshlash DNS serverini sozlang

    Avval Bind-ni keshlash DNS serveri sifatida sozlashingiz kerak. Ushbu konfiguratsiya serverni mijoz so'rovlariga javoblar uchun boshqa DNS serverlarini rekursiv ravishda qidirishiga olib keladi. U javob topmaguncha barcha tegishli DNS serverlarini ketma-ket so'raydi.

    Bog'lash konfiguratsiya fayllari /etc/bind katalogida saqlanadi.

    Ko'pgina fayllarni tahrirlash shart emas. Asosiy konfiguratsiya fayli nomli.conf deb ataladi (nomlangan va bog'langan bir xil dastur uchun ikkita nom). Bu fayl nomli.conf.options, named.conf.local va named.conf.default-zones fayllariga havola qiladi.

    Keshlash DNS serverini sozlash uchun siz faqat name.conf.options ni tahrirlashingiz kerak.

    sudo nano nomli.conf.options

    Bu fayl quyidagicha ko'rinadi (soddalik uchun izohlar o'tkazib yuborilgan):

    variantlari (
    "/var/cache/bind" katalogi;
    dnssec-validatsiya avtomatik;

    v6-da tinglash (har qanday; );
    };

    Keshlash serverini o'rnatish uchun siz kirishni boshqarish ro'yxatini yoki ACLni yaratishingiz kerak.

    Siz buzg'unchilardan rekursiv so'rovlarni qayta ishlaydigan DNS serverini himoya qilishingiz kerak. DNS kuchaytirish hujumlari ayniqsa xavflidir, chunki ular serverni tarqatilgan rad etish hujumlariga jalb qilishi mumkin.

    DNS kuchaytirish hujumlari serverlar va saytlarni o'chirishning bir usuli hisoblanadi. Buning uchun tajovuzkorlar rekursiv so'rovlarni qayta ishlaydigan umumiy DNS serverlarini topishga harakat qilishadi. Ular qurbonning IP-manzilini soxtalashtiradilar va DNS serveriga juda katta javob qaytaradigan so'rov yuboradilar. Bunday holda, DNS server kichik so'rovga javoban jabrlanuvchining serveriga juda ko'p ma'lumotlarni qaytaradi, bu esa tajovuzkorning mavjud o'tkazish qobiliyatini oshiradi.

    Ommaviy rekursiv DNS-serverni joylashtirish ehtiyotkorlik bilan konfiguratsiya va boshqaruvni talab qiladi. Serverni buzib kirishining oldini olish uchun server ishonishi mumkin bo'lgan IP manzillar yoki tarmoq diapazonlari ro'yxatini sozlang.

    Variantlar blokidan oldin acl blokini qo'shing. ACL guruhi uchun yorliq yarating (ushbu qo'llanmada guruh goodclients deb ataladi).

    acl goodclients(
    };
    variantlari (
    . . .

    Ushbu blokda ushbu DNS serveriga kirish huquqiga ega bo'lgan IP-manzillar yoki tarmoqlarni sanab o'ting. Server va mijoz /24 quyi tarmog'ida ishlayotganligi sababli siz ushbu quyi tarmoqqa kirishni cheklashingiz mumkin. Bundan tashqari, avtomatik ravishda ulanadigan localhost va localnetlarni blokdan chiqarishingiz kerak.

    acl goodclients(
    192.0.2.0/24;
    localhost;
    mahalliy tarmoqlar;
    };
    variantlari (
    . . .

    Endi sizda xavfsiz mijoz ACLlari mavjud. Variantlar blokida so'rov o'lchamlarini o'rnatishni boshlashingiz mumkin. Unga quyidagi qatorlarni qo'shing:

    variantlari (
    "/var/cache/bind" katalogi;
    rekursiya ha;

    . . .

    Variantlar bloki aniq rekursiyani faollashtiradi va keyin ACL dan foydalanish uchun ruxsat so'rovi opsiyasini o'rnatadi. ACL guruhiga murojaat qilish uchun ruxsat-rekursiya kabi boshqa variantdan ham foydalanishingiz mumkin. Rekursiya yoqilgan bo'lsa, ruxsat-rekursiya rekursiv xizmatlardan foydalanishi mumkin bo'lgan mijozlar ro'yxatini belgilaydi.

    Biroq, ruxsat berish-rekursiya opsiyasi o'rnatilmagan bo'lsa, Bind ruxsat berish-so'rov-kesh ro'yxatiga, keyin ruxsat-so'rovlar ro'yxatiga va nihoyat standart mahalliy tarmoqlar va localhost ro'yxatlariga qaytadi. Biz faqat keshlash serverini o'rnatayotganimiz sababli (uning o'z zonalari yo'q va so'rovlarni yo'naltirmaydi), ruxsat etilgan so'rovlar ro'yxati har doim faqat rekursiya uchun amal qiladi. Bu ACLni aniqlashning eng umumiy usuli.

    Faylni saqlang va yoping.

    Bu keshlash DNS server konfiguratsiya fayliga qo'shilishi kerak bo'lgan barcha sozlamalar.

    Eslatma Javob: Agar siz faqat ushbu turdagi DNS dan foydalanmoqchi bo'lsangiz, konfiguratsiyalarni tekshirishni davom eting, xizmatni qayta ishga tushiring va mijozingizni sozlang.

    3-qadam: Yo'naltiruvchi DNS serverini sozlash

    Agar sizning infratuzilmangiz DNS-serverni yo'naltirish uchun mosroq bo'lsa, siz sozlamalarni biroz o'zgartirishingiz mumkin.

    Ayni paytda nomlangan.conf.options fayli quyidagicha ko'rinadi:

    acl goodclients(
    192.0.2.0/24;
    localhost;
    mahalliy tarmoqlar;
    };
    variantlari (
    "/var/cache/bind" katalogi;
    rekursiya ha;
    ruxsat-so'rov ( yaxshi mijozlar; );
    dnssec-validatsiya avtomatik;
    auth-nxdomain raqami; # RFC1035 ga mos keladi
    v6-da tinglash (har qanday; );
    };

    Siz DNS serverini mijozlarning ma'lum bir ro'yxati bilan cheklash uchun bir xil ACL dan foydalanishingiz mumkin. Biroq, bu server endi rekursiv so'rovlarni bajarishga harakat qilmasligi uchun konfiguratsiyani biroz o'zgartirishni talab qiladi.

    Rekursiyani yo'q deb o'zgartirmang. Yo'naltiruvchi server rekursiv xizmatlarni qo'llab-quvvatlaydi. Qayta yo'naltirish serverini o'rnatish uchun siz so'rovlarni qayta yo'naltiradigan keshlash serverlari ro'yxatini yaratishingiz kerak.

    Bu options() blokida amalga oshiriladi. Birinchidan, unda siz so'rovlarni yo'naltirmoqchi bo'lgan rekursiv nom serverlarining IP manzillarini saqlaydigan yangi ekspeditorlar blokini yaratishingiz kerak. Bunday holda, bular Google DNS serverlari bo'ladi (8.8.8.8 va 8.8.4.4):

    . . .
    variantlari (
    "/var/cache/bind" katalogi;
    rekursiya ha;
    ruxsat-so'rov ( yaxshi mijozlar; );
    ekspeditorlar (

    8.8.8.8;

    8.8.4.4;

    };
    . . .

    Olingan konfiguratsiya quyidagicha ko'rinadi:

    acl goodclients(
    192.0.2.0/24;
    localhost;
    mahalliy tarmoqlar;
    };
    variantlari (
    "/var/cache/bind" katalogi;
    rekursiya ha;
    ruxsat-so'rov ( yaxshi mijozlar; );
    ekspeditorlar (
    8.8.8.8;
    8.8.4.4;
    };
    faqat oldinga;
    dnssec-validatsiya avtomatik;
    auth-nxdomain raqami; # RFC1035 ga mos keladi
    v6-da tinglash (har qanday; );
    };

    Oxirgi o'zgarish dnssec parametriga tegishli. Joriy konfiguratsiya bilan va so'rovlar qayta yo'naltiriladigan DNS serverlarining sozlamalariga qarab, jurnallarda quyidagi xatolar paydo bo'lishi mumkin:

    25-iyun 15:03:29 kesh nomi: “in-addr.arpa/DS/IN”ni hal qilishda xatolik (DS serverlarini ta’qib qilish): 8.8.8.8#53
    25-iyun 15:03:29 kesh nomi: “111.111.111.111.in-addr.arpa/PTR/IN”ni hal qilishda xatolik (yaroqli DS yo‘q): 8.8.4.4#53

    Ularning oldini olish uchun siz dnssec-validation parametrining qiymatini ha ga o'zgartirishingiz va dnssec-ni aniq yoqishingiz kerak.

    . . .
    faqat oldinga;
    dnssec-yoqish ha;
    dnssec-validatsiyasi ha;
    auth-nxdomain raqami; # RFC1035 ga mos keladi
    . . .

    Faylni saqlang va yoping. Yo‘naltiruvchi DNS serverni sozlash tugallandi.

    4-qadam: Sozlamalarni tekshirish va ulanishni qayta ishga tushirish

    Endi biz sozlamalar kutilganidek ishlashiga ishonch hosil qilishimiz kerak.

    Konfiguratsiya fayllari sintaksisini tekshirish uchun quyidagilarni yozing:

    sudo nomli-checkconf

    Agar fayllarda xatolik bo'lmasa, buyruq satri hech qanday chiqishni ko'rsatmaydi.

    Agar siz xato xabarini olsangiz, uni tuzating va qayta tekshiring.

    Keyin sozlamalarni yangilash uchun Bog'lash dasturini qayta ishga tushirishingiz mumkin.

    sudo xizmati bind9 qayta ishga tushiriladi

    Server jurnallarini tekshirishingiz kerak bo'lgandan keyin. Serverda buyruqni ishga tushiring:

    sudo tail -f /var/log/syslog

    Endi yangi terminalni oching va mijoz mashinasini sozlashni boshlang.

    5: Mijozni sozlash

    Mijoz mashinasiga kiring. Mijoz sozlangan DNS serverining ACL guruhida ro'yxatga olinganligini tekshiring. Aks holda, DNS serveri ushbu mijozning so'rovlariga xizmat ko'rsatishni rad etadi.

    Serverni nom serveriga yo'naltirish uchun /etc/resolv.conf faylini tahrirlang.

    Bu erda kiritilgan o'zgarishlar faqat qayta ishga tushirilgunga qadar davom etadi, bu sinov uchun juda yaxshi. Sinovni sozlash natijalaridan qoniqsangiz, ushbu sozlamalarni doimiy qilishingiz mumkin.

    Sudo bilan faylni matn muharririda oching:

    sudo nano /etc/resolv.conf

    Faylda so'rovlarni hal qilish uchun foydalaniladigan DNS serverlari ro'yxati bo'lishi kerak. Buning uchun nom serveri direktivasidan foydalaning. Barcha joriy yozuvlarni sharhlang va DNS serveringizga ishora qiluvchi qator nom serverini qo'shing:

    nom serveri 192.0.2.1
    #nameserver 8.8.4.4
    #nameserver 8.8.8.8
    # nom serveri 209.244.0.3

    Faylni saqlang va yoping.

    Endi siz uning to'g'ri hal qilinganiga ishonch hosil qilish uchun test so'rovini yuborishingiz mumkin.

    Buning uchun ping dan foydalanishingiz mumkin:

    ping -c 1
    PING google.com (173.194.33.1) 56(84) bayt ma'lumotlar.
    sea09s01-in-f1.1e100.net (173.194.33.1) dan 64 bayt: icmp_seq=1 ttl=55 vaqt=63,8 ms
    --- ping statistikasi ---
    1 paket uzatildi, 1 ta qabul qilindi, 0% paket yo'qolishi, vaqt 0ms
    rtt min/avg/max/mdev = 63,807/63,807/63,807/0,000ms

    Har yili Internet tezligi - ham oxirgi mil, ham asosiy kanallar - yuqori bo'lib bormoqda. Faqat bitta narsa o'zgarmasdir - kechikish allaqachon jismoniy cheklovlarga duch keldi: optik toladagi yorug'lik tezligi sekundiga 200 ming kilometrni tashkil qiladi va shunga mos ravishda ~ 150 ms dan tezroq, Atlantika okeani bo'ylab serverdan javob bera olmaydi. yaqin kelajakda qabul qilinishi mumkin (garchi, albatta, havo yadroli optik tola yoki radiorele aloqasi kabi burmalar mavjud, ammo bu oddiy odamlar uchun qiyin).

    Biz, masalan, Rossiyadan AQShda joylashgan veb-saytni ochishga harakat qilsak (uning NS serveri bir joyda bo'lishi mumkin) va domen provayderingizning DNS keshida topilmasa, biz uzoq kutishimiz kerak bo'ladi. hatto gigabitli Internetda ham, ehtimol bir soniya: biz okean bo'ylab o'tayotganimizda, biz domenning NS serverlarining nomlarini olamiz, ularning IP-ni hal qilamiz, biz haqiqiy DNS so'rovini yuboramiz va qabul qilamiz ...

    Bir necha yil oldin Google o'zining ommaviy DNS serverlarini ishga tushirdi va ularga o'tishni rag'batlantirish uchun ular NameBench yordam dasturini ishlab chiqdi, bu sizning sörfing tarixingizda DNS testlarini o'tkazadi va Google DNS provayderingizning DNS serveriga qaraganda qanchalik tezroq ekanligini ko'rsatadi.

    Lekin men o'zimning DNS-serverimni Google Public DNS-dan tezroq yaratishga muvaffaq bo'ldim va bu qisqa eslatmada men natijalarni baham ko'rmoqchiman.

    PDNSD

    pdnsd- DNS proksi-serverini keshlash. DNS so'rovlarini oddiy keshlashdan tashqari (minimal TTL-ni qattiq kodlash qobiliyati bilan - bu juda yomon Internetda kerak bo'lishi mumkin), u bir vaqtning o'zida bir nechta "ota" DNS serverlariga so'rov yuborishi va mijozga birinchi bo'lib berishi mumkin. javob qaytardi.

    Aynan parallel so'rovning kiritilishi bizga tezlikda asosiy ustunlikni beradi., chunki har qanday provayderning keshida natijani topganda, biz natijani juda tez olamiz va agar birinchi provayder keshda javob bo'lmasa, to'liq va sekin rezolyutsiyani kutmaymiz.

    Ubuntu-da o'rnatilgan - banal apt-get.

    Konfiguratsiyada bir nechta narsa

    global ( perm_cache=10240; //Keshning maksimal hajmi kilobaytlarda. //Sukut boʻyicha u 1024 edi, barcha yozuvlar mos kelmadi. cache_dir="/var/cache/pdnsd"; [...] min_ttl=60m; / / Yozuvni keshda saqlash uchun minimal vaqt. // TTL 60 daqiqadan kamroq vaqt ichida kelgan bo'lsa ham, u 60 daqiqa bo'ladi max_ttl=1w; // Yozuvni keshda saqlash uchun maksimal vaqt neg_ttl=5m; // Salbiy javoblarni keshlash vaqti (ya'ni, domen topilmasa) [..] par_queries=3; //Bir vaqtning o'zida so'ralgan "ota-ona" DNS serverlar soni ) server (yorliq = "asosiy"; ip = 85.21.192.5 //U erda ular 4 ta serverdir, agar birinchi 3 tasi javob bermasa, so'rov 4-ga yuboriladi, 213.234.192.7 //Birinchi 2 ta server provayderingizning serveri va qo'shnisi 8.8.4.4 //Bu Google Public DNS - ular kamdan-kam hollarda hamma narsani keshlashdi va ular tezda hal qilinadi, 8.8.8.8; [..] )

    Asosan, keshlash kamroq tajovuzkor bo'lishi mumkin (masalan, min_ttl=1m), lekin operatsiya yilida hech qanday muammo bo'lmagan. Muammolar bo'lsa - agar xohlasangiz, keshdan bitta yozuvni o'chirishingiz mumkin:
    sudo pdnsd-ctl rekord 3.14.by o'chirish yoki barchasini birdaniga:
    sudo pdnsd-ctl bo'sh kesh

    NameBench-da test natijalari



    Ko'ramizki, so'rovlarning 50% uchun biz 10 ms dan kamroq vaqt ichida javob olamiz, 85% uchun Google Public DNS-dan tezroq va keyin natijalar tabiiy ravishda Google bilan mos keladi.

    Sinov natijalariga ko'ra, NameBench bizga xursandchilik bilan aytadi:

    8.8.8.8 SYS-192.167.0.98 ning sekinroq nusxasi 8.8.4.4 SYS-192.167.0.98 ning sekinroq nusxasi

    Shunday qilib, parallel so'rovlarga ega aqlli keshlash DNS proksi-serveri hatto 100 megabitli Internetni tezlashtirishga imkon beradi. Va yuqori kechikish va paketlarni yo'qotish bilan sekin (radio) aloqalar uchun farq osmon va yer o'rtasidagi kabi bo'lishi mumkin.