- Что у нас есть?
# cat /etc/os-release ... NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ... #
- Установка
# apt-get update # apt-get dist-upgrade # apt install bind9 bind9utils
- Настройка
Каталог, куда всё установилось: /etc/bind/. Добавляем свою зону в /etc/bind/named.conf.localzone "test.com" { type master; file "/etc/bind/master/test.com"; };
В блок options файла /etc/bind/named.conf.options добавляем свои настройки:options { ..... version none; server-id none; hostname none; allow-recursion { none; }; };
И закомментируем строку dnssec-validation auto;
- Файл с зоной test.com
/etc/bind/master/test.com$TTL 3h @ IN SOA ns0 root ( 2022122701 ; Serial 3600 ; Refresh 900 ; Retry 1209600 ; Expire 3600 ) ; Minimum IN NS ns0 IN NS ns1 IN A 3.3.3.3 IN A 4.4.4.4 IN AAAA fe80::5555:5555:5555:3 IN AAAA fe80::4444:4444:4444:4 ;$ORIGIN @ $TTL 1h ns0 IN A 3.3.3.3 ns0 IN AAAA fe80::5555:5555:5555:3 ns1 IN A 4.4.4.4 ns1 IN AAAA fe80::5555:5555:5555:4 www IN A 3.3.3.3 www IN AAAA fe80::5555:5555:5555:3 www IN A 4.4.4.4 www IN AAAA fe80::5555:5555:5555:4
Самые внимательные заметили, что на www.test.com приходится аж 4 разных ip. Это называется round-robin и используется для распределения нагрузки на сайт по нескольким серверам.
P.S. Все ip-адреса являются вымышленными.
- Запуск
# systemctl enable named # systemctl restart named # systemctl status named
- Master - Slave
Бывает так, что нам хочется не один, а несколько dns-серверов и, чтобы не менять данные в файле одной и той же зоны на каждом сервере, один из них делается master, а остальные - slave, на них master передает все изменения в файле зоны. Настройки отличаются совсем чуть-чуть.
Файл /etc/bind/named.conf.local
master
zone "test.com" { type master; file "/etc/bind/master/test.com"; allow-transfer { 4.4.4.4; fe80::5555:5555:5555:4; }; allow-update { 4.4.4.4; fe80::5555:5555:5555:4; }; notify yes; };
slave
Делаем директорию /etc/bind/slave и делаем владельцем пользователя bind. Файл /etc/bind/slave/test.com НЕ СОЗДАЕМ.zone "test.com" { type master; file "/etc/bind/slave/test.com"; masters { 3.3.3.3; fe80::5555:5555:5555:3; }; allow-transfer { none; }; };
Статья опубликована: 2022-12-27 18:09:28
Последние правки: 2022-12-27 21:01:34
bind9, он же named - самостоятельный DNS сервер. Установим master DNS и настроим одну зону на Ubuntu.