BIND (Berkeley Internet Name Domain):
это открытая и наиболее распространенная реализация DNS-сервера, отвечающая за преобразование доменных имен в IP-адреса и наоборот.
Разворачивать Bind будем на базе Ubuntu 24.04
После установки и предварительных настроек Ubuntu 24.04 перейдем к установке и настройке Bind.
sudo apt install -y bind9 bind9utils
...
info: Selecting GID from range 100 to 999 ...
info: Adding group `bind' (GID 110) ...
info: Selecting UID from range 100 to 999 ...
info: Adding system user `bind' (UID 110) ...
info: Adding new user `bind' (UID 110) with group `bind' ...
info: Not creating home directory `/var/cache/bind'.
wrote key file "/etc/bind/rndc.key"
named-resolvconf.service is a disabled or a static unit, not starting it.
Created symlink /etc/systemd/system/bind9.service → /usr/lib/systemd/system/named.service.
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
...
Ошибок нет, двигаемся дальше
Файлы конфигурации BIND
/etc/default/bind9
/etc/bind/named.conf
/etc/bind/named.conf.options
/etc/bind/named.conf.local
/etc/bind/named.conf.default-zones
Если будем использовать только IPv4, то правим файл /etc/default/named
sudo nano /etc/default/named
#
# run resolvconf?
RESOLVCONF=no
# startup options for the server
OPTIONS="-u bind -4"
Правим файл /etc/bind/named.conf.options и меняем его содержимое на следующее:
sudo nano /etc/bind/named.conf.options
// Managing acls
acl internals { 127.0.0.0/8; 10.0.0.0/24; };
options {
directory "/var/cache/bind";
version "Go Away 0.0.7";
notify no;
empty-zones-enable no;
auth-nxdomain yes;
forwarders {
10.0.0.1; // top level DNS like a router etc.
// 8.8.8.8;
// 8.8.4.4;
};
allow-transfer { none; };
dnssec-validation no;
// Removed with BIND 9.18:
// dnssec-enable no;
// If you only use IPv4.
listen-on-v6 { none; };
// listen on these ipnumbers.
listen-on port 53 {
10.0.0.254; // IP of our DC and BIND Server
127.0.0.1;
::1;
};
// Added Per Debian buster Bind9.
// Due to : resolver: info: resolver priming query complete messages in the logs.
// See: https://gitlab.isc.org/isc-projects/bind9/commit/4a827494618e776a78b413d863bc23badd14ea42
minimal-responses yes;
// Add any subnets or hosts you want to allow to use this DNS server
allow-query { "internals"; };
allow-query-cache { "internals"; };
// Add any subnets or hosts you want to allow to use recursive queries
recursion yes;
allow-recursion { "internals"; };
// https://wiki.samba.org/index.php/Dns-backend_bind
// DNS dynamic updates via Kerberos (optional, but recommended)
// ONE of the following lines should be enabled AFTER you provision or join a DC with bind9_dlz
// or AFTER upgrading your dns from internal to bind9_dlz
// Before Samba 4.9.0
// tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
// From Samba 4.9.0 ( You will need to run samba_upgradedns if upgrading your Samba version. )
// tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
};
строку tkey-gssapi-keytab «/var/lib/samba/bind-dns/dns.keytab»; раскомментируем ПОСЛЕ объявления домена
В файле /etc/bind/named.conf.local, просто добавляем одну строку со ссылкой на файл предоставляемым SAMBA, т.к. SAMBA еще не установлена временно закоментируем:
sudo nano /etc/bind/named.conf.local
//
// Do any local configuration here
//
// include "/var/lib/samba/bind-dns/named.conf";
Файл /etc/bind/named.conf.default-zones не требует правки
DNS сервер может только перезапускаться (restart).
sudo nano /usr/lib/systemd/system/named.service
# ExecReload=/usr/sbin/rndc reload
ExecReload=/usr/sbin/rndc restart
Перезагружаем конфигурацию менеджера systemd
sudo systemctl daemon-reload
Запускаем DNS сервер
sudo systemctl start bind9
sudo systemctl status bind9
...
named.service - BIND Domain Name Server
Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-08-22 06:58:15 UTC; 3min 16s ago
...
Сервер запустился.
Проверяем работу
host -t A localhost 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
localhost has address 127.0.0.1
Тест обратной зоны
host -t PTR 127.0.0.1 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
1.0.0.127.in-addr.arpa domain name pointer localhost.
Переходим к установке Samba