Как настроить master BIND DNS в Ubuntu 20.04

Как настроить master BIND DNS в Ubuntu 20.04

 

Чтобы Интернет обеспечивал мгновенный доступ к ресурсам по всему миру, что предполагает связывание компьютеров или сайтов с уникальным доменным именем, необходима услуга, которая поможет в этом. DNS (система доменных имен) переводит удобочитаемые доменные имена, например www.infoit.com.ua, в компьютерно-читаемый IP-адрес и наоборот.

BIND9 (Berkeley Internet Name Domain) — это пакет, обеспечивающий преобразование имени в функциональность IP.

Давайте рассмотрим, как настроить главный DNS-сервер с помощью BIND9 в Ubuntu 20.04. Прежде чем продолжить, убедитесь, что на вашем сервере настроен статический IP-адрес. Если ваш сервер использует DHCP, вам необходимо настроить статический, чтобы гарантировать, что изменение IP-адреса не произойдет после настройки DNS-сервера.

Bind DNS Server Installation on Ubuntu 20.04

Прежде чем мы начнем установку необходимых пакетов, всегда полезно убедиться, что вы работаете на обновленном сервере Ubuntu:

sudo apt update -y

Загрузите необходимые пакеты из базы Ubuntu, используя apt:

sudo apt install -y bind9 bind9utils bind9-doc dnsutils

Конфигурация DNS-сервера в Ubuntu 20.04

Главный каталог конфигурации DNS — /etc/bind.это файлы поиска по зоне и другие файлы конфигурации.

Файл глобальной конфигурации DNS находится по адресу /etc/bind/named.conf. Однако это не используется для локальной конфигурации DNS. /etc/bind/named.conf.localвместо этого используется.

Создать зоны

Сделаем это в /etc/bind/named.conf.local файле. Используйте любой текстовый редактор для редактирования файла.

Создадим в файле прямую и обратную зоны. Ниже представлена ​​запись прямой зоны для домена infoit.local . Измените это ваше доменное имя в вашей конфигурации.

zone "infoit.local" IN { // Domain name
    
      type master; // Primary DNS

     file "/etc/bind/forwardinfoit.local.db"; // Forward lookup file

     allow-update { none; }; // Since this is the primary DNS, it should be none.
     
    
};

Где:

  • infoit.local — это имя зоны.
  • forward.infoit.local.db — это имя зоны прямого просмотра.

Добавьте следующее в /etc/bind/named.conf.localобратную зону

zone "10.16.172.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.infoit.local.db"; //Reverse lookup file

     allow-update { none; }; //Since this is the primary DNS, it should be none.

    

};
    • 10.16.172.in-addr.arpa — имя зоны обратного DNS. (Если сеть 172.16.10.0, имя будет обратным, как в 10.16.172 )
    • reverse.infoit.local.db — это обратный DNS-файл.

    Настройка файлов поиска зоны Bind DNS в Ubuntu 20.04

    Файлы поиска зоны содержат записи DNS для прямой и обратной зон.

    1. Файл поиска передней зоны

    Скопируйте образец файла поиска прямой зоны в файл с именем f orward.infoit.local.dbв /etc/bindкаталоге:

sudo cp /etc/bind/db.local /etc/bind/forward.infoit.local.db

Обратите внимание на синтаксис файла зоны, имена доменов должны заканчиваться точкой (.)

Акронимы в файле имеют следующее описание:

  • SOA — Начало полномочий
  • NS — Сервер имен
  • A — рекорд
  • MX — Почта для обмена
  • CN — Каноническое имя

Мы должны отредактировать файл зоны и обновить содержимое, как показано ниже. Измените его в соответствии с вашим доменным именем:

sudo vi /etc/bind/forward.infoit.local.db
$TTL    604800
@       IN      SOA     ns1.infoit.local. root.ns1.infoit.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;@      IN      A       127.0.0.1
;@      IN      AAAA    ::1

;Name Server Information

@        IN      NS      ns1.infoit.local.

;IP address of Name Server

ns1     IN      A       172.16.10.2

;Mail Exchanger

infoit.local.   IN     MX   10   mail.infoit.local.

;A – Record HostName To Ip Address

www     IN       A      172.16.10.3
mail    IN       A      172.16.10.4

;CNAME record

ftp     IN      CNAME   www.infoit.local.

2. R

2. Файл обратного просмотра зоны

Акронимы в файле зоны Revese:

  • PTR — указатель
  • SOA — Начало полномочий

Скопируйте образец файла обратной зоны в etc/bindфайл с именемreverse.infoit.local.db.

sudo cp /etc/bind/db.127 /etc/bind/reverse.infoit.local.db

Отредактируйте содержимое файла, чтобы оно соответствовало вашему домену:

sudo nano /etc/bind/reverse.infoit.local.db
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     infoit.local. root.infoit.local. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;

;Name Server Information

@       IN      NS     ns1.infoit.local.
ns1     IN      A       172.16.10.2
;Reverse lookup for Name Server

2      IN      PTR    ns1.infoit.local.

;PTR Record IP address to HostName

3     IN      PTR    www.infoit.local.
4     IN      PTR    mail.infoit.local.

Проверьте синтаксис BIND DNS в Ubuntu 20.04

Команда named-checkconfиспользуется для проверки правильности синтаксиса или наличия ошибок. Команда должна вернуться в оболочку, если ошибки нет.

sudo named-checkconf

Команда named-checkzone используется для проверки синтаксиса файлов прямой и обратной зоны:

#forward zone file
sudo named-checkzone infoit.local /etc/bind/forward.infoit.local.db


#reverse zone file
named-checkzone 10.16.172.in-addr.arpa /etc/bind/reverse.infoit.local.db

Результат должен быть:

#forward zone file
[email protected]:~# sudo named-checkzone infoit.local /etc/bind/forward.infoit.local.db
zone infoit.local/IN: loaded serial 2
OK


#reverse zone file
[email protected]:~# named-checkzone 10.16.172.in-addr.arpa /etc/bind/reverse.infoit.local.db 
zone 10.16.172.in-addr.arpa/IN: loaded serial 1
OK

Наконец, перезапустите и включите службу BIND:

sudo systemctl restart bind9
sudo systemctl enable bind9

Обновление записей Bind DNS

Необходимо обновить запись DNS как в файлах, так /etc/bind/forward.infoit.local.dbи в /etc/bind/reverse.infoit.local.dbфайлах.

При обновлении записи DNS измените серийный номер файла прямой и обратной зоны на номер, превышающий текущий.

Тестирование DNS-сервера

На любом клиентском компьютере измените его DNS-сервер на наш недавно развернутый сервер. В нашем случае это 172.16.10.2.

Настройка DNS-сервера зависит от операционной системы. В Ubuntu:

sudo echo "nameserver 172.16.10.2" >> /etc/resolv.conf

Давайте протестируем наше разрешение DNS с помощью digкоманды. Команда dig используется для получения информации о доменном имени, включая такие вещи, как DNS-сервер, IP-адрес домена, записи MX

[email protected]:~# dig www.infoit.local 

; <<>> DiG 9.16.1-Ubuntu <<>> www.infoit.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65241
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: fabd20125b9ccbff010000005f8c7204e1387a993d58c22f (good)
;; QUESTION SECTION:
;www.infoit.local.	IN	A

;; ANSWER SECTION:
www.infoit.local. 604800 IN	A	172.16.10.3

;; Query time: 4 msec
;; SERVER: 172.16.10.10#53(172.16.10.10)
;; WHEN: Sun Oct 18 16:49:08 UTC 2020
;; MSG SIZE  rcvd: 100

В выходных данных содержится информация об А-записи infoit.lan.

Чтобы проверить обратный DNS:

[email protected]:~# dig -x 172.16.10.3

; <<>> DiG 9.16.1-Ubuntu <<>> -x 172.16.10.3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62529
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 7b8c9b8971f74afc010000005f8c72a8bdc5ebbdb4869578 (good)
;; QUESTION SECTION:
;3.10.16.172.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
3.10.16.172.in-addr.arpa. 604800 IN	PTR	www.infoit.local.

;; Query time: 0 msec
;; SERVER: 172.16.10.10#53(172.16.10.10)
;; WHEN: Sun Oct 18 16:51:52 UTC 2020
;; MSG SIZE  rcvd: 122

Это рабочее доказательство того, что поиск в прямой и обратной зоне работает нормально.

Вывод

Мы успешно развернули локальный DNS-сервер в Ubuntu 20.04 LTS. Это может быть полезно системному администратору в вашей локальной сети для управления вашими системами и приложениями. Ваши приложения могут обмениваться данными через доменные имена, это избавляет от необходимости повторно настраивать ваши приложения при изменении IP-адресов.

Прокрутить вверх