Skip to main content

Установка DNS-сервиса

Установка BIND DNS

Примечание. Если в окружении нет DNS-резолвера, можно установить локальную службу BIND DNS.

Шаги ниже необходимо выполнить на сервере SMP, участвующем в установке XDR.

1. Обновите индекс пакетов:

sudo apt-get update

2. Установите BIND9 и DNS-инструменты:

sudo apt-get install -y bind9 bind9utils dnsutils

3. Включите и запустите службу BIND9:

sudo systemctl enable --now bind9

4. Создайте каталог для файлов зон:

sudo mkdir -p /etc/bind/zones

5. Получите короткое имя хоста этого сервера:

HOST=$(hostname -s)

6. Убедитесь, что файл конфигурации локальных зон существует:

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

7. Задайте путь к файлу зоны и добавьте определение зоны (только если оно ещё не добавлено). Вместо example.local используйте свой домен для SMP.

ZFILE="/etc/bind/zones/db.example.local"
grep -q "zone \"example.local\"" /etc/bind/named.conf.local || sudo tee -a /etc/bind/named.conf.local >/dev/null <<EOF

zone "example.local" {
 type master;
 file "example.local";
};
EOF

8. Создайте файл зоны с A-записями для вашего домена:

Здесь example.local - домен OSMP, xdr.example.local - имя физического сервера OSMP, 10.10.20.96 - адрес шлюза k8s, 10.10.20.208 - адрес физического сервера OSMP. Замените эти данные на ваши значения.

SERIAL=$(date +%Y%m%d01)
sudo tee "/etc/bind/zones/db.example.local" >/dev/null <<EOF
\$TTL 604800
@ IN SOA ns.example.local. admin.example.local. (
 $SERIAL
 604800
 86400
 2419200
 604800 )
@ IN NS ns.example.local.
ns IN A 10.10.20.208
api IN A 10.10.20.96
kuma IN A 10.10.20.96

*.kuma IN A 10.10.20.96
monitoring IN A 10.10.20.96
admsrv IN A 10.10.20.96
console IN A 10.10.20.96

agentserver IN A 10.10.20.96

updater IN A 10.10.20.96
xdr.example.local IN A 10.10.20.208
EOF

9. Проверьте синтаксис конфигурации BIND:

sudo named-checkconf

10. Проверьте файл зоны (замените example.local на имя вашего домена):

sudo named-checkzone "example.local" "/etc/bind/zones/db.example.local"

11. Перезапустите BIND9:

sudo systemctl restart bind9

12. Проверьте разрешение имён на DNS-сервере (замените example.local на имя вашего домена):

nslookup console.example.local
nslookup kuma.example.local
nslookup api.example.local
nslookup admsrv.example.local
nslookup monitoring.example.local
nslookup updater.example.local

13. Запросите DNS-сервер напрямую с помощью dig (замените example.local на имя вашего домена):

dig @10.10.20.208 api.example.local +short
dig @10.10.20.96 console.example.local +short
dig @10.10.20.96 kuma.example.local +short

14. Не забудьте настроить все остальные машины на использование этого DNS (замените example.local и 10.10.20.208 на ваши значения):

IFACE=$(ip route | awk '/default/ {print $5; exit}')
sudo resolvectl dns "$IFACE" 10.10.20.208
sudo resolvectl domain "$IFACE" example.local