Найкращі інструменти DNS для допомоги адміністраторам мережі

Служба доменних імен (DNS): Ключовий елемент Інтернет-інфраструктури

Служба доменних імен, або DNS, є фундаментальною складовою сучасних IP-мереж, і, зокрема, Інтернету. Її головна мета полягає у перетворенні імені хоста на відповідну IP-адресу. Хоча це може здаватися простим завданням, насправді це досить складно. У глобальному масштабі Інтернету кожен користувач повинен мати можливість знайти IP-адресу будь-якого ресурсу, незалежно від його розташування. У локальному масштабі DNS повинен перетворювати локальні імена хостів на відповідні IP-адреси та перенаправляти запити до загальнодоступних DNS-серверів. Для спрощення адміністрування DNS, існує ряд інструментів, які допомагають у налаштуванні, діагностиці та моніторингу DNS-середовища. У цій статті ми розглянемо деякі з найефективніших DNS-інструментів.

Ми почнемо з пояснення, що таке DNS та як вона працює, намагаючись уникати технічних деталей. Потім обговоримо управління DNS, розглянемо різні аспекти цього процесу. Оскільки ця стаття присвячена інструментам, ми ознайомимося з різними їх типами, доступними для адміністраторів мереж, що підведе нас до нашої головної теми: найкращі інструменти DNS. Ми детальніше розглянемо деякі з найкорисніших інструментів, які ми змогли знайти.

DNS: Принцип роботи

На зорі Інтернету, коли кількість комп’ютерів була невеликою, для ідентифікації використовувалися імена хостів замість IP-адрес. Кожен комп’ютер мав локальний текстовий файл “hosts”, де зберігалося відповідність між IP-адресами та іменами хостів. Цей метод був ефективним при невеликій кількості пристроїв, але зі зростанням мережі стало зрозуміло, що потрібен більш масштабований підхід. Саме тоді була створена DNS.

Простіше кажучи, DNS – це розподілена версія файлу “hosts”, здатна ідентифікувати IP-адресу будь-якого імені хоста. Перевагою DNS є її децентралізована структура, де кожен локальний адміністратор відповідає лише за оновлення інформації про хости, якими він керує, на DNS-серверах.

Зазвичай кожна організація має свій локальний DNS-сервер. Він відповідає за перетворення імен хостів у локальній мережі на IP-адреси. Запити, які цей сервер не може обробити, пересилаються на загальнодоступний DNS-сервер в Інтернеті. Кожен загальнодоступний сервер імен здатний перетворити будь-яке загальнодоступне ім’я хоста на публічну IP-адресу. Ваш локальний DNS-сервер також може це робити, оскільки він перенаправляє запити на загальнодоступний сервер.

Недоліком такої архітектури є те, що визначення IP-адреси може зайняти певний час, оскільки запит може проходити через кілька серверів. Цей ефект частково зменшується за рахунок локального кешування. Коли DNS-сервер отримує відповідь на запит, він зберігає цю інформацію в кеші. Наступного разу, коли буде потрібна та сама інформація, її не потрібно буде запитувати знову. Однак кеш не є вічним, і рано чи пізно він оновлюється, і серверам доводиться запитувати інші сервери.

Управління DNS

Керування локальним DNS є важливим завданням. Коли до мережі додається новий пристрій, його ім’я хоста та IP-адреса повинні бути додані до локального DNS-сервера. Процес може бути як повністю ручним, так і автоматизованим, залежно від обраного способу управління IP-адресами та інструментів.

Ще одним важливим аспектом управління DNS є забезпечення правильного налаштування публічних ресурсів, таких як веб-сайт, на загальнодоступних DNS-серверах, щоб користувачі могли їх знаходити. Моніторинг DNS є ще однією важливою частиною адміністрування. Якщо DNS не працює, перетворення імені хоста в IP-адресу неможливе, і всі ресурси стають недоступними. Цього потрібно уникати.

Типи Інструментів DNS

Існує кілька типів інструментів DNS. Перший тип – це інструменти аудиту DNS. Вони виконують прямі та зворотні запити DNS, щоб перевірити їх відповідність. Це важливо, оскільки розбіжності між цими записами можуть викликати проблеми.

Інший тип інструментів використовується для аналізу структури архітектури DNS. Вони допомагають виявляти зв’язки між DNS-серверами та оптимізувати процес розподілу DNS. Ефективна архітектура DNS зменшує час на пересилання запитів. Також існують програми для порівняльного аналізу DNS, що дозволяють визначити найкращий загальнодоступний DNS-сервер для перенаправлення запитів.

Інструменти командного рядка зазвичай використовуються для перевірки роздільної здатності імен, наприклад, `nslookup` та `dig`. Нарешті, існують онлайн-інструменти для виконання різних DNS-тестів з різних точок світу, щоб перевірити, як ваші хости розпізнаються віддаленими клієнтами.

Найкращі Інструменти DNS

Серед великої кількості інструментів, обрати найкращі було непросто. Ми постаралися включити різні типи інструментів, від локальних програмних пакетів до вбудованих у ОС інструментів командного рядка та онлайн-інструментів.

1. SolarWinds Engineer’s Toolset (БЕЗКОШТОВНА пробна версія)

Перші два інструменти в нашому списку входять до набору SolarWinds Engineer’s Toolset. SolarWinds має міцну репутацію завдяки створенню якісних інструментів для адміністрування мереж. Його флагманський продукт, Network Performance Monitor, є одним із лідерів у сфері моніторингу мережі. Компанія також відома своїми безкоштовними інструментами, які задовольняють потреби мережевих адміністраторів. SolarWinds Engineer’s Toolset — це збірка з понад 60 інструментів, деякі з яких є безкоштовними, а інші доступні лише в цьому пакеті. Два інструменти DNS, що входять до цього набору, – це SolarWinds DNS Audit і SolarWinds DNS Structure Analyzer.

1.1. SolarWinds DNS Audit (БЕЗКОШТОВНА пробна версія з набором інструментів інженера)

Інструмент SolarWinds DNS Audit особливо корисний для адміністраторів, які вручну керують DNS. Він сканує діапазон IP-адрес і виконує зворотні DNS-запити для кожної з них. Зворотний DNS – це запит імені хоста за IP-адресою. Правильно налаштований DNS-сервер повинен мати зворотний запис для кожного прямого запису.

Після розв’язання кожної IP-адреси в ім’я хоста інструмент намагається розв’язати кожне ім’я хоста до його IP-адреси. У звіті відображаються всі записи, де є розбіжності. Результати аудиту подаються у вигляді таблиці.

1.2. SolarWinds DNS Structure Analyzer (БЕЗКОШТОВНА пробна версія з набором інструментів інженера)

Інструмент SolarWinds DNS Structure Analyzer виявляє і створює візуальні діаграми ієрархічної структури DNS-записів вашої організації, включаючи кореневі сервери, сервери імен, глобальні сервери домену верхнього рівня, вказівники cName та авторитетні сервери адрес. Інструмент наочно демонструє зв’язки між серверами імен та їх IP-адресами. Перенаправлення запитів з одного DNS-сервера на інший також відображаються графічно.

SolarWinds DNS Structure Analyzer підходить не для всіх, але для тих, кому потрібен цей тип інструменту, він незамінний. Оскільки він є частиною безкоштовної пробної версії Engineer’s Toolset, рекомендуємо спробувати його самостійно.

Інші інструменти набору Engineer’s Toolset

SolarWinds Engineer’s Toolset містить велику кількість інструментів для усунення несправностей, таких як Ping Sweep, DNS Analyzer і TraceRoute. Для адміністраторів, що піклуються про безпеку, є інструменти для імітації атак і виявлення вразливостей. Також є інструменти для моніторингу та оповіщення, які відстежують пристрої та повідомляють про проблеми. Додатково є інструменти для управління конфігурацією та консолідації журналів.

Ось деякі інструменти, які входять до набору SolarWinds Engineer’s Toolset, окрім інструментів DNS:

Сканер портів
Switch Port Mapper
Розгортка SNMP
IP мережевий браузер
Виявлення MAC-адреси
Ping Sweep
Монітор часу відгуку
Монітор процесора
Монітор інтерфейсу
TraceRoute
Розшифровка пароля маршрутизатора
Атака грубої сили SNMP
Словникова атака SNMP
Config Compare, Downloader, Uploader і Editor
Редактор SNMP trap та приймач SNMP trap
Калькулятор підмережі
DHCP Scope Monitor
Аналізатор структури DNS
Аудит DNS
Управління IP-адресою
Вбивця WAN

З огляду на кількість інструментів у наборі SolarWinds Engineer’s Toolset, найкращим варіантом буде завантажити безкоштовну 14-денну пробну версію та перевірити його можливості.

2. DNS Benchmark від GRC

GRC DNS Benchmark – це безкоштовна утиліта для Windows (та Linux через Wine), яка дозволяє оцінити продуктивність локальних і віддалених DNS-серверів. Вона допомагає визначити, чи не перешкоджає ваш вибір DNS-серверів вашій роботі в інтернеті.

GRC DNS Benchmark має широкий набір функцій, що задовольняють потреби професіоналів, але він також простий у використанні для новачків. Інструмент є безкоштовним і доступний для завантаження.

3. Nslookup

`Nslookup` – це інструмент для усунення несправностей, вбудований у більшість операційних систем, зокрема Windows. Він є простим, але дуже корисним інструментом для перевірки конфігурації DNS-серверів. Його назва розшифровується як “name server lookup”.

Для демонстрації його роботи розглянемо запит `nslookup www.google.com`.

C:>nslookup www.google.com

Ось як виглядає відповідь `nslookup`:

Server: my.local.dns.server 
Address: 10.10.10.10
Non-authoritative answer:
Name: www.google.com
Addresses: 2607:f8b0:4002:80f::2004
172.217.4.4

Перші два рядки вказують, який DNS-сервер використовувався і його IP-адресу. За замовчуванням використовується перший DNS-сервер, налаштований на вашому комп’ютері. `nslookup` також повідомляє, що відповідь є неавторитетною, що означає, що сервер отримав інформацію з іншого сервера. Далі відображається запитане ім’я та IP-адреса(и). У нашому прикладі запит повернув як IPv6, так і IPv4 адресу.

Nslookup також має інтерактивний режим, який активується введенням команди без аргументів. Командний рядок зміниться на ” > “.

Існує багато варіантів запитів DNS за допомогою `nslookup`. Можна запитати лише інформацію про поштовий сервер (set type=mx) або підключитися до певного DNS-сервера (наприклад, `server 8.8.8.8` для DNS-сервера Google).

Хоча `nslookup` є застарілим інструментом, він залишається одним з найбільш використовуваних інструментів DNS.

4. Dig

`Dig` є ще одним інструментом командного рядка, який набирає популярності. Його мета схожа на `nslookup`, але синтаксис і вихідні дані відрізняються. `Dig` повертає більш детальну інформацію, ніж `nslookup`. Хоча `nslookup` присутній майже в кожній системі, `dig` зазвичай є лише в дистрибутивах Linux. Його можна встановити на будь-якому комп’ютері з Linux або Windows, але багато адміністраторів вважають, що `nslookup` достатньо.

Типовий запит `dig` виглядає так:

$ dig -t mx www.google.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> -t mx www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40683
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.com. IN MX

;; AUTHORITY SECTION:
google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 164707171 900 900 1800 60

;; Query time: 61 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Wed Aug 09 14:34:03 EDT 2017
;; MSG SIZE rcvd: 113

Видно, що відповідь є набагато складнішою, ніж звичайний вивід `nslookup`.

5. Онлайн інструменти DNS – DNSstuff

Онлайн-інструменти DNS є зручним варіантом для перевірки DNS, оскільки вони дають перспективу з іншої точки, наприклад, з віддаленого пристрою в Інтернеті. Існує багато веб-сайтів, що пропонують такі інструменти. Вони відрізняються за набором функцій, але зазвичай дозволяють отримати публічну IP-адресу з повного доменного імені.

DNSstuff є одним з таких сайтів, пропонуючи ряд інструментів для тестування DNS, включаючи спрощений аналог `nslookup` або `dig`. Головним недоліком цих інструментів є неможливість вибрати певний DNS-сервер. Ви отримуєте перспективу з віддаленого місця в інтернеті.