Незв'язаний рекурсивний DNS
Альтернативою BIND, Unbound є сучасний перевіряючий, рекурсивний і кешуючий DNS-сервер, який підтримується NLnet Labs.
Передумови та припущення¶
- Сервер під керуванням Rocky Linux
- Можливість використання
firewalld
для створення правил брандмауера
Вступ¶
Існує два типи DNS-серверів: авторитетні та рекурсивні. Якщо авторитетні DNS-сервери повідомляють про зону DNS, рекурсивні сервери вирішують запити від імені клієнтів, пересилаючи їх до Інтернет-провайдера або загальнодоступного DNS-розпізнувача або кореневих зон для більших серверів.
Наприклад, на вашому домашньому маршрутизаторі, ймовірно, працює вбудований рекурсивний DNS-розпізнавач, який пересилає дані до вашого провайдера чи загальнодоступного DNS-сервера, який також є рекурсивним DNS-сервером.
Встановлення та ввімкнення Unbound¶
Встановлення Unbound:
dnf install unbound
Налаштування Unbound¶
Перш ніж вносити зміни до будь-якого конфігураційного файлу, перемістіть вихідний встановлений робочий файл unbound.conf
:
cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.orig
Це допоможе в майбутньому, якщо станеться введення помилок у файл конфігурації. Завжди варто зробити резервну копію перед внесенням змін.
Відредагуйте файл unbound.conf. Автор використовує vi, але ви можете замінити свій улюблений редактор командного рядка:
vi /etc/unbound/unbound.conf
Вставте наступне:
server:
interface: 0.0.0.0
interface: ::
access-control: 192.168.0.0/16 allow
access-control: 2001:db8::/64 allow
forward-zone:
name: "."
forward-addr: 1.0.0.1@53
forward-addr: 1.1.1.1@53
Замініть 192.168.0.0/16
і 2001:db8::/64
на підмережі, для яких ви вирішуєте запити DNS. Збережіть зміни.
Придивляючись ближче¶
interface
позначає інтерфейси (IPv4 або IPv6), на яких ви хочете прослуховувати запити DNS. Ми прослуховуємо всі інтерфейси з «0.0.0.0» і «::».access-control
вказує, з яких підмереж (IPv4 або IPv6) ви хочете дозволити DNS-запити. Ми дозволяємо запити з192.168.0.0/16
і2001:db8::/64
.forward-addr
визначає сервери, на які ми будемо пересилати. Ми пересилаємо на1.1.1.1
та1.0.0.1
Cloudflare.
Увімкнення Unbound¶
Далі дозвольте порти DNS у firewalld
і ввімкніть Unbound:
firewall-cmd --add-service=dns --zone=public
firewall-cmd --runtime-to-permanent
systemctl enable --now unbound
Перевірте дозвіл DNS за допомогою команди host
:
$ host google.com 172.20.0.100
Using domain server:
Name: 172.20.0.100
Address: 172.20.0.100#53
Aliases:
google.com has address 142.251.215.238
google.com has IPv6 address 2607:f8b0:400a:805::200e
google.com mail is handled by 10 smtp.google.com.
%
Висновок¶
Більшість людей використовують DNS-розпізнавач свого домашнього маршрутизатора або загальнодоступні DNS-розпізначі, якими керують Інтернет-провайдери та технологічні компанії. У домашніх лабораторіях і великих мережах стандартним є запуск загальномережевого резолвера, щоб зменшити затримку та мережеве навантаження шляхом кешування запитів DNS для часто запитуваних веб-сайтів, таких як Google. Загальномережний резолвер також увімкне інтрамережі, такі як SharePoint і Active Directory.
Unbound — це один із багатьох інструментів із відкритим вихідним кодом, які роблять можливим вирішення DNS. Вітаємо, у вас є власний DNS-розпізнавач!
Author: Neel Chauhan
Contributors: Steven Spencer, Ganna Zhyrnova