Windows дээр кэш хийх DNS серверийг суулгаж байна. Бид өөрсдийн дотоод DNS (PDNSD)-ийг блэкжактай, Google Public DNS-ээс хурдан хийдэг. Микротикийн онлайн курсууд

DNS кэш нь өмнөх DNS хайлтын талаарх мэдээллийг хадгалдаг түр зуурын мэдээллийн сан юм. Өөрөөр хэлбэл, таныг вэб сайтад зочлох бүрт таны үйлдлийн систем болон вэб хөтөч домайн болон холбогдох IP хаягийн бүртгэлийг хөтөлнө. Энэ нь алсын DNS серверт дахин асуулга хийх шаардлагагүй бөгөөд таны үйлдлийн систем эсвэл хөтөч вэб сайтын URL хаягийг хурдан шийдвэрлэх боломжийг олгоно.

Гэсэн хэдий ч, сүлжээний асуудлыг шийдвэрлэх эсвэл DNS шийдэгчийг өөрчилсний дараа зарим тохиолдолд та DNS кэшийг цэвэрлэх хэрэгтэй. Энэ нь кэштэй DNS бичлэгүүдийг цэвэрлэж, шинээр тохируулсан DNS тохиргоон дээр үндэслэн домэйныг шийдвэрлэхийн тулд дараагийн хайлтуудыг хийнэ.

Энэ нийтлэлд янз бүрийн үйлдлийн системүүд болон вэб хөтчүүд дээрх DNS кэшийг цэвэрлэх зааврыг өгдөг.

Windows дээрх DNS кэшийг арилгах/устгах

DNS кэшийг цэвэрлэх үйл явц нь Windows-ийн бүх хувилбарт ижил байна. Та администраторын эрхтэй командын мөрийг нээж, ipconfig / flushdns-г ажиллуулах хэрэгтэй.

Windows 10 болон Windows 8

Windows 10 болон 8 дээрх DNS кэшийг цэвэрлэхийн тулд дараах алхмуудыг дагана уу.

  1. Windows хайлтын талбарт cmd гэж бичнэ үү.
  2. ipconfig / flushdns

    Windows 7

    Windows 7 дээрх DNS кэшийг цэвэрлэхийн тулд дараах алхмуудыг дагана уу.

    1. Эхлэх товчийг дарна уу.
    2. Start цэсний хайлтын талбарт cmd гэж бичнэ үү.
    3. Command Prompt дээр хулганы баруун товчийг дараад Run as administrator-г сонгоно уу. Энэ нь тушаал хүлээх цонхыг нээх болно.
    4. Тушаал хүлээх мөрөнд дараах мөрийг бичээд Enter товчийг дарна уу.

      ipconfig / flushdns

      Хэрэв амжилттай бол систем дараах мессежийг буцаана.

      Windows IP тохиргоо DNS Resolver кэшийг амжилттай устгасан.

    Линукс дээрх DNS кэшийг арилгах/устгах

    Systemd-Resolved, DNSMasq, эсвэл Nscd гэх мэт кэшийн үйлчилгээг суулгаж, ажиллуулаагүй л бол Линукс нь OS түвшний DNS кэшгүй. DNS кэшийг цэвэрлэх үйл явц нь таны ашигладаг түгээлтийн болон кэшийн үйлчилгээнээс хамаарч өөр өөр байдаг.

    Системээр шийдэгдсэн

    Ихэнх орчин үеийн Линуксийн түгээлтүүд, тухайлбал, DNS бичлэгийг кэш болгохын тулд системийг идэвхжүүлсэн үйлчилгээг ашигладаг.

    Үйлчилгээ ажиллаж байгаа эсэхийг мэдэхийн тулд дараахыг ажиллуулна уу:

    sudo systemctl-идэвхтэй systemd-шийдвэрлэсэн.үйлчилгээ

    Хэрэв үйлчилгээ ажиллаж байгаа бол команд идэвхтэй хэвлэгдэх болно, эс тэгвээс та идэвхгүй байхыг харах болно.

    Systemd Resolved DNS кэшийг цэвэрлэхийн тулд та дараах тушаалыг оруулах ёстой.

    sudo systemd-resolve --flush-caches

    Амжилттай бол тушаал нь ямар ч мессеж буцаахгүй.

    Dnsmasq

    Dnsmasq нь хөнгөн жинтэй DHCP болон DNS нэрийн кэш сервер юм.

    Хэрэв таны систем DNSMasq-г кэш сервер болгон ашигладаг бол DNS кэшийг цэвэрлэхийн тулд Dnsmasq үйлчилгээг дахин эхлүүлэх хэрэгтэй:

    sudo systemctl dnsmasq.service-г дахин эхлүүлнэ үү

    sudo үйлчилгээг dnsmasq дахин эхлүүлнэ

    Nscd

    Nscd нь кэшийн дэмон бөгөөд RedHat-д суурилсан ихэнх түгээлтийн DNS кэшийн систем юм.

    Хэрэв таны систем Nscd ашигладаг бол DNS кэшийг цэвэрлэхийн тулд Nscd үйлчилгээг дахин эхлүүлэх шаардлагатай.

    sudo systemctl nscd.service-г дахин эхлүүлнэ үү

    sudo үйлчилгээг nscd дахин эхлүүлэх

    MacOS дээрх DNS кэшийг арилгах/устгах

    MacOS дээрх кэшийг цэвэрлэх команд нь таны ашиглаж буй хувилбараас хамааран арай өөр байна. Энэ тушаалыг системийн администраторын эрхтэй хэрэглэгч (sudo хэрэглэгч) болгон ажиллуулах ёстой.

    MacOS дээрх DNS кэшийг цэвэрлэхийн тулд дараах алхмуудыг дагана уу.

    1. Finder-ийг нээнэ үү.
    2. Програмууд > Хэрэгсэл > Терминал руу очно уу. Энэ нь терминалын цонхыг нээх болно.
    3. Тушаал хүлээх мөрөнд дараах мөрийг бичээд Enter товчийг дарна уу.

      sudo killall -HUP mDNSResponder

      sudo нууц үгээ оруулаад Enter дарна уу. Хэрэв амжилттай бол систем ямар ч мессежийг буцаахгүй.

    MacOS-ийн өмнөх хувилбаруудын хувьд кэшийг цэвэрлэх тушаал өөр байна.

    MacOS-ийн 10.11 ба 10.9 хувилбарууд

    sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

    MacOS хувилбар 10.10

    sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcache

    MacOS-ийн 10.6 ба 10.5 хувилбарууд

    sudo dscacheutil - flushcache

    Хөтөчийн DNS кэшийг арилгах/устгах

    Ихэнх орчин үеийн вэб хөтчүүд нь DNS клиенттэй байдаг бөгөөд энэ нь таныг вэб сайтад зочлох бүрт давхар асуулт асуухаас сэргийлдэг.

    Гүүгл Кром

    Google Chrome-ын DNS кэшийг цэвэрлэхийн тулд дараах алхмуудыг дагана уу.

    1. Шинэ таб нээгээд Chrome хаягийн мөрөнд chrome://net-internals/#dns гэж бичнэ үү.
    2. Clear Host Cache товчийг дарна уу.

    Хэрэв энэ нь танд тохирохгүй бол кэш болон күүкигээ цэвэрлэж үзээрэй.

    1. CTRL+Shift+Del товчийг дарж Clear Browsing Data харилцах цонхыг нээнэ үү.
    2. Цагийн хязгаарыг сонгоно уу. Бүгдийг устгахын тулд "Бүх цаг"-ыг сонгоно уу.
    3. "Күүки болон бусад сайтын өгөгдөл" болон "Кэшлэгдсэн зураг ба файлууд" гэсэн нүдийг шалгана уу.
    4. "Өгөгдлийг арилгах" товчийг дарна уу.

    Энэ арга нь Chromium, Vivaldi, Opera зэрэг Chrome-д суурилсан бүх хөтөч дээр ажиллах ёстой.

    FireFox

    Firefox-ын DNS кэшийг цэвэрлэхийн тулд дараах алхмуудыг дагана уу.

    1. Баруун дээд буланд байгаа гамбургерын дүрс дээр дарж Firefox цэсийг нээнэ үү:
    2. ⚙ Options (Preferences) холбоос дээр дарна уу.
    3. Зүүн талд байгаа "Нууцлал ба аюулгүй байдал" эсвэл "Нууцлал" таб дээр дарна уу.
    4. Түүхийн хэсэг рүү доош гүйлгээд, Түүхийг арилгах... товчийг дарна уу.
    5. Арилгах цагийн хязгаарыг сонгоно уу. Бүгдийг устгахын тулд "Бүгдийг" сонгоно уу.
    6. Бүх талбарыг сонгоод Clear Now дээр дарна уу.

    Хэрэв энэ нь танд тохирохгүй бол дараагийн аргыг туршиж үзээд DNS кэшийг түр идэвхгүй болго.

    1. Шинэ таб нээгээд Firefox хаягийн мөрөнд about:config гэж бичнэ үү.
    2. Network.dnsCacheExpiration-г олоод утгыг 0 болгож түр тохируулаад OK дарна уу. Үүний дараа өгөгдмөл утгыг өөрчлөөд OK дарна уу.
    3. Network.dnsCacheEntries-г олоод утгыг 0 болгож түр тохируулаад OK дарна уу. Үүний дараа өгөгдмөл утгыг өөрчлөөд OK дарна уу.

    Дүгнэлт

    Та Windows, Linux, MacOS үйлдлийн системүүд дээр DNS кэшийг хэрхэн цэвэрлэх, цэвэрлэх талаар сурсан.

    Linux болон MacOS нь dig командыг ашиглан DNS асууж, DNS асуудлыг шийдвэрлэх боломжтой.

    Хэрэв танд асуулт, санал хүсэлт байвал сэтгэгдлээ үлдээгээрэй.

Жил бүр интернетийн хурд - сүүлчийн миль болон гол сувгууд хоёулаа илүү өндөр болж байна. Зөвхөн нэг л зүйл тогтмол байдаг - хоцролт нь физикийн хязгаарт аль хэдийн хүрсэн: оптик шилэн дэх гэрлийн хурд секундэд 200 мянган км бөгөөд үүний дагуу ~150 мс-ээс хурдан, Атлантын далай дахь серверийн хариуг хүлээн авах боломжгүй. ойрын ирээдүй (хэдийгээр мэдээжийн хэрэг агаарын судалтай оптик шилэн эсвэл радио реле холбоо гэх мэт таашаал байдаг, гэхдээ энэ нь зөвхөн мөнх бус хүмүүст бараг боломжгүй юм).

Жишээлбэл, бид Оросоос АНУ-д байрладаг вэб сайт нээхийг оролдох үед (түүний NS серверүүд нь тэнд байж магадгүй), домэйн нь таны үйлчилгээ үзүүлэгчийн DNS кэшээс олдохгүй бол бид удаан хүлээх хэрэгтэй болно. гигабит интернет, магадгүй бүтэн секунд: бид далайг даван туулахдаа домэйны NS серверүүдийн нэрийг хүлээн авч, IP-г нь шийдэж, DNS хүсэлтийг өөрөө илгээж, хүлээн авах болно ...

Хэдэн жилийн өмнө Google олон нийтийн DNS серверүүдээ эхлүүлсэн бөгөөд тэдгээрт шилжих боломжийг дэмжихийн тулд NameBench хэмээх хэрэглүүрийг бүтээсэн бөгөөд энэ нь таны аялсан түүх дээр DNS тестийг ажиллуулж, Google DNS нь таны үйлчилгээ үзүүлэгчийн DNS серверээс хэр хурдан болохыг харуулдаг.

Гэхдээ би Google Public DNS-ээс хурдан ажилладаг өөрийн DNS серверийг хийж чадсан бөгөөд энэ товч тэмдэглэлд би үр дүнг хуваалцахыг хүсч байна.

PDNSD

pdnsd- DNS прокси кэш хийх. DNS хүсэлтийг удалгүй кэш хийхээс гадна (хамгийн бага TTL-ийг хатуу тогтоох чадвартай - энэ нь маш муу интернетэд шаардлагатай байж магадгүй) хэд хэдэн "эцэг эх" DNS серверүүд рүү нэгэн зэрэг хүсэлт илгээж, үйлчлүүлэгчид Эхний хариу өгсөн.

Зэрэгцээ санал хураалтыг оруулсан нь бидэнд хурдны гол давуу талыг өгдөг, учир нь Хэрэв аль нэг үйлчилгээ үзүүлэгчийн кэшээс үр дүн олдвол бид үр дүнг маш хурдан авдаг бөгөөд хэрэв эхний үйлчилгээ үзүүлэгч кэшэд хариулт байхгүй бол бүрэн, удаан шийдлийг хүлээх хэрэггүй.

Ubuntu дээр banal apt-get ашиглан суулгасан.

Тохиргооны хэд хэдэн цэг

global ( perm_cache=10240; //Кэшийн дээд хэмжээ килобайтаар. //Өгөгдмөлөөр энэ нь 1024 байсан, миний бүх бичлэг таарахгүй байна. cache_dir="/var/cache/pdnsd"; [...] min_ttl=60м; // Кэшд бичилт хадгалах хамгийн бага хугацаа //ТЛ нь 60 минутаас бага хугацаанд ирсэн ч max_ttl=1w байна. // кэшэд бичилт хадгалах хамгийн их хугацаа neg_ttl=5m; Сөрөг хариултыг кэш хийх хугацаа (жишээ нь, хэрэв домэйн олдохгүй бол) [..] par_queries=3; //Хэрэв нэгэн зэрэг асуусан "эцэг" DNS серверийн тоо) сервер ( шошго = "үндсэн"; ip = 85.21.192.5 // Тэнд Эдгээр нь 4 сервер, хэрэв эхний 3 нь хариу өгөхгүй бол 4 дэх 213.234.192.7 руу хүсэлт илгээгдэх болно //Эхний 2 сервер нь таны үйлчилгээ үзүүлэгчийн сервер, зарим нь хөрш 8.8.4.4 //Энэ нь Google Public DNS - тэдгээр нь ховор бүх зүйлийг кэш болгодог бөгөөд хурдан шийддэг, 8.8.8.8 [.. ] )

Зарчмын хувьд кэшийг бага түрэмгий болгож болох юм (жишээ нь min_ttl=1m), гэхдээ нэг жилийн хугацаанд ямар ч онцгой асуудал гараагүй. Асуудал гарсан тохиолдолд та кэшээс нэг оруулгыг устгах боломжтой.
sudo pdnsd-ctl бичлэг 3.14. устгах эсвэл бүгдийг нэг дор:
sudo pdnsd-ctl хоосон кэш

NameBench дээрх туршилтын үр дүн



Хүсэлтийн 50%-д нь 10 ms-ээс бага хугацаанд хариу хүлээн авдаг бол 85%-д нь Google Public DNS илүү хурдан байдаг ба үр дүн нь мэдээжийн хэрэг Google-тэй давхцаж байгааг бид харж байна.

Туршилтын үр дүнд үндэслэн NameBench бидэнд баяртайгаар мэдээлж байна.

8.8.8.8 SYS-192.167.0.98-ийн удаан хуулбар 8.8.4.4 SYS-192.167.0.98-ийн удаан хуулбар

Тиймээс зэрэгцээ асуулга бүхий ухаалаг кэш хийх DNS прокси нь 100 мегабит интернетийг хурдасгах боломжийг танд олгоно. Мөн удаан (радио) холболтын өндөр хоцролт, пакет алдагдах үед ялгаа нь тэнгэр, газар шиг байж болно.

Хэрэв бид санаж байх ёстой байсан бол ямар байхыг төсөөлөөд үз дээ IP-Бидний өдөр тутам ашигладаг бүх вэб сайтын хаягууд. Хэдийгээр бид гайхалтай ой санамжтай байсан ч вэбсайт руу шилжих үйл явц нь инээдтэй удаан бөгөөд маш их хөдөлмөр шаарддаг.

Хэрэв бид олон вэбсайт руу зочлох эсвэл нэг компьютер эсвэл виртуал хост дээр байрладаг олон програм ашиглах шаардлагатай бол яах вэ? Энэ нь төсөөлж болох хамгийн аймшигтай толгойн өвчин байх болно - өөрчлөлт хийх боломжийг дурдахгүй байх болно. IP- урьдчилан мэдэгдэлгүйгээр вэбсайт эсвэл програмтай холбоотой хаягууд.

Ингэж бодох нь л хэсэг хугацааны дараа интернет эсвэл дотоод сүлжээг ашиглахаа болих хангалттай шалтгаан болно.

Энэ бол домэйн нэрийн системгүй ертөнц юм (мөн DNS). Аз болоход, энэ үйлчилгээ нь холболттой байсан ч дээр дурдсан бүх асуудлыг шийддэг IP-хаяг болон домэйн нэрийг өөрчлөх.

Энэ шалтгааны улмаас бид энэ нийтлэлд энгийн тохиргоог хэрхэн тохируулах, ашиглах талаар сурах болно DNS-сервер, домэйн нэрийг орчуулах боломжийг танд олгох үйлчилгээ IP-хаяг болон эсрэгээр.

DNS нэрийн нарийвчлал

Байнга өөрчлөгддөггүй жижиг сүлжээнүүдийн хувьд файл /etc/hostsшийдвэрлэх домэйн нэрийг тодорхойлох энгийн арга болгон ашиглаж болно IP- хаягууд.

Энэ файл нь маш энгийн синтакс ашиглан нэрийг (болон/эсвэл бусад нэр) холбох боломжийг олгодог. IP- хаяг. Үүнийг дараах байдлаар хийнэ.

Жишээлбэл,

192.168.0.1 гарц gateway.mydomain.com 192.168.0.2 web web.mydomain.com

Ингэснээр та вэб машинтай нэрээр нь холбогдож болно web.mydomain.com, эсвэл түүний хэлснээр IP- хаяг.

Том сүлжээнүүд эсвэл байнга өөрчлөгддөг сүлжээнүүдэд файл ашиглана /etc/hostsдээр домэйн нэрийг шийдвэрлэх IP-хаяг нь хүлээн зөвшөөрөгдөхүйц шийдэл биш байх болно. Эндээс л тусгай үйлчилгээний хэрэгцээ гарч ирдэг.

Ажлын хөшигний ард орцгооё DNS. DNS-сервер нь үндэснээс эхэлдэг мод хэлбэртэй том мэдээллийн санг хүсдэг. «.» ) бүсүүд.

Дараах зураг нь бидний юу ярьж байгааг ойлгоход тусална.

Дээрх зураг нь эх бүсийг харуулж байна (.) агуулсан com, eduТэгээд цэвэрэхний түвшний домэйнууд. Эдгээр домэйн бүрийг нэг томоохон төвөөс хараат байдлаас зайлсхийхийн тулд өөр өөр байгууллагууд удирддаг (эсвэл байж болно). Энэ нь шатлалын дагуу асуултуудыг зөв хуваарилах боломжийг танд олгоно.

Юу болсныг харцгаая:

1. Үйлчлүүлэгч хүсэлт гаргах үед DNS- серверт зориулсан web1.sales.me.com, сервер дээд тал руу хүсэлт илгээдэг (root) DNS-бүс дэх нэрийн сервер рүү хүсэлтийг дамжуулдаг сервер .com.

Энэ нь эргээд дараагийн түвшний нэрийн сервер рүү хүсэлт илгээдэг (бүс дэх me.com), дараа нь sales.me.com. Энэ үйл явц нь бүрэн эрхтэй домэйн нэр (FQDN, web1.sales.me.comэнэ жишээнд) нь оршин суугаа бүсийн нэрийн серверээс буцаагдахгүй.

2. Энэ жишээнд нэрийн сервер нь sales.me.comхаягийг хариуцна web1.sales.me.comмөн домэйн нэрний хүссэн холбоог буцаана - IPболон бусад мэдээлэл (хэрэв энэ нь үүнд зориулагдсан бол).

Энэ бүх мэдээллийг эх сурвалж руу илгээдэг DNS- сервер, дараа нь үүнийг хүссэн үйлчлүүлэгч рүү буцааж дамжуулдаг. Ирээдүйд ижил төстэй асуулгад ижил алхмуудыг давтахгүйн тулд асуулгын үр дүнг хадгална DNS- сервер. Энэ бол ийм тохиргоог ихэвчлэн дууддаг чухал тал юм рекурсив кэш хийх DNS серверийн тохиргоо.

DNS серверийг суулгаж, тохируулж байна

IN Линуксхамгийн их хэрэглэдэг DNS- сервер нь холбох(Беркли Интернэт нэр Демон гэсэн үгийн товчлол), дараах байдлаар суулгаж болно:

# yum install bind bind-utils # zypper install bind bind-utils # aptitude install bind9 bind9utils

Бид суулгасны дараа холбохболон холбогдох хэрэгслүүдийг өөрчлөхийн өмнө тохиргооны файлын хуулбарыг хийнэ үү:

# cp /etc/named.conf /etc/named.conf.orig # cp /etc/bind/named.conf /etc/bind/named.conf.orig

Тэгээд нээцгээе нэртэй.confболон параметрийн блок руу шилжих ба бид рекурсив кэш серверийн дараах тохиргоог хийх шаардлагатай болно. IP 192.168.0.18/24, зөвхөн нэг сүлжээнд байгаа хостууд хандах боломжтой (аюулгүй байдлын арга хэмжээ болгон).

Дамжуулах бүсийн сонголтууд нь манай домайнаас гадуурх хостуудын аль нэрийн серверийг эхлээд асуухыг тодорхойлоход ашиглагддаг (дараах жишээнд бид Google-ийн нэрийн серверүүдийг ашиглаж байна):

Сонголтууд (... сонсох боломжтой порт 53 ( 127.0.0.1; 192.168.0.18); зөвшөөрөх асуулга (localhost; 192.168.0.0/24; ); рекурс тийм; дамжуулагч (8.8.8.8; 8.8.4.4; ); . ..)

Сонголтуудын блокоос гадна бид бүсээ тодорхойлно sales.me.com(Ubuntu дээр энэ нь ихэвчлэн тусдаа файлд хийгддэг нэртэй.conf.local), өгөгдсөн домэйныг харуулдаг IP-хаяг болон тааруулах урвуу бүс IP-харгалзах бүсэд хаяг.

Гэсэн хэдий ч, бүс бүрийн бодит тохиргоо нь файлын удирдамжид заасны дагуу тусдаа файлуудад хийгдэх болно ("мастер" нь бид зөвхөн нэг DNS серверийг ашиглах болно гэсэн үг).

Дараах мөрүүдийг файлд нэмнэ үү нэртэй.conf:

"sales.me.com" бүс. IN (мастер төрөл; файл "/var/named/sales.me.com.zone"; ); бүс "0.168.192.in-addr.arpa" IN ( төрөл мастер; файл "/var/named/0.162.198.in-addr.arpa.zone"; );

тэрийг тэмдэглэ inaddr.arpa(IPv4 хаягуудын хувьд) болон ip6.arpa(IPv6-д зориулсан) нь урвуу бүсийн тохиргоонд зориулсан конвенцууд юм.

Дээрх өөрчлөлтүүдийг хадгалсны дараа нэртэй.confБид иймэрхүү алдааг шалгаж болно:

# named-checkconf /etc/named.conf

Хэрэв ямар нэгэн алдаа олдвол дээрх тушаал нь шалтгаан болон тэдгээрийн олдсон мөрийг агуулсан мэдээллийн мессежийг гаргадаг. Тэгэхгүй бол юу ч буцааж өгөхгүй.

DNS бүсүүдийг тохируулж байна

Файл дотор /var/named/sales.me.com.zoneТэгээд /var/named/0.168.192.in-addr.arpa.zoneбид урагшлах (домэйн → IP хаяг) болон урвуу (IP хаяг → домэйн) бүсүүдийг тохируулах болно.

Эхлээд шууд тохиргоог харцгаая:

1. Файлын дээд талд та гэж эхэлсэн мөрийг олох болно TTL(Амьдрах хугацаа гэдэг үгийн товчлол) нь шинэ хүсэлтийн үр дүнгээр солигдохоос өмнө кэшд хадгалагдсан хариулт хэр удаан амьдрах ёстойг тодорхойлдог.

Доорх мөрөнд бид өөрсдийн домэйн руу холбогдож, мэдэгдэл илгээх имэйл хаягийг зааж өгнө (үүнийг анхаарна уу. root.sales.me.comгэсэн үг ).

2. Бичлэг хийх SOA(Эрх мэдлийн эхлэл) нь энэ систем нь домэйн доторх машинуудын нэрийн сервер болохыг харуулж байна. sales.me.com.

Хэрэв танд хоёр нэрийн сервер (нэг мастер ба нэг боол) байгаа бол домэйн тус бүрд дараах тохиргоог хийх шаардлагатай (хэдийгээр энэ нь шалгалтанд шаардлагагүй тул бидний тохиолдол биш боловч энд лавлагаа болгон өгсөн болно):

Цувралбүсийн тодорхойлолтын файлын нэг хувилбарыг өмнөх хувилбараас (параметрүүд өөрчлөгдсөн байж болзошгүй) салгахад ашигладаг. Хэрэв кэштэй хариулт нь өөр гаралтыг зааж өгвөл Цуврал, хүсэлтийг үйлчлүүлэгчид буцааж өгөхийн оронд дахин гүйцэтгэнэ.

Боол (хоёрдогч) нэрийн сервер бүхий тохиргоонд Сэргээххоёрдогч сервер нь үндсэн серверээс шинэ серийн дугаар байгаа эсэхийг шалгах цагийг заадаг.

Түүнээс гадна, Дахин оролдоно ууХэрэв анхдагчаас хариу ирээгүй бол хоёрдогч нь анхдагчтай хэр олон удаа холбогдохыг оролдохыг серверт хэлдэг ДуусахҮндсэн серверээс хариу хүлээн авах боломжгүй болсны дараа хоёрдогч горим дахь бүсийн тодорхойлолт хүчингүй болох ба сөрөг TTLбайхгүй домэйн кэш хийгдээгүй байх хугацаа ( NXdomain).

3. Н.С.-оруулга нь эрх мэдэлтэй болохыг харуулж байна DNS-манай домэйны сервер (энэ нь мөрийн эхэнд @ тэмдгээр тэмдэглэгдсэн).

4. Бичлэг хийх А(IPv4 хаягуудын хувьд) эсвэл АААА(IPv6 хаягуудын хувьд) нэрийг шийддэг IP- хаягууд.

Доорх жишээнд:

Dns: 192.168.0.18 (DNS сервер өөрөө) web1: 192.168.0.29 (sales.me.com бүс доторх вэб сервер) mail1: 192.168.0.28 (sales.me.com бүс доторх шуудангийн сервер) mail2: 192.18 .0.30 (өөр имэйл сервер)

5. Бичлэг хийх MXЭнэ домэйны эрх бүхий шуудан дамжуулах агентуудын (MTAs) нэрийг зааж өгдөг. Хост нэрийн өмнө хоёр ба түүнээс дээш имэйл байгаа бол одоогийн шуудангийн серверт ямар давуу эрх олгохыг харуулсан тоо байх ёстой. МТАДараах жишээнд домэйны хувьд (утга бага байх тусам тэргүүлэх ач холбогдол өндөр болно) шуудан1суурь, харин шуудан2хоёрдогч юм МТА).

6. Бичлэг хийх CNAMEхост (web1)-д өөр нэр (www.web1) тохируулдаг.

ЧУХАЛ: цэг байгаа эсэх нь чухал (.) нэрсийн төгсгөлд.

$TTL 604800 @ SOA sales.me.com-д. root.sales.me.com. (2016051101; Цуврал 10800; Сэргээх 3600; Дахин оролдох 604800; Хугацаа дуусах 604800) ; Сөрөг TTL; @ NS dns.sales.me.com ДАХЬ. dns IN A 192.168.0.18 web1 IN A 192.168.0.29 mail1 IN A 192.168.0.28 mail2 IN A 192.168.0.30 @ IN MX 10 mail1.sales.me.com. @ IN MX 20 mail2.sales.me.com. www.web1 CNAME web1 ДАХЬ

Урвуу бүсийн тохиргоог харцгаая (/var/named/0.168.192.in-addr.arpa.zone). Бичлэг SOAөмнөх файлынхтай ижил, харин сүүлийн гурван мөрөнд оруулгатай PTR(заагч) хост хаяг дахь сүүлчийн октетийг заана IPv4 шуудан1, вэб1Тэгээд шуудан2(192.168.0.28, 192.168.0.29, 192.168.0.30 тус тус).

$TTL 604800 @ SOA sales.me.com-д. root.sales.me.com. (2016051101; Цуврал 10800; Сэргээх 3600; Дахин оролдох 604800; Хугацаа дуусах 604800) ; Хамгийн бага TTL @ IN NS dns.sales.me.com. 28 IN PTR mail1.sales.me.com. 29 IN PTR web1.sales.me.com. 30 IN PTR mail2.sales.me.com.

Та бүсийн файлуудыг алдааг шалгаж болно:

# нэртэй-checkzone sales.me.com /var/named/sales.me.com.zone # нэрлэгдсэн шалгах бүс 0.168.192.in-addr.arpa /var/named/0.168.192.in-addr.arpa.zone

Дараах дэлгэцийн агшинд хүлээгдэж буй үр дүн юу болохыг харуулж байна:

Үгүй бол та алдааны мэдэгдэл хүлээн авах бөгөөд үүнийг хэрхэн шийдвэрлэх талаар зөвлөгөө өгөх болно:

Үндсэн тохиргооны файл болон бүсийн файлуудыг шалгасны дараа өөрчлөлтийг хэрэгжүүлэхийн тулд нэрлэсэн үйлчилгээг дахин эхлүүлнэ үү.

IN CentOSТэгээд openSUSEхийх:

# systemctl дахин эхлүүлэх нэртэй

Мөн үүнийг оруулахаа бүү мартаарай:

# systemctl идэвхжүүлэх гэж нэрлэсэн

IN Ubuntu:

$ sudo үйлчилгээ bind9 дахин эхлүүлнэ

Эцэст нь та үндсэн сүлжээний интерфэйсүүдийн тохиргоог засах хэрэгтэй болно.

CentOS болон openSUSE-д зориулсан /etc/sysconfig/network-scripts/ifcfg-enp0s3 ---- DNS1=192.168.0.18 ---- Ubuntu-д зориулсан /etc/network/interfaces-д ---- dns-nameservers 192.168.0.18

Одоо өөрчлөлтүүдийг хэрэгжүүлэхийн тулд сүлжээний үйлчилгээг дахин эхлүүлнэ үү.

DNS серверийн туршилт

Энэ үед бид хүсэлт гаргахад бэлэн байна DNS-дотоод болон гадаад нэр хаягийн сервер. Дараах тушаалууд буцаж ирнэ IP- хосттой холбоотой хаяг вэб1:

# host web1.sales.me.com # хост вэб1 # хост www.web1

Имэйлийг хэнд зориулж боловсруулдаг болохыг бид хэрхэн олж мэдэх вэ sales.me.com? Үүнийг олоход хялбар байдаг - зөвхөн бүртгэлийг хүсэх хэрэгтэй MXдомэйны хувьд:

# хост -t mx sales.me.com

Үүний нэгэн адил урвуу асуулга хийцгээе. Энэ нь бидэнд нэрийг олоход тусална IP-хаяг:

# хост 192.168.0.28 # хост 192.168.0.29

Та гадаад хостуудад ижил үйлдлүүдийг туршиж үзэж болно:

Хүсэлтүүд манайхаар дамжиж байгаа эсэхийг баталгаажуулахын тулд DNS-сервер, бүртгэлийг идэвхжүүлье:

# rndcquerylog

Мөн файлыг шалгана уу /var/log/messages(CentOS болон openSUSE дээр):

# хост -t mx linux.com # хост 8.8.8.8

Бүртгэлийг идэвхгүй болгохын тулд DNS, дахин оруулна уу:

# rndcquerylog

IN UbuntuБүртгэлийг идэвхжүүлэхийн тулд та дараах бие даасан блокийг (сонголтуудын блоктой ижил түвшний) нэмэх хэрэгтэй /etc/bind/named.conf:

Бүртгэл (сувгийн query_log (файл "/var/log/bind9/query.log"; ноцтой байдлын динамик; хэвлэх-категорийн тийм; хэвлэх-хүчтэй байдал тийм; хэвлэх хугацаа тийм; ); категорийн асуулга ( query_log; ); );

Лог файл нь байх ёстой бөгөөд нэрээр нь бичих боломжтой гэдгийг анхаарна уу.

Үр дүн

Энэ нийтлэлд бид үндсэн рекурсив, кэшийг хэрхэн тохируулах талаар тайлбарласан DNS-сервер болон домэйны бүсүүдийг хэрхэн тохируулах талаар.

Таны зөв ажиллагааг хангахын тулд DNS-сервер, ("Үйлчилгээнд алсаас нэвтрэх боломжийг идэвхжүүлэхийн тулд Iptables галт ханыг тохируулах") хэсэгт тайлбарласны дагуу энэ үйлчилгээг галт ханандаа (TCP порт 53) идэвхжүүлэхээ мартуузай.

.

Ажилтай Cisco болон Linux курсууд!

Өргөдөл гаргахдаа яараарай! Цөөн хэдэн газар үлдлээ. Бүлгүүд эхэлнэ Долдугаар сарын 22, дараагийнх нь 8-р сарын 19, 9-р сарын 23, 10-р сарын 21, 11-р сарын 25, 12-р сарын 16, 1-р сарын 20, 2-р сарын 24.

Та юу авах вэ?

  • Бид таныг сүлжээний удирдлагын чиглэлээр мэргэшсэн мэргэжилтэн болж, Cisco CCNA Routing & Switching эсвэл Linux LPI олон улсын гэрчилгээ авахад туслах болно.
  • Бид Cisco Сүлжээний Академи болон Линуксийн мэргэжлийн хүрээлэнгийн мэргэжилтнүүд, мэргэшсэн багш нар, хувийн зөвлөгч нараас батлагдсан хөтөлбөр, сурах бичгийг санал болгож байна.
  • Бид танд ажил олох, карьераа бий болгоход туслах болно. Манай төгсөгчдийн 100 хувь ажлын байраар хангагдаж байна.

Сургалт хэр явагдаж байна вэ?

  • Бид платформ дээрээ оройн онлайн лекц уншдаг эсвэл Киевийн оффист биечлэн суралцдаг.
  • Бид танаас дадлага хийх, дасгахад тохиромжтой цагийг асуух болно: суралцах цаг бага байгааг бид ойлгож байна.
  • Хувь хүний ​​хуваарь гаргая гэвэл ярилцаад хэрэгжүүлнэ.
  • Бид өөрсдийгөө зохион байгуулах тодорхой хугацааг тогтооно. Хувийн удирдагч нь асуултанд хариулж, зөвлөгөө өгөх, шалгалтын хугацааг дагаж мөрдөхөд тань түлхэц өгөх болно.

Мөн бид танд туслах болно:

DNS-ийн зорилго нь хүмүүст санахад хялбар домэйн нэрийг компьютерт ойлгомжтой IP хаяг болгон хөрвүүлэх явдал бөгөөд үүнийг нэрийн нягтрал гэж нэрлэдэг. Өөрийн кэш DNS серверийг суулгах нь бидэнд юу өгөх вэ? Энэ нь сайтуудын хариу үйлдлийг бага зэрэг хурдасгах болно + Линукс нь NetBios-ийн нэрийг тийм ч сайн авдаггүй, гэхдээ заримдаа та дотоод сүлжээн дэх компьютер эсвэл принтерийг хайж олох хэрэгтэй болдог, гэхдээ та үүнийг нэрээр нь хийхийг хүсдэг.

IP хаягийг санах нь тийм ч тохиромжтой биш бөгөөд DHCP серверийн бүртгэлийг байнга харах нь бидний арга биш юм. Ийм тохиолдолд танд дотоод сүлжээнд DNS хэрэгтэй болно. Bind9 багцыг суулгах нь өөрөө хэцүү биш, учир нь түүний тохиргооны үе шатанд алдаа гардаг Уншихад хялбар системийн тохиргооны файлуудын дараа хүн ойлгомжгүй синтакстай тулгардаг бөгөөд энэ нь S програмчлалын хэлтэй маш төстэй юм. сервер нь дотоод сүлжээн дотор ажиллах бөгөөд үүнийг chroot орчинд шилжүүлэх нь утгагүй бөгөөд бүх тохиргоо нь маш бага хугацаа шаарддаг. Үүний тусламжтайгаар уянгын хэсгийг дуусгаж болно, суулгац, тохиргоо руу шилжье.

Bind9 DNS серверийг суулгацгаая:

# apt - bind9-г суулгана уу

Дуусгаж, татаж аваад суулгасны дараа бид түүний тохиргооны файлыг засах хэрэгтэй.

#vim /etc/bind/named. conf. сонголтууд

Бид энэ хэсгийг олдог, энэ нь тохиргооны файлын хамгийн эхэнд байрладаг, үүнээс өөр зүйл байхгүй ...

сонголтууд ( "/var/cache/bind" лавлах; // Хэрэв та болон таны хүссэн нэрийн серверүүдийн хооронд галт хана байгаа бол// ярихын тулд та галт ханыг засах хэрэгтэй байж магадгүй// ярих портууд. http://www.kb.cert.org/vuls/id/800113 үзнэ үү// Хэрэв таны ISP тогтвортой ажиллахын тулд нэг буюу хэд хэдэн IP хаяг өгсөн бол// нэрийн серверүүд, та тэдгээрийг дамжуулагч болгон ашиглахыг хүсч магадгүй юм.// Дараах блокийн тайлбарыг арилгаж, оронд нь байгаа хаягуудыг оруулна уу// бүх 0-ийн орлуулагч. // дамжуулагчид ( // 0.0.0.0; // ); auth - nxdomain дугаар ; # RFC1035 сонсох - v6-д нийцсэн ( дурын ; ); );

Дамжуулагчийн хэсэг нь өөрийн мэдээллийн санд байхгүй бол нэрийг шийдвэрлэх DNS хүсэлтийг хааш нь илгээхийг хариуцдаг. Сүүлийн үед би огт сэтгэл хангалуун бус байна, эдгээр серверүүдийн үйлчилгээ үзүүлэгчтэй хийсэн ажил нь яагаад та гуравдагч этгээдийг холбох боломжтой вэ, жишээ нь Google-тэй, IP 8.8.8.8-ийг санах нь маш хялбар, би түүний жишээг ашиглах болно. үүнийг тохируулаарай, гэхдээ хэн ч танд хамгийн дуртай зүйлээ ашиглахад саад болохгүй.

Бид энэ хэсгийг засаж байгаа тул эхлээд та үүнээс тайлбарыг устгаж, гуравдагч талын DNS нэмэх хэрэгтэй, хэрвээ хэд хэдэн сервер нэмэх шаардлагатай бол, жишээлбэл, Google сервер таны хүсэлтийг тэсвэрлэж чадахгүй, эвдэрсэн :), дараа нь Бусад серверүүдийн IP-г баганад бичиж болно, тэгвэл та илүү их алдааг тэсвэрлэх чадвартай болно.

экспедитор (8.8.8.8; 193.58.251.251; //Оросын DNS үйлчилгээ -SkyDNS};

Энэ хэсэгт файлд заасан серверийн IP хаягийг оруулах нь дээр /etc/resolv.confэсвэл хэсэгт оруулна уу нэрийн серверэнэ IP. Өөрчлөлтүүдийг хадгалаад гарна уу. Серверийг дахин эхлүүлээд шалгана уу. Бид тушаалын мөрөнд бичнэ nslookup mail.ru
Гарах ёстой:

Эрх мэдэлгүй хариулт: Нэр: шуудан. ru Хаяг: 94.100.191.202

Энэ нь манай сервер нь энэ бүсэд (mail.ru) үйлчилгээ үзүүлдэг гол сервер биш гэдгийг харуулж байна, гэхдээ кэшэд хүсэлт нэмсэн!
Одоо бид сүлжээндээ DNS бүс үүсгэх хэрэгтэй бөгөөд ингэснээр машинууд янз бүрийн сүлжээний үйлчилгээг олох боломжтой - жишээлбэл, сүлжээний принтерүүд байж болно, тэдгээр нь бие даасан эсвэл бусад ажлын станцууд дээр хуваалцаж болно.
Манай бүсийг байгууллагын нэр гэж нэрлэж болно - i.e. Байгууллагын нэр.
Юуны өмнө бид бүс үүсгэдэг, үүний тулд бид засварлах болно нэртэй.conf.local

#vim /etc/bind/named. conf. орон нутгийн

мөн түүнд дараахь зүйлийг нэмнэ.

"orgname" бүс (мастер бичнэ үү; файл "/etc/bind/db.orgname"; );

Хадгалаад гарах
Одоо бид бүсийн тохиргооны файлыг үүсгэх хэрэгтэй

# vim / etc / bind / db . байгууллагын нэр

Дараахыг түүн рүү оруулна уу:
(Тохиргооны файлын синтаксийг сайтар анхаарна уу, цэгүүд ч гэсэн утгатай)

@IN SOA байгууллагын нэр. үндэс. байгууллагын нэр. (20101015 4 цаг; шинэчлэх хугацаа - 4 цаг 1 цаг; цаг тутамд 1 цаг давтах; мэдээллийг хэр удаан хадгалах - 1 долоо хоног 1d); Бичлэгийн TTL (амьдрах хугацаа) нь IN NS байгууллагын нэр дээр 1 өдөр байна. ; нэрийн серверийн нэр @ IN A 192.168.10.1; A - бичлэг - энэ бүсэд үйлчилдэг манай DNS серверийн IP хаяг, @ нь энэ нь үндсэн бүс гэсэн үг юм. * IN CNAME @ принтер ДАХЬ 192.168.10.25; Та 192.168.10.25 дээр байрлах сүлжээний принтерийн DNS бичлэгийг үүсгэж болно

Одоо шинэ сүлжээний төхөөрөмж нэмэхдээ та 2 зүйлийг хийх хэрэгтэй:
1) IP хаягийг DHCP сервер дээр нөөцөлж, үүнийг хэрхэн хийх талаар - DHCP серверийг тохируулах нийтлэлээс уншиж болно.
2) Энэ IP-д DNS бүс үүсгээд төхөөрөмжийн нэрийг A XXX.XXX.XXX.XXX гэж бичнэ үү. Үүнд: төхөөрөмжийн нэр нь төхөөрөмжийн сүлжээний нэр; XXX.XXX.XXX.XXX нь DHCP сервер дээр хадгалагдсан IP хаяг юм.

Одоо бид resolv.conf файлыг засах хэрэгтэй

#vim /etc/resolv. conf

мөн тэнд оруулна уу:

нэрийн сервер 127.0.0.1

Тэнд байсан бүх зүйлийг # тавиад тайлбар хийж болно.
сервер дахин ачаална

# дахин ачаална

Энэ нь сервер өөрийн мэдээллийн санд байгаа бүх зүйлийг хайж олохын тулд хийгдсэн бөгөөд зөвхөн дараа нь BIND нь удирдамжид IP нь багтсан 8.8.8.8 IP сервер рүү хүсэлтийг дахин чиглүүлэх болно. дамжуулагчид.
Одоо та функцийг шалгаж болно:
Туршилт нь Windows дээр хийгдсэн бол:

ping төхөөрөмжийн нэр. байгууллагын нэр

Хэрэв бид Линуксээс тест хийвэл:

ping төхөөрөмжийн нэр. байгууллагын нэр - c 4

Пинг нь XXX.XXX.XXX.XXX-ын оронд таны заасан IP руу очих ёстой

Та мөн хүсэлтийг боловсруулах хурдыг тушаалаар шалгаж болно ухах

# ухах @127.0.0.1 tut.by ;<<>> DiG 9.9.5-9+deb8u6-Debian<<>> @127.0.0.1 tut.by ; (1 сервер олдсон) ;; глобал сонголтууд: +cmd ;; Хариулт авсан: ;; ->>ТОЛГОЙ<<- 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 (Домэйн Нэрийн Систем) нь вэб сайт болон серверүүдийг ажиллуулахад шаардлагатай чухал бөгөөд тохируулахад хэцүү бүрэлдэхүүн хэсэг юм. Олон хэрэглэгчид хостинг үйлчилгээ үзүүлэгчийнхээ өгсөн DNS серверийг ашигладаг боловч өөрийн DNS сервертэй байх нь зарим давуу талтай байдаг.

Энэ зааварт та Bind9-ийг хэрхэн суулгаж, Ubuntu 14.04 сервер дээр кэш хийх эсвэл дамжуулах DNS сервер болгон тохируулах талаар сурах болно.

Шаардлага

  • DNS серверүүдийн үндсэн төрлүүдийг ойлгох. Та илүү дэлгэрэнгүй мэдээллийг авах боломжтой.
  • Хоёр машин, ядаж нэг нь Ubuntu 14.04 дээр ажиллаж байна. Эхний машиныг үйлчлүүлэгч (IP хаяг 192.0.2.100), хоёр дахь нь DNS сервер (192.0.2.1) болгон тохируулна.

Та DNS серверээр дамжуулан асуулга илгээхийн тулд клиент машиныг хэрхэн тохируулах талаар сурах болно.

DNS серверийг кэш хийх

Энэ төрлийн серверүүдийг рекурсив асуулга боловсруулж, бусад серверүүдээс ихэвчлэн DNS өгөгдлийг хайж чаддаг тул шийдүүлэгч гэж нэрлэдэг.

Кэш хийх DNS сервер нь үйлчлүүлэгчийн асуулгын хариуг хянах үед хариуг үйлчлүүлэгч рүү буцааж, мөн харгалзах DNS бичлэгүүдийн TTL утгаар зөвшөөрөгдсөн хугацааны турш кэшэд хадгалдаг. Дараа нь кэшийг хүсэлтийг боловсруулах нийт хугацааг хурдасгахын тулд дараагийн хүсэлтүүдэд хариу өгөх эх сурвалж болгон ашиглаж болно.

Таны сүлжээний тохиргооны бараг бүх DNS серверүүд серверүүдийг кэшлэх болно. Кэш хийх DNS сервер нь олон нөхцөл байдалд тохиромжтой сонголт юм. Хэрэв та хостинг үйлчилгээ үзүүлэгчийнхээ DNS сервер эсвэл бусад нийтийн DNS серверт найдахыг хүсэхгүй байгаа бол өөрийн кэш DNS серверийг тохируулаарай. DNS серверээс үйлчлүүлэгч машин хүртэлх зай богино байх тусам DNS хүсэлтэд үйлчлэх хугацаа богиносдог.

DNS серверийг дамжуулж байна

Үйлчлүүлэгчийн үүднээс авч үзвэл дамжуулах DNS сервер нь кэш сервертэй бараг адилхан харагдах боловч механизм болон ажлын ачаалал нь огт өөр юм.

Дамжуулах DNS сервер нь кэш сервертэй адил давуу талтай. Гэсэн хэдий ч, энэ нь үнэндээ ямар ч рекурсив асуулга хийдэггүй. Үүний оронд энэ нь бүх хүсэлтийг гадаад шийдвэрлэх сервер рүү дамжуулж, дараа нь дараагийн хүсэлтүүдийн үр дүнг кэш болгодог.

Энэ нь дахин чиглүүлэх серверт рекурсив хүсэлтийг боловсруулах шаардлагагүйгээр өөрийн кэшээс хүсэлт гаргах боломжийг олгодог. Тиймээс энэ сервер нь зөвхөн ганц хүсэлтийг (дахин чиглүүлсэн үйлчлүүлэгчийн хүсэлт) боловсруулдаг ба бүх рекурсын процедурыг биш. Энэ нь гадаад зурвасын өргөн хязгаарлагдмал орчинд, кэшийн серверүүдийг байнга сольж байх, дотоод хүсэлтийг нэг сервер рүү, гадаад хүсэлтийг нөгөө сервер рүү чиглүүлэх шаардлагатай нөхцөлд давуу тал болно.

1: DNS сервер дээр Bind суулгана уу

Bind багцыг албан ёсны Ubuntu репозитороос олж болно. Багцын индексээ шинэчилж, apt менежер ашиглан Bind суулгана уу. Та мөн хэд хэдэн хамаарлыг суулгах хэрэгтэй.

sudo apt-get шинэчлэлт
sudo apt-get install bind9 bind9utils bind9-doc

Үүний дараа та серверийн тохиргоог эхлүүлж болно. Кэш серверийн тохиргоог дамжуулах серверийг тохируулах загвар болгон ашиглаж болох тул та эхлээд кэшийн DNS серверийг тохируулах ёстой.

2: кэш хийх DNS серверийг тохируулж байна

Эхлээд та Bind-ийг кэш DNS сервер болгон тохируулах хэрэгтэй. Энэ тохиргоо нь серверийг бусад DNS серверүүд дээрх үйлчлүүлэгчийн хүсэлтийн хариултыг рекурсив байдлаар хайхад хүргэдэг. Энэ нь хариулт олох хүртлээ тохирох бүх DNS серверүүдээс дараалан асууна.

Bind тохиргооны файлууд /etc/bind санд хадгалагддаг.

Ихэнх файлуудыг засварлах шаардлагагүй. Үндсэн тохиргооны файлыг нэрлэсэн.conf гэж нэрлэдэг (нэрлэсэн ба bind нь нэг програмын хоёр нэр юм). Энэ файл нь named.conf.options, named.conf.local болон named.conf.default-zones файлуудыг иш татдаг.

Кэш хийх DNS серверийг тохируулахын тулд та зөвхөн name.conf.options-г засварлах хэрэгтэй.

sudo nano нэртэй.conf.options

Энэ файл нь иймэрхүү харагдаж байна (энгийн байх үүднээс тайлбарыг орхигдуулсан):

сонголтууд (
директор "/var/cache/bind";
dnssec баталгаажуулалтын автомат;

v6 дээр сонсох ( дурын; );
};

Кэш серверийг тохируулахын тулд та хандалтын хяналтын жагсаалт буюу ACL үүсгэх хэрэгтэй.

Та халдагчдаас рекурсив асуулга боловсруулдаг DNS серверийг хамгаалах хэрэгтэй. DNS олшруулах халдлага нь серверийг түгээх үйлчилгээг үгүйсгэх халдлагад оролцуулж болох тул онцгой аюултай.

DNS олшруулах халдлага нь сервер болон вэбсайтуудыг устгах нэг арга юм. Үүнийг хийхийн тулд халдагчид рекурсив асуулга боловсруулдаг нийтийн DNS серверүүдийг олохыг оролддог. Тэд хохирогчийн IP хаягийг хууран мэхэлж, DNS серверт маш том хариулт өгөх асуулга илгээдэг. Энэ тохиолдолд DNS сервер нь жижиг хүсэлтийн хариуд хохирогчийн сервер рүү хэт их өгөгдлийг буцааснаар халдагчийн ашиглах боломжтой зурвасын өргөнийг нэмэгдүүлдэг.

Нийтийн рекурсив DNS серверийг байршуулах нь нарийн тохиргоо, удирдлага шаарддаг. Серверээ хакердахаас сэргийлэхийн тулд серверийн итгэж болох IP хаяг эсвэл сүлжээний мужуудын жагсаалтыг тохируулна уу.

Сонголтуудыг блоклохын өмнө acl блок нэмнэ. ACL бүлгийн шошго үүсгэ (энэ зааварт бүлгийг goodclients гэж нэрлэдэг).

acl сайн үйлчлүүлэгч (
};
сонголтууд (
. . .

Энэ блокт энэ DNS серверт хандах IP хаяг эсвэл сүлжээг жагсаана уу. Сервер болон үйлчлүүлэгч /24 дэд сүлжээнд ажиллаж байгаа тул та энэ дэд сүлжээнд хандах хандалтыг хязгаарлаж болно. Та мөн автоматаар холбогддог localhost болон localnet-ийн блокоос гаргах хэрэгтэй.

acl сайн үйлчлүүлэгч (
192.0.2.0/24;
localhost;
орон нутгийн сүлжээ;
};
сонголтууд (
. . .

Та одоо аюулгүй үйлчлүүлэгч ACL-тэй боллоо. Та сонголтын блокоос хүсэлтийн шийдлийг тохируулж эхлэх боломжтой. Үүн дээр дараах мөрүүдийг нэмнэ үү.

сонголтууд (
директор "/var/cache/bind";
рекурс тийм;

. . .

Сонголтуудын блок нь рекурсийг тодорхой идэвхжүүлж, дараа нь ACL-г ашиглахыг зөвшөөрөх асуулга сонголтыг тохируулдаг. Та ACL бүлэгт хандахын тулд зөвшөөрөх-recursion гэх мэт өөр параметрийг ашиглаж болно. Рекурсийг идэвхжүүлсэн үед allow-recursion нь рекурсив үйлчилгээг ашиглах боломжтой үйлчлүүлэгчдийн жагсаалтыг тодорхойлно.

Гэсэн хэдий ч, хэрэв allow-recursion тохируулагдаагүй бол Bind нь зөвшөөрөх-query-cache жагсаалт руу буцаж, дараа нь зөвшөөрөгдөх асуулгын жагсаалтад, эцэст нь үндсэн локалнет болон localhost жагсаалт руу буцна. Бид зөвхөн кэшийн серверийг суулгаж байгаа тул (энэ нь өөрийн гэсэн бүсгүй бөгөөд асуулга дамжуулахгүй) зөвшөөрөгдсөн асуулгын жагсаалт үргэлж зөвхөн рекурсид хамаарна. Энэ нь ACL-ийг тодорхойлох хамгийн түгээмэл арга юм.

Файлыг хадгалаад хаа.

Эдгээр нь кэш хийх DNS серверийн тохиргооны файлд нэмэх шаардлагатай бүх тохиргоо юм.

Анхаарна уу: Хэрэв та зөвхөн энэ төрлийн DNS ашиглахыг хүсэж байгаа бол тохиргоог шалгаж, үйлчилгээг дахин эхлүүлж, үйлчлүүлэгчээ тохируулна уу.

3: Дамжуулах DNS серверийг тохируулж байна

Хэрэв таны дэд бүтэц дамжуулах DNS серверт илүү тохиромжтой бол тохиргоог бага зэрэг тохируулж болно.

Одоогоор нэртэй.conf.options файл дараах байдалтай байна:

acl сайн үйлчлүүлэгч (
192.0.2.0/24;
localhost;
орон нутгийн сүлжээ;
};
сонголтууд (
директор "/var/cache/bind";
рекурс тийм;
зөвшөөрөх-асуулга(сайн үйлчлүүлэгч;);
dnssec баталгаажуулалтын автомат;
auth-nxdomain дугаар; # RFC1035-д нийцнэ
v6 дээр сонсох ( дурын; );
};

Та DNS серверийг үйлчлүүлэгчдийн тодорхой жагсаалтад хязгаарлахын тулд ижил ACL ашиглаж болно. Гэхдээ энэ нь тохиргоонд бага зэрэг өөрчлөлт оруулах шаардлагатай бөгөөд ингэснээр сервер рекурсив асуулга явуулахыг оролдохоо больсон.

Рекурсийг үгүй ​​гэж бүү өөрчил. Дахин чиглүүлэх сервер нь рекурсив үйлчилгээг дэмждэг хэвээр байна. Дахин чиглүүлэх серверийг тохируулахын тулд та хүсэлтийг дахин чиглүүлэх кэш серверүүдийн жагсаалтыг үүсгэх хэрэгтэй.

Энэ нь options() блок дээр хийгддэг. Эхлээд та үүн дотор хүсэлтийг дахин чиглүүлэхийг хүсч буй рекурсив нэрийн серверүүдийн IP хаягуудыг хадгалах шинэ дамжуулагчийн блок үүсгэх хэрэгтэй. Энэ тохиолдолд эдгээр нь Google DNS серверүүд байх болно (8.8.8.8 ба 8.8.4.4):

. . .
сонголтууд (
директор "/var/cache/bind";
рекурс тийм;
зөвшөөрөх-асуулга(сайн үйлчлүүлэгч;);
дамжуулагч (

8.8.8.8;

8.8.4.4;

};
. . .

Үр дүнгийн тохиргоо дараах байдалтай байна.

acl сайн үйлчлүүлэгч (
192.0.2.0/24;
localhost;
орон нутгийн сүлжээ;
};
сонголтууд (
директор "/var/cache/bind";
рекурс тийм;
зөвшөөрөх-асуулга(сайн үйлчлүүлэгч;);
дамжуулагч (
8.8.8.8;
8.8.4.4;
};
зөвхөн урагшлах;
dnssec баталгаажуулалтын автомат;
auth-nxdomain дугаар; # RFC1035-д нийцнэ
v6 дээр сонсох ( дурын; );
};

Сүүлийн өөрчлөлт нь dnssec параметртэй холбоотой. Одоогийн тохиргоо болон хүсэлтийг дахин чиглүүлэх DNS серверүүдийн тохиргооноос хамааран бүртгэлд дараах алдаа гарч болзошгүй.

6-р сарын 25 15:03:29 кэш нэрлэгдсэн: "in-addr.arpa/DS/IN"-г шийдвэрлэхэд алдаа (DS серверүүдийг хөөх): 8.8.8.8#53
6-р сарын 25 15:03:29 кэш нэрлэгдсэн: "111.111.111.111.in-addr.arpa/PTR/IN"-г шийдвэрлэх алдаа (хүчинтэй DS байхгүй): 8.8.4.4#53

Эдгээрээс зайлсхийхийн тулд та dnssec-баталгаажуулалтын параметрийг тийм гэж өөрчлөх хэрэгтэй бөгөөд dnssec-г тодорхой идэвхжүүлэх хэрэгтэй.

. . .
зөвхөн урагшлах;
dnssec-идэвхжүүлэх тийм;
dnssec-баталгаажуулалт тийм;
auth-nxdomain дугаар; # RFC1035-д нийцнэ
. . .

Файлыг хадгалаад хаа. Дамжуулах DNS серверийн тохиргоо дууссан.

4: Тохиргоог шалгаад Bind-ийг дахин эхлүүлнэ үү

Одоо та тохиргоонууд хүлээгдэж буй байдлаар ажиллаж байгаа эсэхийг шалгах хэрэгтэй.

Тохиргооны файлуудын синтаксийг шалгахын тулд дараахыг оруулна уу:

sudo нэртэй-checkconf

Хэрэв файлд алдаа байхгүй бол командын мөрөнд ямар ч гаралтыг харуулахгүй.

Хэрэв та алдааны мессеж хүлээн авбал үүнийг засаад дахин шалгана уу.

Дараа нь та тохиргоог шинэчлэхийн тулд Bind дэмоныг дахин эхлүүлж болно.

sudo үйлчилгээг bind9 дахин эхлүүлнэ

Дараа нь та серверийн бүртгэлийг шалгах хэрэгтэй. Сервер дээр тушаалыг ажиллуулна уу:

sudo tail -f /var/log/syslog

Одоо шинэ терминал нээж, үйлчлүүлэгч машиныг тохируулж эхлээрэй.

5: Үйлчлүүлэгчийн тохиргоо

Үйлчлүүлэгчийн машин руу нэвтэрнэ үү. Үйлчлүүлэгчийг тохируулсан DNS серверийн ACL бүлэгт жагсаасан эсэхийг шалгана уу. Үгүй бол DNS сервер энэ үйлчлүүлэгчийн хүсэлтэд үйлчлэхээс татгалзах болно.

Серверийг нэрийн сервер рүү чиглүүлэхийн тулд /etc/resolv.conf файлыг засна уу.

Энд хийсэн өөрчлөлтүүд дахин ачаалах хүртэл үргэлжлэх бөгөөд энэ нь тест хийхэд тохиромжтой. Хэрэв та туршилтын тохиргооны үр дүнд сэтгэл хангалуун байвал эдгээр тохиргоог байнгын болгох боломжтой.

Текст засварлагч дээр sudo ашиглан файлыг нээнэ үү:

sudo nano /etc/resolv.conf

Энэ файл нь асуулга шийдвэрлэхэд ашиглагдах DNS серверүүдийг жагсаах шаардлагатай. Үүнийг хийхийн тулд нэрийн серверийн удирдамжийг ашиглана уу. Одоо байгаа бүх оруулгуудыг тайлбарлаж, DNS сервер рүүгээ чиглэсэн нэрийн серверийн мөрийг нэмнэ үү:

нэрийн сервер 192.0.2.1
# нэрийн сервер 8.8.4.4
# нэрийн сервер 8.8.8.8
# нэрийн сервер 209.244.0.3

Файлыг хадгалаад хаа.

Та одоо тестийн хүсэлтийг зөв шийдвэрлэсэн эсэхийг шалгахын тулд илгээх боломжтой.

Үүний тулд та ping ашиглаж болно:

ping -c 1 google.com
PING google.com (173.194.33.1) 56(84) байт өгөгдөл.
sea09s01-in-f1.1e100.net-ээс 64 байт (173.194.33.1): icmp_seq=1 ttl=55 цаг=63,8 мс
--- google.com пинг статистик ---
1 пакет дамжуулагдсан, 1 хүлээн авсан, 0% пакетийн алдагдал, хугацаа 0ms
rtt min/avg/max/mdev = 63.807/63.807/63.807/0.000 мс

Дээшээ