Настройка Bind в качестве частного DNS-сервера на RHEL 8
Система доменных имен (DNS) – это метод, используемый для преобразования удобочитаемых доменных имен (или полных доменных имен (FQDN) )) на машиночитаемые IP-адреса, чтобы найти компьютер в сети, например Интернет.
В компьютерных и сетевых системах это необходимо, поскольку, хотя полные доменные имена людям легко запомнить и использовать, компьютеры (клиенты) получают доступ к ресурсам или службам на других компьютерах (серверах) на основе IP-адресов.
В этом отношении сервер DNS (также известный как сервер имен) поддерживает каталог полных доменных имен и преобразует их в IP-адреса; он также может возвращать IP-адрес, если указано имя хоста/полное доменное имя. Существуют различные типы DNS-серверов, включая авторитетный сервер имен, кэширующий сервер имен и многие другие.
В этой статье мы покажем вам, как установить и настроить частный/внутренний авторитетный DNS-сервер на RHEL 8 с использованием программного обеспечения BIND с открытым исходным кодом.
Требования:
- RHEL 8 с минимальной установкой
- RHEL 8 с включенной подпиской RedHat
- RHEL 8 со статическим IP-адресом
Моя среда тестирования:
Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan
Шаг 1. Установка Bind DNS на RHEL 8
1. Чтобы установить bind и его утилиты на свой сервер, выполните следующую команду cdnf.
dnf install bind bind-utils
2. Затем запустите службу DNS, затем включите ее автоматический запуск при загрузке системы и проверьте, работает ли она, с помощью команд systemctl.
systemctl start named
systemctl enable named
systemctl status named
Шаг 2. Настройка BIND DNS на RHEL 8
3. Чтобы настроить сервер Bind DNS, сначала необходимо сделать резервную копию исходного файла конфигурации /etc/named.conf, используя следующий cp команда.
cp /etc/named.conf /etc/named.conf.orig
4. Теперь откройте файл конфигурации /etc/named.conf для редактирования с помощью вашего любимого текстового редактора командной строки следующим образом.
vi /etc/named.conf
В разделе конфигурации options
закомментируйте следующие строки.
options {
#listen-on port 53 { 127.0.0.1; };
#listen-on-v6 port 53 { ::1; };
directory "/var/named";
5. Затем найдите параметр allow-query
и установите его значение для вашей сети. Это означает, что только узлы в вашей локальной сети могут запросить DNS-сервер.
allow-query {localhost; 192.168.56.0/24}
Шаг 3. Создание прямой и обратной зон DNS
Зона пересылки — это место, где хранятся отношения имя хоста (или FQDN) к IP-адресу; он возвращает IP-адрес, используя имя хоста. Обратите внимание, что обычные запросы DNS представляют собой запросы прямого поиска. С другой стороны, обратная зона возвращает FQDN хоста на основе его IP-адреса.
6. Чтобы определить зоны прямой и обратный, добавьте следующие строки в конец файла /etc/named.conf< /стронг> файл.
//forward zone
zone "tecmint.lan" IN {
type master;
file "tecmint.lan.db";
allow-update { none; };
allow-query {any; }
};
//backward zone
zone "56.168.192.in-addr.arpa" IN {
type master;
file "tecmint.lan.rev";
allow-update { none; };
allow-query { any; }
};
Давайте кратко объясним параметры в приведенных выше конфигурациях зон:
- тип: определяет роль этого сервера для зоны. Значение «master» означает, что это авторитетный сервер, на котором хранится основная копия данных зоны.
- файл: указывает файл базы данных зоны.
- allow-update: указывает хосты, которым разрешено отправлять обновления динамического DNS для главных зон. В данном случае нет.
Шаг 4. Создание файла зоны пересылки DNS
7. Сначала создайте файл зоны пересылки в каталоге /var/named.
vi /var/named/tecmint.lan.db
Добавьте в него следующую конфигурацию.
$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
2019061800 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.
;IP for Name Server
dns-primary IN A 192.168.56.100
;A Record for IP address to Hostname
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs IN A 192.168.56.20
Давайте кратко объясним приведенное выше определение зоны и параметры.
- TTL: определяет время жизни директивы RR и $TTL, дает значение TTL по умолчанию для каждого RR без определенного набора TTL.
- @: это псевдоним доменного имени (например, tecmint.lan), определенного в основном файле конфигурации.
- IN: означает Интернет.
- SOA: указывает Начало полномочий: кто является авторитетным сервером имен (dns-primary.tecmint.lan), контактную информацию администратора ( admin.tecmint.lan, знак @ заменяется точкой) и другую сопутствующую информацию.
- NS: означает сервер имен.
- Последовательный: это значение используется DNS-сервером для проверки актуальности содержимого определенного файла зоны.
- Обновить: указывает, как часто подчиненный DNS-сервер должен выполнять передачу зоны от главного.
- Повторить: указывает, как часто подчиненное устройство должно повторять неудачную передачу зоны.
- Expire: определяет, как долго подчиненный сервер должен ждать, прежде чем ответить на запрос клиента, когда главный сервер недоступен.
- Минимум: устанавливает минимальный TTL для зоны.
- A: адрес хоста.
Шаг 5. Создание файла зоны обратного DNS
8. Аналогично создайте файл обратной зоны в каталоге /var/named.
vi /var/named/tecmint.lan.rev
Затем добавьте в него следующие строки. Здесь PTR является противоположностью записи A, используемой для сопоставления IP-адреса с именем хоста.
$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
2019061800 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.
;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.
;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.
9. Установите правильные права владения файлами зоны следующим образом.
chown :named /var/named/tecmint.lan.db
chown :named /var/named/tecmint.lan.rev
10. Наконец, после внесения вышеуказанных изменений проверьте конфигурацию DNS и правильность синтаксиса файлов зоны с помощью утилиты named-checkconf (нет выхода означает отсутствие ошибки):
named-checkconf
named-checkzone tecmint.lan /var/named/tecmint.lan.db
named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev
11. После того как вы выполнили всю необходимую настройку, вам необходимо перезапустить службу DNS, чтобы последние изменения вступили в силу.
systemctl restart named
12. Далее, прежде чем какие-либо клиенты смогут получить доступ к конфигурациям службы DNS на сервере, вам необходимо добавить службу DNS в конфигурацию системного брандмауэра и перезагрузить настройки брандмауэра с помощью утилиты firewall-cmd, как показано ниже. :
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload
Шаг 6. Тестирование службы DNS с клиента
13. В этом разделе мы покажем, как протестировать службу DNS со стороны клиента. Войдите на клиентский компьютер и настройте его на использование указанного выше DNS-сервера. В системе Linux откройте файл /etc/resolve.conf с помощью вашего любимого текстового редактора.
vi /etc/resolve.conf
Добавьте в него следующую запись, которая сообщает преобразователю использовать указанный сервер имен.
nameserver 192.168.56.100
Сохраните файл и закройте его. Обратите внимание, что вам также необходимо указать DNS-сервер в файле конфигурации сетевого интерфейса.
14. Добавьте IP-адрес DNS-серверов 192.168.56.100 в качестве преобразователя в файл конфигурации сетевого интерфейса клиентского компьютера /etc/sysconfig/network-scripts/ifcfg-enp0s3<, как показано на следующем рисунке.
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100
15. Затем используйте утилиту nslookup для запроса IP-адреса с использованием имени хоста и наоборот для www, mail и docs<. серверы в вашей сети, как показано.
nslookup 192.168.56.5
nslookup www.tecmint.lan
nslookup 192.168.56.10
nslookup mail.tecmint.lan
nslookup 192.168.56.20
nslookup docs.tecmint.lan
nslookup 192.168.56.100
nslookup dns-primary.tecmint.lan
Краткое содержание
В этой статье мы показали, как установить и настроить частный авторитетный DNS-сервер на RHEL 8 с помощью программного обеспечения BIND. Мы надеемся, что у вас все получилось, в противном случае присылайте нам свои вопросы или любые другие комментарии через форму обратной связи ниже.