Створення та налаштування особистого DNS-сервера: покрокове керівництво

DNS (Domain Name System) – це система, яка перетворює зручні для читання доменні імена в IP-адреси комп'ютерів. Зазвичай, коли ви підключаєтеся до Інтернету, ваш Інтернет-провайдер надає вам доступ до загальнодоступного DNS-сервера. Однак іноді виникає необхідність створити власний приватний DNS-сервер.

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

Створення приватного сервера DNS досить просто. Вам знадобиться комп'ютер або сервер із встановленою операційною системою, що підтримує DNS, та програмне забезпечення для встановлення та налаштування DNS-сервера. Існує кілька популярних програмних рішень, таких як BIND, Microsoft DNS Server та PowerDNS, які дозволяють вам створити та налаштувати свій власний DNS-сервер.

Реєстрація домену та вибір хостингу

Перш ніж створити свій приватний DNS-сервер, вам потрібно буде зареєструвати власний домен. Доменне ім'я допоможе ідентифікувати ваш DNS-сервер в Інтернеті. Вибір імені домену має бути унікальним та відображати вашу неповторну ідентичність.

Після вибору імені домену вам необхідно вибрати відповідний хостинг-провайдер. Хостинг-провайдер надає сервер, на якому буде розміщено ваш DNS-сервер. При виборі хостингу варто звернути увагу на такі фактори:

1.Надійність та доступність серверів. Переконайтеся, що хостинг-провайдер надає стабільні послуги з мінімальними перервами в роботі.
2.Пропускна спроможність.Перевірте, який рівень пропускної здатності надає хостинг-провайдер, щоб забезпечити швидкі відповіді запити DNS-запитів.
3.Ціна. Порівняйте вартість послуг хостинг-провайдерів і виберіть той, який підходить для ваших фінансових можливостей.
4.Технічна підтримка. Переконайтеся, що хостинг-провайдер надає цілодобову технічну підтримку, яка допоможе у разі виникнення проблем чи питань.

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

Налаштування сервера

Для створення приватного сервера DNS необхідно виконати кілька кроків:

1. Встановлення потрібного програмного забезпечення.

Першим кроком є ​​встановлення програми для керування DNS-сервером. Одним із найпопулярніших інструментів є BIND (Berkeley Internet Name Domain), який підтримується на різних операційних системах. Для його встановлення необхідно завантажити дистрибутив відповідної версії з офіційного сайту та дотримуватися інструкцій.

2. Конфігурація сервера DNS.

Після встановлення програми необхідно налаштувати її для роботи як приватний DNS-сервер. Для цього потрібно відкрити файл конфігурації BIND і внести необхідні параметри, такі як IP-адресу сервера, порт, на якому працюватиме DNS-сервер, списки доменів та відповідних адрес.

3. Налаштування маршрутизації.

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

Зверніть увагу, що для створення та налаштування приватного DNS-сервера потрібні адміністративні права та знання відповідних технологій. При неправильному налаштуванні DNS-сервера можуть виникнути проблеми з доступом до мережі.

Встановлення та налаштування BIND

Крок 1: Встановлення BIND

Перед встановленням BIND переконайтеся, що на сервері встановлено пакетний менеджер apt-get. Потім виконайте таку команду:

КомандаОпис
sudo apt-get updateОновлює список пакетів
sudo apt-get install bind9Встановлює пакет BIND

Крок 2: Налаштування BIND

Після встановлення BIND вам необхідно налаштувати його для роботи з приватним доменним ім'ям. Для цього відкрийте файл налаштувань BIND за допомогою наступної команди:

sudo nano /etc/bind/named.conf.options

У файлі знайдіть наступну секцію і внесіть відповідні зміни:

Збережіть файл та закрийте його.

Крок 3: Створення зони

Щоб створити зону та налаштувати приватне доменне ім'я, необхідно створити файл конфігурації зони. Спочатку створіть директорію для вашого домену:

sudo mkdir /etc/bind/zones

Потім відкрийте файл налаштувань зони за допомогою наступної команди:

sudo nano /etc/bind/zones/example.com.db

Внесіть такі зміни до файлу:

ЗаписЗначення
$TTL86400
@IN SOA ns1.example.com. admin.example.com. (
2007010401
28800
7200
604800
86400 )
@IN NS ns1.example.com.
@IN NS ns2.example.com.
ns1IN A
ns2IN A
wwwIN A
example.com.IN A

Збережіть файл та закрийте його.

Крок 4: Запуск та перевірка

Після завершення налаштувань вам потрібно перезапустити службу BIND за допомогою наступної команди:

sudo systemctl restart bind9

Тепер ви можете протестувати роботу приватного сервера DNS, використовуючи команду nslookup . Наприклад, щоб перевірити запис A для вашого домену, виконайте таку команду:

Якщо все налаштовано правильно, ви побачите IP-адресу вашого сервера у відповіді.

Вітаємо! Тепер ви вмієте встановлювати та налаштовувати BIND для роботи вашого приватного DNS-сервера.

Створення та налаштування зон

Для створення та налаштування зони необхідно виконати такі кроки:

  1. Визначити назву зони. Ім'я зони має відповідати доменному імені, для якого ви хочете створити зону. Наприклад, якщо ви хочете створити зону для домену example.com, ім'я зони має бути example.com.
  2. Створити файл зони. Файл зони містить записи про ресурси (наприклад, IP-адреси) сайтів, що належать даній зоні. Файл зони повинен мати певний формат та містити правильні записи про ресурси.
  3. Налаштувати DNS-сервер для обробки створеної зони. Для цього необхідно вказати в конфігураційному файлі DNS-сервера шлях до файлу зони та інші установки, такі як тип зони (наприклад, майстер або робочий) та IP-адресу DNS-сервера.
  4. Перевірити правильність налаштування зони. Для цього можна скористатися утилітами перевірки DNS-записів, які перевірять наявність та правильність записів про ресурси у зоні.
  5. Після перевірки правильності налаштування зони необхідно перезапустити DNS-сервер, щоб застосувати внесені зміни.

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

Налаштування записів для домену

Для налаштування приватного DNS-сервера необхідно правильно налаштувати записи домену. Записи домену визначають, які ресурси будуть доступні для цього домену.

Нижче наведено основні типи записів, які можна використовувати при налаштуванні доменних записів:

Тип записуОпис
AЗапис типу A вказує на IPv4-адресу, до якої повинен бути надісланий запит для цього домену. Це найпоширеніший тип запису та використовується для прив'язки домену до конкретного сервера.
AAAAЗапис типу AAAA вказує на IPv6-адресу, до якої повинен бути надісланий запит для цього домену. Цей тип запису використовується, коли потрібна підтримка IPv6.
MXЗапис типу MX визначає поштовий сервер, який обробляє пошту для цього домену. Цей тип запису використовується для налаштування поштового обміну домену.
CNAMEЗапис типу CNAME дозволяє створити псевдонім (аліас) для домену. Це корисно у випадку, коли потрібно налаштувати кілька доменів, що вказують на той самий ресурс.
TXTЗапис типу TXT містить довільний текстовий коментар. Цей тип запису може бути використаний для різних цілей, наприклад, для підтвердження володіння доменом або налаштування сертифіката безпеки.

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

Перевірка працездатності сервера

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

Спочатку необхідно перевірити, чи DNS-сервер резолює домени. Це можна зробити, виконавши команду ping на деякі відомі домени та переконавшись, що отримані IP-адреси відповідають очікуваним значенням.Наприклад, можна виконати ping google.com і переконатися, що отримана IP-адреса відповідає очікуваному значенню.

Також є сенс перевірити, що DNS-сервер відповідає на запити інших пристроїв у мережі. Для цього можна виконати команду nslookup на іншому пристрої, наприклад, на комп'ютері або смартфоні, і переконатися, що отримані результати збігаються з результатами, отриманими на DNS-сервері.

Інший спосіб перевірити працездатність DNS-сервера – використовувати онлайн-сервіси, що спеціалізуються на перевірці DNS. Ці сервіси дозволяють виконати різні типи запитів до DNS-сервера та отримати детальну інформацію про його роботу. Деякі з таких сервісів включають DIG, DNSstuff та MXToolbox.

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

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

Налаштування клієнтських комп'ютерів

Після успішного встановлення та налаштування приватного DNS-сервера, необхідно налаштувати клієнтські комп'ютери, щоб вони використовували новий DNS-сервер за замовчуванням. У цьому розділі ми розглянемо налаштування DNS-сервера на операційних системах Windows і macOS.

Налаштування DNS-сервера на операційній системі Windows

Для налаштування DNS-сервера на операційній системі Windows, виконайте такі кроки:

  1. Відкрийте панель керування та виберіть розділ Мережа та Інтернет.
  2. Виберіть "Центр мережі та загального доступу" та відкрийте "Зміна параметрів адаптера".
  3. Виберіть мережне підключення, для якого потрібно змінити DNS-сервер.
  4. Клацніть правою кнопкою миші на вибраному підключенні та виберіть пункт "Властивості".
  5. Виберіть IPv4 або IPv6 (залежно від вашої мережі) та натисніть "Властивості".
  6. У розділі "Використовувати наступні адреси DNS-серверів" введіть IP-адресу вашого приватного DNS-сервера.
  7. Натисніть "OK", щоб зберегти зміни.

Після цього ваш комп'ютер використовуватиме вказану IP-адресу DNS-сервера для дозволу доменних імен.

Настроювання DNS-сервера на операційній системі macOS

Щоб настроїти DNS-сервер на операційній системі macOS, виконайте такі дії:

  1. Відкрийте "Установки" та виберіть "Мережа".
  2. Виберіть мережне підключення, для якого потрібно змінити DNS-сервер.
  3. Натисніть кнопку "Додатково" та виберіть вкладку "DNS".
  4. У полі "Сервери DNS" введіть IP-адресу приватного DNS-сервера і натисніть "OK".

Після цього ваш комп'ютер на macOS використовуватиме вказану IP-адресу DNS-сервера для дозволу доменних імен.

Створення та налаштування особистого DNS-сервера: покрокове керівництво - Priroda.v.ua

Запуск власного DNS-сервера – чудовий спосіб прискорити відгук вашої мережі, знизити залежність від загальнодоступної інфраструктури та скористатися додатковими функціями, такими як маршрутизація імен хостів. Ось як настроїти DNS-сервер на комп'ютері з Linux за допомогою Dnsmasq.

Що таке DNS?

DNS — це система, яка перекладає доменне ім'я, таке як example.com , у числову IP-адресу свого сервера.Це може виглядати як 127.0.0.1. Щоразу, коли ви робите мережевий запит, використовуючи доменне ім'я, ваша система буде виконувати пошук DNS, щоб визначити адресу сервера, до якого вона повинна звертатися.

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

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

Навіщо запускати свій DNS?

Запуск свого DNS-сервера дає вам більший контроль над вашою мережею. Однією з найпоширеніших причин є можливість настроїти зіставлення доменів на рівні мережі, наприклад, веб-сервер з 192.168.0.101. Налаштування маршрутизатора на використання вашого DNS призведе до того, що будь-який з ваших підключених пристроїв зможе отримати доступ до 192.168.0.101 через http://web-server.

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

Внутрішній DNS-сервер може підвищити продуктивність і забезпечити додатковий рівень стійкості.Широкомасштабні збої DNS є чимось незвичайним; використання власного сервера з довгоживучим кешем для критично важливих служб, з якими ви взаємодієте, може допомогти вам уникнути простоїв у вибраного провайдера.

DNS з Dnsmasq

Dnsmasq – це легкий DNS-сервер, який входить до більшості дистрибутивів Linux. Його також дуже просто налаштувати.

Перш ніж почати, варто подумати, які функції вам потрібні для забезпечення вашого DNS-сервера. У цьому посібнику ми розглянемо налаштування Dnsmasq з локальним кешуванням, деякими маршрутами доменів і Google 8.8.8.8 як нашого вищого провайдера DNS.

Потік маршрутизації буде виглядати так:

  • Мережевий маршрутизатор отримує запит від одного з підключених пристроїв. Маршрутизатор буде налаштований на використання вузла Dnsmasq як DNS-сервер.
  • Dnsmasq перевірить, чи є певний маршрут доменного імені, наприклад, від веб-сервера до 192.168.0.101 . Якщо запит був для http://web-server/example-page, він відправить 192.168.0.101 назад на маршрутизатор.
  • Якщо Dnsmasq не має відповідного маршруту, він перенаправляє DNS-запит на 8.8.8.8 Google, забезпечуючи дозвіл у загальнодоступному Інтернеті. Це гарантує, що ви, як і раніше, можете отримати доступ до ширшого Інтернету при використанні власного DNS.

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

Починаючи

Ми припускаємо, що у вас є працюючий Linux-комп'ютер, готовий розмістити Dnsmasq. Dnsmasq не дуже вимогливий до ресурсів – якщо у вас мало клієнтських пристроїв, він легко запуститься на Raspberry Pi.

Вашому хосту має бути призначений статичний IP. Звідси IP-адреса 192.168.0.1 відноситься до сервера Dnsmasq.

Переконайтеся, що Dnsmasq встановлено:

# Assuming a Debian system apt update apt install dnsmasq

Файл конфігурації Dnsmasq зазвичай знаходиться у /etc/dnsmasq.conf . Це попередньо заповнене початковими налаштуваннями. Для роботи Dnsmasq у сценарії локальної мережі необхідно внести деякі зміни. Запустіть sudo nano /etc/dnsmasq.conf , щоб відкрити файл, а потім натисніть клавіші Ctrl+W, щоб переглянути наступні рядки:

#domain-needed #bogus-priv

Видаліть символ # на початку кожного рядка. Ось що дозволяють ці налаштування:

  • domain-needed — це не дозволяє Dnsmasq пересилати локальні імена без частини домену на DNS-сервер. У нашій установці це означає, що example.com матиме право на дозвіл через Google, але example чи веб-сервер не буде. Він резервує імена без точок для вашої локальної мережі.
  • bogus-priv — запобігає перенаправленню запитів зворотного перегляду DNS на сервер DNS. Це означає, що внутрішні IP-адреси, такі як 192.168.0.101 ніколи не будуть доступні Google. Не ввімкнувши цю функцію, ви можете ненавмисно передати архітектуру вашої внутрішньої мережі вищому провайдеру.

Щоб налаштувати вищий DNS-сервер, додайте новий рядок у файл конфігурації:

server=8.8.8.8 server=4.4.4.4

Це вказує Dnsmasq перенаправляти невирішені запити на 8.8.8.8. Якщо сервер недоступний, замість нього буде використовуватися 4.4.4.4 . Ці адреси є первинними та вторинними резолверами для DNS Google.

Потім налаштуйте розмір кешу. За умовчанням, це відносно низьке значення – 150 кешованих запитів. Збільшення цього параметра дозволить Dnsmasq обслуговувати більше запитів із кешу, зменшуючи затримку в мережі. Знайдіть рядок cache-size , розкоментуйте його та змініть його значення:

Збережіть та закрийте файл зараз.

Зіставлення імен хостів з IP-адресами

Існує кілька різних способів зіставлення імен хостів зі своїми IP-адресами. Найпростіший спосіб – додати записи до існуючого файлу /etc/hosts вашого сервера. Dnsmasq автоматично завантажує правила з цього файлу як частину стандартної конфігурації.

Відкрийте /etc/hosts та додайте маршрути до кінця файлу. Першою йде IP-адреса, за якою слідує ім'я для призначення:

192.168.0.101 web-server 192.168.0.105 gateway.lan

Ці рядки означають, що будь-який запит до http://web-server буде направлено на 192.168.0.101 , а http://gateway.lan буде закінчено на 192.168.0.5 . Збережіть та закрийте файл, коли закінчите зіставлення пристроїв.

Тестування вашого сервера

Перезапустіть Dnsmasq, щоб застосувати всі зміни:

sudo service dnsmasq restart

Перевірте правильність роботи сервера:

sudo service dnsmasq status

Ви повинні побачити, що active (running) відображається зеленим кольором. Якщо ви цього не зробите, перевірте рядки журналу в нижній частині інформації про стан, щоб з'ясувати, що це не так.

Тепер ви готові протестувати свій сервер.Ви можете спробувати пошук DNS вручну за допомогою інструмента dig . Можливо, вам знадобиться спочатку встановити пакет dnsutils .

dig google.com @localhost dig gateway.lan @localhost

Обидві команди повинні відображати IP-адресу в розділі ВІДПОВІДЬ . У разі gateway.lan результат повинен бути 192.168.0.5 відповідно до правила маршрутизації, встановленого у /etc/hosts . Частина команд @localhost вказує dig запросити ваш локальний сервер DNS.

Налаштування вашої мережі

Останнім кроком є ​​налаштування мережного маршрутизатора для пошуку DNS через сервер Dnsmasq. Кроки для цього відрізнятимуться залежно від обладнання маршрутизації, що використовується.

Як тільки ви знайдете правильну сторінку налаштувань, встановіть IP-адресу вашого сервера (192.168.0.1 у цьому посібнику) як основний DNS-сервер маршрутизатора. Рекомендується налаштувати загальнодоступного постачальника DNS, наприклад 8.8.8.8 від Google, як вторинний сервер. Це гарантує, що ви все ще матимете доступ до Інтернету, якщо ваш DNS-сервер вийде з ладу і відключиться.

Тепер всі пристрої, підключені до вашого маршрутизатора, будуть робити запити DNS через ваш екземпляр Dnsmasq. Вони зможуть отримати доступ до ваших пристроїв за наданими їм іменами, такими як web-server і gateway.lan, а також скористатися кешуванням DNS на мережному рівні.

Висновок

DNS є складною темою, але Dnsmasq дозволяє легко запустити базовий сервер. Є багато інших налаштувань, які ви можете вивчити, як тільки у вас почне працювати основна функціональність. Вони дозволяють фільтрувати запити, керувати ретрансляторами та проксі-серверами, запускати сценарії при виникненні подій та налаштовувати інші типи записів DNS, наприклад, результати MX для поштових серверів.

Dnsmasq зазвичай не вимагає великого ручного втручання, коли він запущений. Ви можете відстежувати журнали за допомогою service dnsmasq status або systemctl status dnsmasq . Тепер ви готові скористатися власним DNS-сервером, що максимально підвищує продуктивність і дозволяє використовувати внутрішні доменні імена для доступу до пристроїв у локальній мережі.

Статті з цієї тематики:

  • Мої 4 улюблені програми з відкритим вихідним кодом для особистих фінансів, які працюють на Linux, MacOS та Windows
  • Як запускати програми Android у Linux
  • Не запускайте ці 5 команд Linux – ось чому
  • 5 команд Linux, які ніколи не слід запускати (і чому)
  • Як запустити десятки моделей штучного інтелекту на своєму Mac або ПК – стороння хмара не потрібна
  • Що таке незмінний Linux? Ось чому вам слід використовувати незмінний дистрибутив Linux
  • Zorin OS 17.1 ще більше спрощує запуск необхідних програм для Windows в Linux
  • 2 способи виправити помилку VboxLinuxAdditions.run у дозволі відмовлено
  • Встановіть Waydroid для запуску ОС та додатків Android в Ubuntu 22.04, 23.10
  • Як встановити Anbox для запуску програм Android в Ubuntu 20.04, Ubuntu 21.10
  • Як запустити кілька команд Linux одночасно
  • Тепер завдяки цьому партнерству ви можете запускати будь-яку програму Windows на своєму Chromebook.
  • Як запустити Firefox у режимі Wayland у Ubuntu (і чому це слід зробити)
  • Адаптація — запуск будь-якої версії програми в будь-якій версії Ubuntu.
  • KaliBrowser – запускайте Kali Linux прямо у веб-браузері