Содержание

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Установка пакета

Пакет bind9 входит в стандартный дистрибутив.
Установку службы DNS BIND9 можно выполнить из графического установщика, или из командной строки:


apt install bind9

При установке пакета bind9 будет автоматически уставновлен пакет инструментов командной строки bind9utils. Из этих инструментов следует отметить:

  • named-checkconf  — инструмент проверки синтаксиса файлов конфигурации
  • named-checkzone — инструмент проверки файлов зон DNS
  • rndc                             — инструмент управления службой DNS

В дополнение к пакетам bind9 и bind9utils, рекомендуем сразу установить пакет инструментов командной строки dnsutils, предназначенных для работы с DNS:

apt install dnsutils

В составе пакета dnsutils  будут установлены следующие инструменты:

  • dig              - инструмент для опроса DNS-серверов и проверки их реакции
  • nslookup - инструмент для проверки преобразования имен в IP-адреса
                          (далее в тексте используется термин "разрешение имён")
  • nsupdate - инструмент для динамического обновления записей DNS

Настройка службы

Важно: После настройки службы DNS не забудьте перенастроить службу DHCP,
чтобы клиентам выдавались правильные адреса серверов DNS.

Вариант простейшей настройки "Кеширующий сервер DNS"

Если у вас уже есть настроенный и доступный DNS-сервер (собственный, или сервер провайдера), создание в локальной сети кеширующего DNS-сервера позволит без особых затрат ускорить работу с Интернет за счет ускорения разрешения имен по запросам различных сетевых служб и/или пользовательскими программами.

Для примера предположим, что у нас есть:

  • сервер DNS с  адресом 192.168.32.211

Для создания кеширующего dns-сервера

  • раскомментируем в файле конфигурации /etc/bind/named.conf.options строки
//  forwarders {
//      0.0.0.0;
//  };
  • указываем адреса используемых DNS-серверов (для примера взяты адреса DNS-серверов Google),
    и добавляем IP-адреса сетевых интерфейсов, по которым сервис должен принимать запросы
    (в примере - запросы с локального компьютера и с сетевого адреса 192.168.32.211):
forwarders {
	8.8.8.8;
	8.8.4.4;
};
listen-on {
	127.0.0.1;
	192.168.32.211;
};
  • сохраняем файл
  • проверяем правильность конфигурации командой named-checkconf
  • и перезапускаем сервис

service bind9 restart

Проверить работоспособность и эффективность кеширующего DNS-сервера можно с помощью инструмента dig:

dig @localhost www.astralinux.ru | grep msec              # посылаем первый запрос
;; Query time: 15 msec

dig @localhost www.astralinux.ru | grep msec           # посылаем второй запрос например через через 5 сек
  ;; Query time: 0 msec

Вариант простой настройки "Локальный сервер DNS"

Это вариант настройки собственного полноценного DNS-сервера, обеслуживающего собственную локальную сеть (собственный домен). 
Создание DNS-сервера в локальной сети позволяет организовать единое пространство имён для всех сетевых служб и пользователей.
В отличие от кеширующего сервера из предыдущего примера, этот сервер самостоятельно обрабатывает запросы, относящиеся к его зоне ответственности.

Для примера, предположим, что у нас есть

  • домен localnet.example.ru
  • сервер DNS в этом домене с именем dns.localnet.example.ru и адресом 192.168.32.211
  • компьютер host в этом домене с именем host.localnet.example.ru и адресом 192.168.32.96

Настройка конфигурации bind:

  • на сервере DNS файл конфигурации /etc/bind/named.conf.options используем из предыдущего примера:
forwarders {
	8.8.8.8;
	8.8.4.4;
};
listen-on {
	127.0.0.1;
	192.168.32.211;
};
  • внесём информацию о домене в файл конфигурации /etc/bind/named.conf.local. Исходно в этом файле содержатся только комментарии. Добавляем следующие строки:
zone "localnet.example.com"    {                    # имя прямой зоны
    type master;                                    # тип master указывает, что запросы относительно этой зоны будут обрабатываться этим сервером, и перенаправляться не будут
    file "/etc/bind/zones/db.localnet.example.ru"; # путь к файлу данных прямой зоны

};
zone "32.168.192.in-addr.arpa" {                    # имя реверсивной зоны. Имя реверсивной зоны формируется из адреса сети, с обратным порядком чисел.
    type master;                                    # тип master указывает, что запросы, относящиеся к этой зоне, будут обрабатываться этим сервером, и перенаправляться не будут
    file "/etc/bind/zones/db.32.168.192";           # подсеть 192.168.32.0/24, путь к файлу данных
};
  • создаём каталог для хранения файлов данных, и копируем в созданный каталог образцы файлов данных:

mkdir /etc/bind/zones
cp /etc/bind/db.local /etc/bind/zones/db.localnet.example.ru
cp /etc/bind/db.127 /etc/bind/zones/
db.32.168.192

  • вносим изменения в файл прямой зоны /etc/bind/zones/db.localnet.example.com:
$TTL    604800
@ IN SOA localhost. root.localhost. (
@ IN SOA dns.localnet.example.ru. admin.localnet.example.ru. (
2 ; Serial
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
; name servers - NS records - определяем имена DNS-серверов
IN NS
dns.localnet.example.ru.
@ IN A 127.0.0.1
; name servers - A records - определяем адреса компьютеров, сначала сервер(ы) DNS
dns.localnet.example.ru. IN A 192.168.32.211
@ IN AAAA ::1
; 192.168.32.0/24 - A records - а потом все остальные компьютер(ы) сети
host.
localnet.example.ru. IN A 192.168.32.96
  • вносим измения в файл реверсивной зоны:
$TTL    604800
@ IN SOA localhost. root.localhost. (
@       IN      SOA     localnet.example.ru. admin.localnet.example.ru. (
 1         ; Serial
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
; name servers
      IN      NS      dns.localnet.example.ru.
1.0.0 IN PTR localhost. ; delete this line
; PTR Records
211     IN      PTR     dns.localnet.example.ru.    ; 192.168.32.211
96      IN      PTR     host.localnet.example.ru.   ; 192.168.32.96
  • проверяем созданную конфигурацию с помощью соответствующих инструментов :
named-checkconf
named-checkzone localnet.example.ru     /etc/bind/zones/db.localnet.example.ru
named-checkzone 32.168.192.in-addr.arpa /etc/bind/zones/db.32.168.192
  • и перезапускаем службу:
systemctl restart bind9

Проверить работу сервера можно выполнив на сервере команду:

dig @localhost host.localnet.example.ru

Добавляем резервный сервер.

Как и в примере ранее, предположим, что у нас есть

  • домен localnet.example.ru
  • сервер DNS в этом домене с именем dns.localnet.example.ru и адресом 192.168.32.211
  • компьютер host в этом домене с именем host.localnet.example.ru и адресом 192.168.32.96
  • и добавляется резервный сервер DNS dns2.localnet.example.ru и адресом 192.168.32.212

Для добавления резервного сервера

  • на основном сервере DNS внесём информацию о резервном сервере в файл конфигурации /etc/bind/named.conf.local, и перезапустим сервис.  Добавляемые строки выделены:
zone "localnet.example.com"    {                    
    type master;                                    
    file "/etc/bind/zones/db.localnet.example.ru";  
    allow-transfer { 192.168.32.212; };             # добавлен адрес вторичного сервера
};
zone "32.168.192.in-addr.arpa" {                    
    type master;                                    
    file "/etc/bind/zones/db.32.168.192";           
    allow-transfer { 192.168.32.212; };             # добавлен адрес вторичного сервера
};
  • на резервном сервере DNS файл конфигурации /etc/bind/named.conf.options используем из предыдущего примера, но с одним отличием - резервный сервер слушает адрес 192.168.32.212:
forwarders {
	8.8.8.8;
	8.8.4.4;
};
listen-on {
	127.0.0.1;
	192.168.32.212; # изменён адрес интерфейса
};
  • вносим изменения в файл конфигурации /etc/bind/named.conf.local.
zone "localnet.example.ru" {
    type slave;
    file "slaves/db.nyc3.example.com";
    masters { 192.168.32.211; };  # адрес первого сервера
};

zone "32.168.192.in-addr.arpa" {
    type slave;
    file "slaves/db.32.168.192";
    masters { 192.168.32.211; };  # адрес первого сервера
};
  • проверяем корректность конфигурации и перезапускаем сервис
named-checkconf
systemctl restart bind9

Дальнейшие настройки.

В работе.

Включение аутентификации по ключам.

В работе

Настройка клиентов

В работе.

  • No labels