3  /  16

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

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

Подробный мануал

Установка необходимых пакетов:

sudo apt install bind9 dnsutils -y

если произошла ошибка при установки, значит нужно просто добавить рабочий репозиторий, я использую:

deb http://http.us.debian.org/debian/ bullseye main contrib non-free

Статус службы можно посмотреть с помощью команды:

systemctl status bind9

Файлы конфигурации расположены в директории /etc/bind:

cd /etc/bind/



Master Server

Server IP: 192.168.100.174

1) Редактируем файл общих опций:

sudo nano named.conf.options

содержимое:

options {
        directory "/var/cache/bind";
        listen-on port 53 { 192.168.100.174; 127.0.0.1; };
        recursion yes;
        allow-query { any; };
        allow-transfer { 192.168.100.175;};

};

2) Редактируем файл опций локальной зоны:

sudo nano named.conf.local

содержимое:

zone "mic" in {
               type master; 
               file "/etc/bind/db.mic";
               };

zone "100.168.192.in-addr.arpa" in {
               type master;
               file "/etc/bind/db.mic.arpa";
               };

3) Создадим файл зоны прямого преобразования:

sudo touch db.mic
sudo nano db.mic

содержимое:

$TTL 34600
@  IN   SOA  server. root.server. (
                                   2021092001 ; Серийный номер зоны    
                                           2H ; Синхронизация каждые
                                          30M ; Повтор синхронизации
                                           1W ; Период повтора
                                           1D ; Кэш НЕ правильных запросов
                                   )  

@  IN   NS   server.
server       IN      A       192.168.100.183
khasan       IN      CNAME   server
hurshid      IN      A       192.168.100.20
ramil        IN      A       192.168.100.21
bekzod       IN      A       192.168.100.22

4) Создадим файл зоны обратного преобразования:

sudo touch db.mic.arpa
sudo nano db.mic.arpa 

Содержимое:

$TTL 34600
@  IN   SOA  server. root.server. (
                                   2021092001 ; Серийный номер зоны
                                           2H ; Синхронизация каждые
                                          30M ; Повтор синхронизации
                                           1W ; Период повтора
                                           1D ; Кэш НЕ правильных запросов
                                   )

@  IN   NS   server.
server       IN      A       192.168.100.183
183          IN      PTR     server.mic.
20           IN      PTR     hurshid.mic.
21           IN      PTR     ramil.mic.
22           IN      PTR     bekzod.mic.

5) Для применений изменений в конфигурационных файлах, перезапустим службу:

sudo systemctl restart bind9



6) Для того чтоб мы могли проверить работоспособность наших настроек, необходимо сменить адрес DNS сервера (временно):
echo "nameserver 127.0.0.1" |sudo tee  /etc/resolv.conf

проверяем прямую зону:

nslookup khasan.mic

Проверяем обратную зону:
nslookup 192.168.100.21



Slave Server

Server IP: 192.168.100.175

1) Редактируем файл общих опций:

sudo nano named.conf.options

содержимое:

options {
        directory "/var/cache/bind";
        listen-on port 53 { 192.168.8.229.175; 127.0.0.1; };
        recursion yes;
        allow-query { any; };

};

2) Редактируем файл опций локальной зоны:

sudo nano named.conf.local

содержимое:

zone "mic" in {
               type slave;
               masters {192.168.100.174;};
               file "/var/cache/bind/db.mic";
              };

zone "100.168.192.in-addr.arpa" in {
               type slave; 
               masters {192.168.100.174;};
               file "/var/cache/bind/db.mic.arpa";
              };

3) Для применений изменений в конфигурационных файлах, перезапустим службу:

sudo systemctl restart bind9

если все прошло без ошибок, то вы должны увидеть два новых файла в директории /var/cache/bind/:




4) Для того чтоб мы могли проверить работоспособность наших настроек, необходимо сменить адрес DNS сервера (временно):
echo "nameserver 127.0.0.1" |sudo tee  /etc/resolv.conf

проверяем прямую зону:

nslookup ramil.mic 


Проверяем обратную зону:
nslookup 192.168.100.22


Диагностика

DNS использует — протокол TCP порт 53 и протокол UDP порт 53

Если у вас не установлена утилита tcpdump то:

sudo apt install tcpdump -y
  • мониторим TCP порт 53 на входящем интерфейсе (со стороны DNS клиентов):
sudo tcpdump -i eth0 -p tcp  port 53
  • мониторим UDP порт 53 на входящем интерфейсе (со стороны DNS клиентов):
sudo tcpdump -i eth0 -p udp  port 53