Як знайти IP-адресу DNS-сервера в Linux?
DNS — один із базових елементів роботи мережі. Саме він перетворює назви сайтів на IP-адреси, зрозумілі комп’ютеру. Завдяки цьому ми вводимо у браузері google.com замість довгих числових комбінацій.
Іноді виникає потреба перевірити, який саме DNS-сервер використовує система. Наприклад, якщо деякі сайти не відкриваються, інтернет працює повільно або потрібно протестувати мережеві налаштування. У Linux це можна зробити кількома простими способами — від перегляду конфігураційних файлів до використання системних утиліт.
Що таке DNS-сервер і чому важливо знати його адресу?
DNS (Domain Name System) — це система, яка перетворює зрозумілі людині доменні імена: наприклад з itedu.center на IP-адреси серверів. Кожного разу, коли відкриваєш вебсайт, комп’ютер звертається до DNS-сервера, щоб дізнатися, де саме розташований потрібний ресурс.
Якщо DNS працює некоректно, система просто не може знайти шлях до сайту — і сторінка не завантажується. Тому перевірка DNS важлива не лише для системних адміністраторів, а й для звичайних користувачів.
Знати, який DNS-сервер використовується, потрібно для:
- діагностики проблем із доступом до сайтів;
- перевірки, чи застосовується публічний або корпоративний DNS;
- впевненості, що налаштування відповідають політикам безпеки;
- тестування продуктивності мережі.
Перевірка через файл /etc/resolv.conf
Файл /etc/resolv.conf — це своєрідна адресна книга системи. У ньому записано, які DNS-сервери Linux використовує для перетворення доменних імен на IP-адреси.
- Щоб переглянути його вміст, відкрий термінал і введи команду:
cat /etc/resolv.conf
- У результаті побачиш щось на кшталт:
nameserver 8.8.8.8
nameserver 1.1.1.1
Кожен рядок із nameserver означає адресу DNS-сервера. Це може бути як публічний DNS (наприклад, Google або Cloudflare), так і локальний твого роутера, наприклад 192.168.0.1.
Файл /etc/resolv.conf — перше місце, куди звертається система під час пошуку IP-адреси сайту. Якщо він порожній або не існує, ймовірно, конфігурацією DNS керує інший сервіс — systemd-resolved або NetworkManager.
Перевірка через resolvectl
У більшості сучасних дистрибутивів (Ubuntu, Fedora, Debian, Rocky Linux) за роботу DNS відповідає systemd-resolved. Щоб переглянути DNS-сервери, які використовує система, виконай команду:
resolvectl status | grep "DNS"
Вона виведе інформацію про поточне мережеве підключення. Приклад результату:
DNS Servers: 192.168.0.1 8.8.8.8
Перший запис зазвичай вказує на локальний шлюз або маршрутизатор, а другий — на зовнішній публічний DNS.
Якщо команда resolvectl не знайдена, система, ймовірно, не використовує systemd або ця утиліта не встановлена. У такому випадку можна перейти до наступного способу.
Перевірка через NetworkManager
На більшості систем Linux за налаштування мережі відповідає NetworkManager. Для перегляду DNS-серверів скористайся командою:
nmcli dev show | grep 'IP4.DNS'
Вивід виглядатиме приблизно так:
IP4.DNS[1]: 192.168.0.1
IP4.DNS[2]: 8.8.8.8
Тут відображаються адреси DNS-серверів, до яких звертається система. Якщо є кілька записів, вони використовуються послідовно — спочатку перший, потім другий, якщо перший недоступний.
nmcli зручно застосовувати у середовищах, де кілька мережевих інтерфейсів, або коли потрібно швидко перевірити конфігурацію без відкриття графічних налаштувань.
Використання утиліт dig або nslookup
Команди dig і nslookup дозволяють дізнатися не лише адресу DNS, а й перевірити, чи він взагалі працює.
- Виконай:
dig google.com
- Наприкінці результату знайди рядок:
;; SERVER: 192.168.0.1#53(192.168.0.1)
Це і є IP-адреса DNS-сервера, який обробив твій запит.
- Аналогічно працює nslookup:
nslookup google.com
- У результаті побачиш:
Server: 192.168.0.1
Address: 192.168.0.1#53
Server: 192.168.0.1
Address: 192.168.0.1#53
Якщо у відповіді вказано публічну адресу, наприклад 8.8.8.8, це означає, що система звертається до зовнішнього DNS. А якщо бачиш локальну адресу на кшталт 192.168.x.x — запит обробляє твій роутер або внутрішній сервер.
Як перевірити DNS-сервер певного сайту?
Іноді потрібно з’ясувати, які саме сервери обслуговують конкретний домен. Це корисно під час налаштування корпоративних або хмарних ресурсів.
Для цього використай:
dig example.com
У секції ANSWER SECTION відобразяться IP-адреси, на які вказує домен, а у полі SERVER — DNS, що відповів на запит.
Якщо DNS-сервер не працює?
Якщо з’єднання нестабільне або сайти не відкриваються, перевір DNS за такою схемою:
1. Переглянь файл /etc/resolv.conf і впевнись, що там зазначені коректні адреси.
2. Виконай тестовий запит:
nslookup google.com
Якщо у відповідь з’являється IP-адреса, DNS працює.
3. Якщо ні — спробуй тимчасово використати публічні сервери:
dig @8.8.8.8 google.com
dig @1.1.1.1 google.com
Якщо після цього сайт відкривається, проблема у локальному або провайдерському DNS.
Рекомендації для стабільної роботи DNS-сервера
- Використовуй перевірені DNS-сервери: Google (8.8.8.8, 8.8.4.4) або Cloudflare (1.1.1.1, 1.0.0.1).
- Не редагуй /etc/resolv.conf вручну, якщо система оновлює його автоматично.
- Для корпоративних систем варто використовувати внутрішні DNS-сервери для контролю безпеки.
- Регулярно перевіряй, чи не змінилися налаштування після оновлення мережі або системи.
- За можливості активуй DNS over HTTPS (DoH) — це забезпечить шифрування запитів.
Підсумок
Знати, який DNS-сервер використовує система, означає розуміти, як саме працює твоя мережа. Це допомагає швидше знаходити проблеми, налаштовувати середовище без простоїв і впевнено керувати підключеннями.
Кілька хвилин, витрачених на перевірку DNS, можуть зекономити години пошуку причини, чому не відкривається сайт або не працює застосунок. Linux дає для цього всі інструменти — головне знати, де шукати і яку команду запустити.
Хочеш розуміти DNS настільки добре, щоб розказати про нього навіть тоді, коли тебе розбудять вночі? Курс «Вебсервери на Linux» від ITEDU допоможе розкласти все по поличках і впевнено працювати з налаштуваннями.