Windows.  Viruslar.  Noutbuklar.  Internet.  idora.  Utilitalar.  Haydovchilar

DNS-ning maqsadi odamlar tomonidan osongina eslab qolingan domen nomlarini kompyuterlar tushunadigan IP manzillariga tarjima qilishdir, bu jarayon nomlarni aniqlash deb ataladi. O'zimizning keshlash DNS serverimizni o'rnatish bizga nima beradi? Bu saytlarning javobini biroz tezlashtiradi + Linux NetBios nomlarini qabul qilishda unchalik yaxshi emas va ba'zida uning ichida kompyuter yoki printerlarni topishga to'g'ri keladi. mahalliy tarmoq, lekin men buni nomi bilan qilishni xohlayman.

IP manzillarini eslab qolish qulay emas, lekin doimiy ravishda DHCP server jurnaliga ko'tarilish ham bizning usulimiz emas. Bunday holatlar uchun mahalliy tarmoqda DNS kerak bo'ladi. Bind9 paketini o'rnatishning o'zi qiyin emas, vilkalar odatda konfiguratsiya bosqichida paydo bo'ladi, chunki tizimning oson o'qiladigan konfiguratsiya fayllaridan so'ng, tushunarsiz sintaksis odamga tushadi, darvoqe, C dasturlash tiliga juda o'xshash. server mahalliy tarmoq ichida ishlaydi, keyin uni chroot muhitiga o'tkazish mantiqiy emas va butun sozlash juda oz vaqtni oladi. Buning ustiga lirik qism tugallanishi mumkin, biz o'rnatish va sozlashga o'tamiz.

Bind9 DNS serverini o'rnating:

# apt - bind9 ni o'rnating

Tugallangan, yuklab olingan va o'rnatilgandan so'ng, biz uning konfiguratsiya faylini tahrirlashimiz kerak:

# vim / etc / bog'lash / nomli. konf. variantlari

Biz bo'limni topamiz, u eng boshida konfiguratsiya fayli undan boshqa hech narsa yo'q ...

variantlar ("/var/cache/bind" katalogi; // Agar siz va siz xohlagan nom serverlari o'rtasida xavfsizlik devori mavjud bo'lsa// gaplashish uchun bir nechta ruxsat berish uchun xavfsizlik devorini tuzatishingiz kerak bo'lishi mumkin// gapirish uchun portlar. http://www.kb.cert.org/vuls/id/800113 ga qarang// Agar provayderingiz barqaror ishlash uchun bir yoki bir nechta IP manzillarni taqdim etgan bo'lsa// nom serverlari, ehtimol siz ularni ekspeditor sifatida ishlatmoqchisiz.// Quyidagi blokni izohdan olib tashlang, va kiriting manzillar almashtiriladi// barcha 0 ning to'ldiruvchisi. // ekspeditorlar ( // 0.0.0.0; // ); auth - nxdomain raqami ; # RFC1035 ga mos tinglash - v6 (har qanday ; ); );

Ekspeditorlar bo'limi, agar o'z ma'lumotlar bazasida bo'lmasa, nomni aniqlash uchun DNS so'rovi qayerga yuborilishi uchun javobgardir. So'nggi paytlarda men umuman xursand emasman, provayderdagi ushbu serverlarning ishi uchinchi tomon serverlariga ulanishi mumkin, masalan, Google serverlari, IP 8.8 ni eslab qolish juda oson.

Biz bo'limni tahrirlaymiz, avval siz undan sharhlarni olib tashlashingiz va uchinchi tomon DNS-ni qo'shishingiz kerak, agar bir nechta serverlarni qo'shish kerak bo'lsa, masalan, Google serveri sizning so'rovlaringizga bardosh bermasa va uzilishlar bo'lsa :), keyin Boshqa serverlarning IP-ni ustunga yozish mumkin, keyin siz ko'proq chidamlilikka erishishingiz mumkin.

ekspeditorlar (8.8.8.8; 193.58.251.251; //Rus DNS xizmati -SkyDNS};

Ushbu bo'limda faylda ko'rsatgan server IP-ni kiritish yaxshiroqdir /etc/resolv.conf yoki bo'limga kiring nom serveri bu IP. Biz o'zgarishlarni saqlaymiz va chiqamiz. Serverni qayta ishga tushiring va tekshiring. Ishga qabul qilish buyruq qatori nslookup mail.ru
Chiqarilishi kerak:

Vakolatli bo'lmagan javob: Ism: pochta. uz Manzillar: 94.100.191.202

Bu shuni ko'rsatadiki, bizning serverimiz ushbu zonaga (mail.ru) xizmat ko'rsatishda asosiy server emas, lekin so'rovlar keshga qo'shilgan!
Endi biz tarmog'imiz uchun DNS zonasini yaratishimiz kerak, shunda mashinalar turli xil tarmoq xizmatlarini topishlari mumkin - masalan, tarmoq printerlari bo'lishi mumkin, ular mustaqil yoki boshqa ish stantsiyalarida bo'lishi mumkin.
Bizning zonamizni orgname deb atash mumkin - ya'ni. Tashkilot nomi.
Avvalo, biz zona yaratamiz, buning uchun biz tahrirlaymiz nomli.conf.local

# vim / etc / bog'lash / nomli. konf. mahalliy

va unga quyidagilarni qo'shing:

zona "orgname" (tur master ; fayl "/etc/bind/db.orgname"; );

Saqlash va chiqish
Endi biz zona konfiguratsiya faylini yaratishimiz kerak

# vim / etc / bog'lash / db. tashkilot nomi

va unga quyidagilarni qo'ying:
(Iltimos, konfiguratsiya faylining sintaksisiga e'tibor bering, hatto nuqtalar ham muhim)

@ IN SOA tashkilot nomi. ildiz. tashkilot nomi. (20101015 4 soat; yangilanish vaqti - 4 soat 1 soat; har soatda 1 soat takrorlang; ma'lumotni qancha vaqt saqlash kerak - 1 hafta 1 kun); TTL (yashash vaqti) yozuvlari - 1 kun @ IN NS orgname . ; nom server nomi @ IN A 192.168.10.1; A - rekord - ushbu zonaga xizmat ko'rsatadigan DNS serverimizning IP-manzili, @ bu ildiz zonasi ekanligini anglatadi. * IN CNAME @ printer IN A 192.168.10.25; 192.168.10.25 manzilida joylashgan tarmoq printeri uchun DNS yozuvini yaratishingiz mumkin.

Endi, yangisini qo'shganda tarmoq qurilmasi, siz 2 narsani qilishingiz kerak:
1) IP-manzilni zaxiralash DHCP serveri, buni qanday qilish kerak, siz maqolada o'qishingiz mumkin - DHCP serverini sozlash
2) yaratish DNS zonasi ushbu IP uchun qurilma nomi IN A XXX.XXX.XXX.XXX. Bu erda: qurilma nomi - qurilmaning tarmoq nomi; XXX.XXX.XXX.XXX - bu DHCP serverida saqlangan uning IP manzili.

endi resolv.conf faylini tahrirlashimiz kerak

# vim / etc / resolv. konf

va u yerga kiring:

nom serveri 127.0.0.1

U erda bo'lgan hamma narsani # qo'yish orqali izohlash mumkin edi
server qayta ishga tushadi

# qayta ishga tushirish

Bu server hamma narsani o'z ma'lumotlar bazasida izlashi uchun amalga oshiriladi va shundan keyingina BIND so'rovlarni IP manzili direktivada kiritilgan 8.8.8.8 serveriga yo'naltiradi. ekspeditorlar.
Endi u ishlayotganligini tekshirishingiz mumkin:
Agar test Windows ostida amalga oshirilsa:

ping qurilma nomi. tashkilot nomi

Agar biz Linux ostida sinab ko'rsak:

ping qurilma nomi. tashkilot nomi - c 4

Pinglar XXX.XXX.XXX.XXX o‘rniga siz ko‘rsatgan IP manziliga o‘tishi kerak

Buyruq yordamida so'rovlarni qayta ishlash tezligini ham tekshirishingiz mumkin qazish

# dig @127.0.0.1 tut.by ;<<>> DiG 9.9.5-9+deb8u6-Debian<<>> @127.0.0.1 tut.by ; (1 ta server topildi) ;; global variantlar: +cmd ;; javob oldi: ;; ->>SALOV<<- opcode: QUERY, status: NOERROR, id: 63893 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tut.by. IN A ;; ANSWER SECTION: tut.by. 103 IN A 178.172.160.5 tut.by. 103 IN A 178.172.160.4 tut.by. 103 IN A 178.172.160.2 tut.by. 103 IN A 178.172.160.3 ;; AUTHORITY SECTION: . 6029 IN NS i.root-servers.net. . 6029 IN NS b.root-servers.net. . 6029 IN NS m.root-servers.net. . 6029 IN NS k.root-servers.net. . 6029 IN NS e.root-servers.net. . 6029 IN NS d.root-servers.net. . 6029 IN NS j.root-servers.net. . 6029 IN NS g.root-servers.net. . 6029 IN NS l.root-servers.net. . 6029 IN NS f.root-servers.net. . 6029 IN NS h.root-servers.net. . 6029 IN NS a.root-servers.net. . 6029 IN NS c.root-servers.net. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Mar 22 16:46:24 MSK 2016 ;; MSG SIZE rcvd: 310

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. Keyinchalik 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'rovlarni keshdan xizmat qilish 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 avval keshlash DNS serverini sozlash kerak.

2-qadam: keshlash DNS serverini sozlang

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

Bind 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

Ushbu 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 qurbonning serveriga juda ko'p ma'lumotlarni qaytaradi, bu esa tajovuzkorning mavjud tarmoqli kengligini oshiradi.

Ommaviy rekursiv DNS serverini 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 yaxshi mijozlar deb ataladi).

acl goodclients(
};
variantlari (
. . .

Ushbu blokda ushbu DNS serveriga kirish huquqiga ega bo'lgan IP manzillar yoki tarmoqlarni ro'yxatlang. Server va mijoz /24 quyi tarmog'ida bo'lgani uchun 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;
mahalliy xost;
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 ACLdan foydalanish uchun ruxsat so'rovi opsiyasini o'rnatadi. ACL guruhiga murojaat qilish uchun ruxsat berish-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 tekshirishga o'ting, 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;
mahalliy xost;
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, siz unda yangi ekspeditorlar blokini yaratishingiz kerak, u siz so'rovlarni yo'naltirmoqchi bo'lgan rekursiv nom serverlarining IP manzillarini saqlaydi. 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;
mahalliy xost;
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, paket yo'qolishi 0%, vaqt 0ms
rtt min/avg/max/mdev = 63,807/63,807/63,807/0,000ms

Internetda ko'rishni tezlashtirish uchun Windows operatsion tizimi DNS server javoblarini keshlaydi. DNS-serverdan raqamli qiymat ta'rifiga javob kelgandan so'ng, Windows avtomatik ravishda ushbu manzilni mahalliy xotiraga joylashtiradi. Brauzer URL manzilidan manzil so‘raganda, Windows avval uni do‘konda qidiradi va agar topsa, ISPning DNS serverlariga bormasdan darhol natijani qaytaradi. Mahalliy kesh tezlikni oshiradi va tarmoqli kengligini tejaydi.

Mahalliy DNS keshini tozalash

Agar ma'lumot buzilgan bo'lsa yoki manzilni mahalliy xotirada saqlash vaqtida IP-manzil o'zgartirilsa, brauzer saytni ocholmaydi. Bu juda tez-tez sodir bo'lmaydi. Yaxshiyamki, muammoni darhol hal qilish uchun mahalliy keshni tozalashning bir usuli bor.

Windows-da vosita mavjud ipconfig, qaysi variant bor /flushdns barcha keshlangan yozuvlarni tozalash uchun. Agar siz mahalliy keshni tozalamoqchi bo'lsangiz, buyruq qatori oynasida ( BoshlashDasturlar(Barcha dasturlar) - StandartBuyruqlar qatori) buyruqni kiritishingiz kerak ipconfig /flushdns va Enter tugmasini bosing.

Mahalliy xotiradagi barcha DNS yozuvlarini ko'rish uchun siz opsiyadan foydalanishingiz mumkin /displaydns jamoalar ipconfig. Buning uchun buyruq qatori oynasida buyruqni kiriting ipconfig / ko'rsatilgan va Enter tugmasini bosing. Keshlangan DNS javoblarining barcha yozuvlari oynada paydo bo'ladi.

Kesh vaqtini sozlash

Odatda, Windows manzillarni 86400 soniyadan ko'p bo'lmagan (1 kun) saqlaydi, lekin siz saqlash vaqtini boshqa chegara bilan cheklashingiz mumkin. Buni amalga oshirish uchun ro'yxatga olish kitobi muharririni oching (buyruqning satrida regedit kiriting va Enter tugmasini bosing). Tahrirlovchining chap panelida qattiq diskdagi papkalarga o'xshash ro'yxatga olish kitobi kalitlari daraxti mavjud. Ushbu daraxtda tegishli papkani kengaytirish piktogrammalarini bosish (ortiqcha belgi) yo'lni ochishi kerak HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters, keyin kursorni ushbu daraxtdagi papkaga o'rnating Parametrlar. Ushbu kalit (papka) tarkibi ro'yxatga olish kitobi muharririning o'ng qismida paydo bo'ladi.

Parametrning DWORD qiymati MaxCacheTtl Javoblarni soniyalarda saqlash vaqt chegaralarini belgilaydi. Uni boshqa har qanday narsaga o'zgartirish mumkin. Agar parametr MaxCacheTtl yo'q, bu standart chegara 86400 soniyaga o'rnatilganligini anglatadi. Uni o'zgartirish uchun parametr yarating MaxCacheTtl Kerakli chegaraga teng qiymatga ega DWORD turi. Parametr MaxCacheTtl faqat ijobiy javoblarni saqlash vaqtini cheklaydi, ya'ni domen nomi bo'yicha ip-manzilni aniqlash mumkin bo'lganda.

Agar provayderning DNS serveri salbiy javob qaytarsa ​​(manzilni aniqlay olmadi), u ham mahalliy xotirada saqlanadi. Odatda, bunday javob 15 daqiqa davomida saqlanadi. Bu shuni anglatadiki, agar saytga tashrif buyurish paytida uning IP-manzilini aniqlashning iloji bo'lmasa, sayt shu vaqt ichida mavjud bo'lsa ham, 15 daqiqa ichida tashrif buyurish imkonsiz bo'ladi. Bunga yo'l qo'ymaslik uchun siz salbiy javoblar uchun saqlash vaqtini qisqartirishingiz yoki ularni saqlashni butunlay o'chirib qo'yishingiz kerak. Saqlash vaqtini belgilash uchun siz DWORD parametrini sozlashingiz (yoki etishmayotgan bo'lsa yaratishingiz) kerak MaxNegativeCacheTtl, bu salbiy javoblarni saqlash vaqtini cheklaydi. Ularni saqlashni o'chirish uchun saqlash vaqtini nolga o'rnatish kifoya.

DNS javobini keshlashni vaqtincha o'chirib qo'ying

Mahalliy xotirada manzilni keshlashni vaqtincha o'chirib qo'ymoqchi bo'lsangiz, buyruq satriga buyruqni kiritishingiz kerak net stop dnscache(yoki sc to'xtatish dnscache) va Enter tugmasini bosing. Uni qayta yoqish uchun buyruq satriga buyruqni kiriting net start dnscache(yoki scboshlash dnscache) va Enter tugmasini bosing yoki kompyuterni qayta ishga tushiring.

DNS keshi - bu avvalgi DNS qidiruvlari haqidagi ma'lumotlarni saqlaydigan vaqtinchalik ma'lumotlar bazasi. Boshqacha qilib aytadigan bo'lsak, har safar veb-saytga tashrif buyurganingizda, operatsion tizimingiz va veb-brauzeringiz domen va tegishli IP manzilni yozib oladi. Bu masofaviy DNS serverlariga takroriy so'rovlar qilish zaruratini yo'q qiladi va OS yoki brauzeringizga veb-sayt URL manzillarini tezda hal qilish imkonini beradi.

Biroq, ba'zi holatlarda, masalan, tarmoq muammolarini bartaraf etish yoki DNS-reseptorlarni o'zgartirgandan so'ng, siz DNS keshini tozalashingiz kerak. Bu keshlangan DNS yozuvlarini tozalaydi va yangi sozlangan DNS sozlamalari asosida domenni hal qilish uchun keyingi qidiruvni amalga oshiradi.

Ushbu maqolada DNS keshini turli xil fayllarda tozalash bo'yicha ko'rsatmalar mavjud operatsion tizimlar va veb-brauzerlar.

Windows-da DNS keshini tozalash/o'chirish

DNS keshini tozalash jarayoni Windowsning barcha versiyalari uchun bir xil. Administrator huquqlari bilan buyruq satrini ochishingiz va ipconfig /flushdns-ni ishga tushirishingiz kerak.

Windows 10 va Windows 8

Windows 10 va 8 da DNS keshini tozalash uchun quyidagi amallarni bajaring:

  1. Windows qidiruv satriga cmd kiriting.
  2. ipconfig / flushdns

    Windows 7

    Windows 7 da DNS keshini tozalash uchun quyidagi amallarni bajaring:

    1. Boshlash tugmasini bosing.
    2. Boshlash menyusidagi qidiruv matn maydoniga cmd kiriting.
    3. Buyruqlar satrini o'ng tugmasini bosing va "Administrator sifatida ishga tushirish" -ni tanlang. Bu buyruq satri oynasini ochadi.
    4. Buyruqning satriga quyidagi qatorni kiriting va Enter tugmasini bosing:

      ipconfig / flushdns

      Muvaffaqiyatli bo'lsa, tizim quyidagi xabarni qaytaradi:

      Windows IP konfiguratsiyasi DNS resolver keshini muvaffaqiyatli tozaladi.

    Linuxda DNS keshini tozalash/o'chirish

    Systemd-Resolved, DNSMasq yoki Nscd kabi keshlash xizmati o'rnatilmasa va ishlamasa, Linuxda operatsion tizim darajasida DNS keshlash mavjud emas. DNS keshini tozalash jarayoni siz foydalanayotgan tarqatish va keshlash xizmatiga qarab farq qiladi.

    Tizimli hal qilindi

    Ko'pgina zamonaviy Linux distributivlari, masalan, DNS yozuvlarini keshlash uchun tizim yoqilgan xizmatdan foydalanadi.

    Xizmat ishlayotganligini bilish uchun quyidagilarni bajaring:

    sudo systemctl-faol systemd-resolved.service

    Agar xizmat ishlayotgan bo'lsa, buyruq faol chop etiladi, aks holda siz faol emasligini ko'rasiz.

    Systemd Resolved DNS keshini tozalash uchun siz quyidagi buyruqni kiritishingiz kerak.

    sudo systemd-resolve --fush-keshlar

    Muvaffaqiyatli bo'lsa, buyruq hech qanday xabarni qaytarmaydi.

    Dnsmasq

    Dnsmasq engil DHCP va DNS nomlarini keshlash serveridir.

    Agar tizimingiz DNSMasq-dan kesh-server sifatida foydalanayotgan bo'lsa, DNS keshini tozalash uchun Dnsmasq xizmatini qayta ishga tushirishingiz kerak:

    sudo systemctl dnsmasq.serviceni qayta ishga tushiring

    sudo xizmati dnsmasq qayta ishga tushiriladi

    nscd

    Nscd keshlash demonidir va RedHat-ga asoslangan ko'pgina tarqatishlar uchun afzal qilingan DNS keshlash tizimidir.

    Agar tizimingiz Nscd dan foydalanayotgan bo'lsa, DNS keshini tozalash uchun Nscd xizmatini qayta ishga tushirishingiz kerak:

    sudo systemctl nscd.service ni qayta ishga tushiring

    sudo xizmati nscd-ni qayta ishga tushiring

    MacOS-da DNS keshini tozalash/o'chirish

    MacOS-da keshni tozalash buyrug'i siz foydalanayotgan versiyaga qarab biroz farq qiladi. Buyruq tizim administratori huquqlariga ega foydalanuvchi sifatida ishga tushirilishi kerak (sudo foydalanuvchisi).

    MacOS-da DNS keshini tozalash uchun quyidagi amallarni bajaring:

    1. Finder-ni oching.
    2. Ilovalar > Utilitalar > Terminal-ga o'ting. Bu terminal oynasini ochadi.
    3. Buyruqning satriga quyidagi qatorni kiriting va Enter tugmasini bosing:

      sudo killall -HUP mDNSResponder

      Sudo parolingizni kiriting va Enter tugmasini yana bir marta bosing. Muvaffaqiyatli bo'lsa, tizim hech qanday xabarni qaytarmaydi.

    Ko'proq ma'lumot uchun dastlabki versiyalari Keshni tozalash uchun MacOS buyrug'i boshqacha.

    MacOS 10.11 va 10.9 versiyalari

    sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

    macOS versiyasi 10.10

    sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcache

    MacOS 10.6 va 10.5 versiyalari

    sudo dscacheutil -flushcache

    Brauzerning DNS keshini tozalash/o'chirish

    Ko'pgina zamonaviy veb-brauzerlarda o'rnatilgan DNS mijozi mavjud bo'lib, u har safar veb-saytga tashrif buyurganingizda takroriy so'rovlarni oldini oladi.

    Gugl xrom

    DNS keshini tozalash uchun Gugl xrom, quyidagilarni bajaring:

    1. Yangi yorliqni oching va kiriting manzil satri Chrome: chrome://net-internals/#dns.
    2. Xost keshini tozalash tugmasini bosing.

    Agar bu ishlamasa, kesh va cookie-fayllarni tozalashga harakat qiling.

    1. Brauzer ma'lumotlarini tozalash dialog oynasini ochish uchun CTRL + Shift + Del tugmalarini bosing.
    2. Vaqt oralig'ini tanlang. Hamma narsani o'chirish uchun "Har doim" ni tanlang.
    3. katakchalarni belgilang " Cookie-fayllar va boshqa sayt ma'lumotlari" va "Keshlangan tasvirlar va fayllar".
    4. Ma'lumotlarni tozalash tugmasini bosing.

    Bu usul barcha Chrome brauzerlari, jumladan Chromium, Vivaldi va Opera uchun ishlashi kerak.

    firefox

    Firefox DNS keshini tozalash uchun quyidagi amallarni bajaring:

    1. Firefox menyusini ochish uchun yuqori o'ng burchakdagi gamburger belgisini ☰ bosing:
    2. ⚙ Variantlar (Sozlamalar) havolasini bosing.
    3. Chapdagi "Maxfiylik va xavfsizlik" yoki "Maxfiylik" yorlig'ini bosing.
    4. "Tarix" bo'limiga pastga aylantiring va "Tarixni tozalash ..." tugmasini bosing.
    5. Tozalash uchun vaqt oralig'ini tanlang. Hamma narsani o'chirish uchun "Hammasi" ni tanlang.
    6. Barcha maydonlarni tanlang va Endi tozalash tugmasini bosing.

    Agar bu siz uchun ishlamasa, keyingi usulni sinab ko'ring va DNS keshini vaqtincha o'chirib qo'ying.

    1. Yangi yorliqni oching va Firefox manzil satriga about:config yozing.
    2. Network.dnsCacheExpiration manzilini toping, vaqtinchalik qiymatni 0 ga o'rnating va OK tugmasini bosing. Shundan so'ng, standart qiymatni o'zgartiring va OK tugmasini bosing.
    3. Network.dnsCacheEntries manzilini toping, vaqtinchalik qiymatni 0 ga o'rnating va OK tugmasini bosing. Shundan so'ng, standart qiymatni o'zgartiring va OK tugmasini bosing.

    Xulosa

    Operatsionda DNS keshini tozalash yoki tozalashni o'rgandingizmi? Windows tizimlari, Linux va macOS.

    Linux va MacOS DNS so'rovi va DNS muammolarini bartaraf etish uchun dig buyrug'idan foydalanishi mumkin.

    Agar sizda biron bir savol yoki fikringiz bo'lsa, sharhlaringizni qoldiring.

artem

30.10.2013

10379

Chan_sip.so-ni osib qo'yish muammosini hal qilish uchun keshlash DNS serverini o'rnatish.

Asterisk SIP moduli DNS nomlarini sinxron tarzda hal qiladi, agar DNS server biron-bir sababga ko'ra javob berishni to'xtatsa, SIP modul kodi DNS so'rovi muddati tugashidan oldin ishlashni to'xtatadi. Buning natijasi SIP orqali ulangan barcha mijozlar va provayderlarning ishlamay qolishi, mijozlar ro'yxatdan o'tishlari va qo'ng'iroq qilishlari mumkin emas.
Muammoni hal qilish usullari:
1. SIP tengdoshlarining "xost" parametrida va SIP ro'yxatdan o'tish satrlarida DNS nomlarini ko'rsatmang, faqat IP manzillarini ko'rsating (muammolar ehtimolini butunlay yo'q qilishga imkon beradi, lekin ba'zi provayderlarda bu mumkin emas).
2. Asterisk xostida keshlash DNS serverini sozlang.

Ushbu maqolada BIND DNS serveri yordamida muammoni qanday hal qilish kerakligi tasvirlangan (ko'rsatma CentOS 5-6 uchun to'g'ri)

BIND DNS serverini sozlash

1. BIND-ni o'rnating, sozlamalar shablonlarini va standart zona fayllarini nusxalash

yum install bind bind-chroot
cp /etc/localtime /var/named/chroot/etc

cp /usr/share/doc/bind-*/sample/etc/named.root.hints /var/named/chroot/etc
cp /usr/share/doc/bind-*/sample/etc/named.rfc1912.zones /var/named/chroot/etc
cp /usr/share/doc/bind-*/sample/etc/named.conf /var/named/chroot/etc

cp /usr/share/bind-*/sample/var/named/localdomain.zone /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/localhost.zone /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.broadcast /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.ip6.local /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.local /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.root /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.zero /var/named/chroot/var/named

2. BIND konfiguratsiyasini tahrirlang /var/named/chroot/etc/named.conf

Konfiguratsiyaga quyidagi o'zgartirishlarni kiritishingiz kerak:

> Variantlar bo'limiga qator qo'shing:

DNS serverlaringizni belgilashingiz mumkin. Agar siz ushbu qatorni ko'rsatmasangiz, BIND ildiz DNS serverlarini so'raydi, bu sekinroq

> "localhost_resolver" ko'rish zonasi uchun rekursiv so'rovlarga ruxsat bering ("rekursiya yo'q" ni "rekursiya ha" bilan almashtiring, agar bu bajarilmasa, xostning o'zi DNS serveri orqali rekursiv so'rovlarni amalga oshira olmaydi). Boshqa zonalar uchun rekursiv so'rovlar va kesh so'rovlarini o'chirib qo'yish mumkin

> Ichki zonalar va DDNS o'rnatish uchun mas'ul bo'limlarni izohlang yoki o'chiring, chunki ular shunchaki bo'lmaydi

Olingan konfiguratsiya ro'yxati:

//
// Namuna nomli.conf BIND DNS serverining "nomli" konfiguratsiya fayli
// Red Hat BIND tarqatish uchun.
// Tafsilotlar uchun BIND ma'murining qo'llanmasiga (ARM) qarang:
// file:///usr/share/doc/bind-*/arm/Bv9ARM.html
// Shuningdek, BIND konfiguratsion interfeysiga qarang: /usr/bin/system-config-bind va
// uning qo'llanmasi.
variantlari
{
// Ushbu variantlardan ehtiyotkorlik bilan foydalanish kerak, chunki ular portni o'chirib qo'yadi
// randomizatsiya
// so'rov manbai porti 53;
// so'rov manbai-v6 port 53;

// Ma'lumotlar/katalogga yozishga ruxsat berilgan fayllarni qo'ying:
"/var/named" katalogi; // standart
dump-fayl "data/cache_dump.db";
statistik fayl "data/named_stats.txt";
memstatistics-fayl “data/named_mem_stats.txt”;
maksimal kesh hajmi 2097152;

ekspeditorlar (8.8.8.8; 8.8.4.4; );
};
// qayd qilish
//{
/* Agar nosozliklarni tuzatishni yoqmoqchi bo'lsangiz, masalan. "rndc trace" buyrug'idan foydalanib,
* nomli "named.run" faylini $katalogiga (/var/named) yozishga harakat qiladi.
* Odatiy bo'lib, SELinux siyosati nomli /var/named katalogini o'zgartirishga ruxsat bermaydi,
* shuning uchun standart disk raskadrovka jurnali faylini data/ ga qo'ying:
*/
// kanalni default_debug(
// fayl "data/named.run";
// jiddiylik dinamikasi;
// };
//};
// Barcha BIND 9 zonalari turli zonalarga xizmat ko'rsatishga imkon beruvchi "ko'rinishda"
// har xil turdagi mijoz manzillariga va guruhlar uchun o'rnatiladigan variantlarga
// zonalar.
// Odatiy bo'lib, agar named.conf "ko'rish" bandlari bo'lmasa, barcha zonalar ichida
// barcha mijozlarga mos keladigan "standart" ko'rinish.
// Agar name.conf har qanday "view" bandini o'z ichiga olgan bo'lsa, u holda barcha zonalar ko'rinishda bo'lishi KERAK;
// shuning uchun qayta tuzilishga to'g'ri kelmaslik uchun ko'rinishlardan foydalanishni boshlash tavsiya etiladi
// kelajakda konfiguratsiya fayllaringiz.
"localhost_resolver" ni ko'rish
{
/* Ushbu ko'rinish mahalliy xostni hal qiluvchi sifatida nomlanadi (faqat nom serverini keshlash).
* Agar siz xohlagan narsa faqat keshlash uchun nom serveri bo'lsa, unda siz faqat ushbu ko'rinishni belgilashingiz kerak:
*/
mos keladigan mijozlar (localhost; );
mos keladigan manzillar (localhost; );
rekursiya ha;

/* bu barcha localhost uchun ta'riflarni o'z ichiga olgan zonalar
* ismlar va manzillar, RFC1912 da tavsiya etilganidek - bu nomlar bo'lishi kerak
* FAQAT localhost mijozlariga xizmat ko'rsatish mumkin:
*/
"/etc/named.rfc1912.zones" ni o'z ichiga oladi;
};
"ichki" ni ko'rish
{
/* Ushbu ko'rinishda siz faqat "ichki" mijozlarga xizmat qilmoqchi bo'lgan zonalar mavjud
to'g'ridan-to'g'ri ulangan LAN interfeyslari orqali ulanadi - "localnets" .
*/
match-mijozlar (lokalnetlar; );
mos keladigan manzillar (lokal tarmoqlar; );
rekursiya raqami;

So'rov keshiga ruxsat berish (yo'q; );

// barcha ko'rinishlar ildiz ko'rsatmalar zonasini o'z ichiga olishi kerak:
"/etc/named.root.hints" ni o'z ichiga oladi;

// "namemed.rfc1912.zones" ni o'z ichiga oladi;
// siz rfc1912 nomlaringizni mahalliy bo'lmagan mijozlarga xizmat qilmasligingiz kerak.

// Bu sizning "avtoritetli" ichki zonalaringiz va ehtimol
// yuqoridagi "localhost_resolver" ko'rinishiga ham kiritilishi mumkin:

//zonasi "mening.ichki.zonasi" (
// yozuv ustasi;
// "my.internal.zone.db" fayli;
//};
//zonasi “mening.slave.internal.zone” (
// qul turi;
// “slaves/my.slave.internal.zone.db” fayli;
// masters ( /* asosiy nom server IP-larini shu yerga qo'ying */ 127.0.0.1;);
// // tobe zonalarni to'g'ri/katalogga qo'ying, shuning uchun ularni yangilash mumkin
//};
// "my.ddns.internal.zone" zonasi (
// yozuv ustasi;
// ruxsat berish-yangilash (kalit ddns_key; );
// "slaves/my.ddns.internal.zone.db" fayli;
// // dinamik ravishda yangilanadigan zonalarni slaves/katalogga qo'ying, shuning uchun ularni yangilash mumkin
//};
};
//kalit ddns_key
//{
// hmac-md5 algoritmi;
// maxfiy "TSIG kalitlarini yaratish uchun /usr/sbin/dns-keygen dan foydalaning";
//};
"tashqi" ko'rish
{
/* Ushbu ko'rinishda siz faqat "tashqi" mijozlarga xizmat qilmoqchi bo'lgan zonalar mavjud
* to'g'ridan-to'g'ri ulangan LAN interfeysi quyi tarmoqlarida bo'lmagan manzillarga ega bo'lganlar:
*/
mos keladigan mijozlar (har qanday; );
mos keladigan manzillar (har qanday; );

rekursiya raqami;
// tashqi mijozlarga rekursiyani rad etishni xohlaysiz, shuning uchun buni qilmaysiz
// barcha qabul qiluvchilarga bepul DNS xizmatini taqdim eting

ruxsat-so'rov-kesh (yo'q; );
// Keshlangan ma'lumotlar va ildiz ko'rsatmalari uchun qidiruvni o'chirib qo'ying

// barcha ko'rinishlar ildiz ko'rsatmalar zonasini o'z ichiga olishi kerak:
"/etc/named.root.hints" ni o'z ichiga oladi;

// Bu sizning "avtoritetli" tashqi zonalaringiz va ehtimol
// faqat veb va pochta serverlaringiz uchun yozuvlarni o'z ichiga oladi:

// "mening.external.zone" zonasi (
// yozuv ustasi;
// "my.external.zone.db" fayli;
//};
};

3. BIND-ni ishga tushiring, tizim ishga tushganda ishga tushirishni yoqing

start deb nomlangan xizmat

Agar konfiguratsiya sintaksisida xatolik yuzaga kelsa yoki biron bir fayl etishmayotgan bo'lsa, xato xabari konsolda chop etiladi va /var/log/messages jurnaliga yoziladi.

Agar xatolikni sezsangiz, matn qismini tanlang va Ctrl + Enter tugmalarini bosing
UMUSHISH: