НАСТРОЙКА 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 2011071001OK
Тестим реверс:
sudo named-checkzone home /etc/bind/reverse.home
Получаем ответ:
zone home/IN: loaded serial 2011071002OK
И перезагружаем сервис:
sudo systemctl restart bind9
Теперь можно потестить все, что мы натворили
nslookup home
Вывод:
Server: 127.0.0.1Address: 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-серверов.