НАСТРОЙКА DNS СЕРВЕРА BIND9 В DEBIAN / UBUNTU / MINT

В этот раз мы рассмотрим элементарный вариант DNS сервера для домашней локалки, но в будущем, скорее всего, я еще вернусь к этой теме и приведу дополнительные примеры c более подробными комментариями.  

Для данного примера будут использоваться три компа и роутер.

192.168.88.1 - это наш роутер. (router)
192.168.88.2 - основной NDS сервер. (main)
192.168.88.3 - дополнительный DNS сервер. (second)
192.168.88.4 - клиент (client)

Кстати говоря, я обычно не прыгаю от компа к компу, а пользуюсь SSH-клиентом Putty.

Итак, очевидно для начала надо скачать и установить BIND9:

sudo apt-get install bind9

Затем переидем в каталог

cd /etc/bind

Дальнейшая инструкция подразумевает что все действия будут производиться именно из него.

Отредактируем файл конфигурации:

sudo nano named.conf.options

 и добавим следущее:

forwarders {
8.8.8.8;
8.8.4.4;
};

Многие пишут, что теперь можно проверить работу нашего сервера. Но нет. Мы не будем. Поедем дальше:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Добавим туда это:

domain home
search
nameserver 192.168.88.2
nameserver 192.168.88.3
nameserver 127.0.0.1

Настройка основного DNS сервера

Доменное имя "home"

IP сервера 192.168.88.2

Имя сервера Primary DNS: main.home


Делаем на компе 1

Откроем ‘/etc/bind/named.conf’ файл.

sudo nano /etc/bind/named.conf

Убедимся, что там есть следующие строки

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

Если их там нет, добавим их.

Нам нужно создать две зоны для прямого и обратного просмотра.

sudo nano named.conf.local

zone "home" {
type master;
file "/etc/bind/forward.home"; };
allow-transfer { 192.168.88.3; };
also-notify { 192.168.88.3; };
};

zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/reverse.home";
allow-transfer { 192.168.88.3; };
also-notify { 192.168.88.3; };
};

zone "home" - информаци о зоне использования DNS, указанный тип - master, путь к файлу хранения.

zone "88.168.192.in-addr.arpa" - зона обратного просмотра.

Теперь создадим файлф зоны "home"

sudo nano forward.home

Вставляем сюда это:

$TTL 86400
$ORIGIN home.
@ IN SOA main.home. root.home. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS main.home.
@ IN NS second.home.
@ IN A 192.168.88.2
@ IN A 192.168.88.3
@ IN A 192.168.88.4
main IN A 192.168.88.2
second IN A 192.168.88.3
client IN A 192.168.88.4
router      IN          A              192.168.88.1

В конце файла должна быть пустая строка.

Теперь создадим обратную зону:

sudo nano reverse.home

 И добавим туда следующее:

$TTL 86400
@ IN SOA main.home. root.home. (
2011071002 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS main.home.
@ IN NS second.home.
@ IN PTR home.
main IN A 192.168.88.2
second IN A 192.168.88.3
client IN A 192.168.88.4
2 IN PTR main.home.
3 IN PTR second.home.
4 IN PTR client.home.
1 IN PTR router.home.

Здесь тоже в конце должна быть пустая строка.
Не помешает подправить настройки доступа:

sudo chmod -R 775 /etc/bind

sudo chown -R bind:bind /etc/bind

Теперь протестируем всю эту ерунду:

sudo named-checkconf /etc/bind/named.conf

sudo named-checkconf /etc/bind/named.conf.local

 Если ничего не возвращается, тогда ваши настройки верны и можно ехать дальше.

sudo named-checkzone home /etc/bind/forward.home

Вывод команды должен быть таким:

zone home/IN: loaded serial 2011071001
OK

 Тестим реверс:

sudo named-checkzone home /etc/bind/reverse.home

 Получаем ответ:

zone home/IN: loaded serial 2011071002
OK 

И перезагружаем сервис:

sudo systemctl restart bind9

Теперь можно потестить все, что мы натворили

nslookup home

Вывод:

Server: 127.0.0.1
Address: 127.0.0.1#53
Name: home
Address: 192.168.88.3
Name: home
Address: 192.168.88.4
Name: home
Address: 192.168.88.2

Таким же образом можно протестить зону обратного просмотра.

nslookup 192.168.88.4

Вывод:

Server:      127.0.0.1
Address 127.0.0.1#53

4.88.168.192.in-addr.arpa name = client.home.

Если у вас примерно то же самое, то похоже, на этом все.

Теперь приступим к настройке дополнительного DNS сервера.
Второй DNS сервер желателен на тот случай, если по какой-то причине отвалится первый, но его наличие не обязательно.

Делаем на компе 2

sudo apt-get install bind9 bind9utils bind9-doc

Откроем "/etc/bind/named.conf" файл.

sudo nano /etc/bind/named.conf

Убедимся, что там есть следующие строки

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

Если их там нет, добавим их.

Теперь, отредактируем named.conf.local,

sudo nano /etc/bind/named.conf.local

Вставим туда

zone "home" {
type slave;
file "/var/cache/bind/forward.home";
masters { 192.168.88.2; };
};

zone "88.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/reverse.home";
masters { 192.168.88.2; };
};

Файлы зон второго сервера должны быть размещены в /var/cache/bind ну просто потому что потому. Логично предположить, что они дублируют свои аналоги на основном сервере.

Раздаем права:

sudo chmod -R 755 /etc/bind

sudo chown -R bind:bind /etc/bind

 На всякий случай перезагрузим службу

sudo /etc/init.d/bind9 restart

Ну и наконец настроим клиент...

/etc/resolv.conf каждый автоматически переписывается после перезагрузки, поэтому подправим шаблон, откуда он обновляется:

sudo nano /etc/resolvconf/resolv.conf.d/tail

 Добавляем следующие строчки

search home
nameserver 192.168.88.2
nameserver 192.168.88.3

После всех этих манипуляций следует настроить DHCP на роутере, указав адреса ваших DNS-серверов.