Сегодня расссмотрим настройку интеграции FreeIPA DNS сервера в качестве мастер-контроллера DNS и двух внешних Bind-серверов для обслуживания собственных доменных зон в сети интернет.
Регистрация собственных NS-серверов
Прежде всего нам понадобится зарегистрировать собственные NS-сервера на одном из доменов, для чего необходимо обратиться к хостинг-провайдеру в моем случае в техническую поддержку, а у рег.ру это можно сделать из панели управления.
Добрый день.
Мы с вами такое уже настраивали, давно правда. У меня есть два сервера настроенные как NS сервера для домена shiskitech.ru (приобретен у вас). А настроил описание зоны и настроил трансфер между серерами.
Конфигурация зоны:
$TTL 86400
@ IN SOA ns1.shiskitech.ru. admin.shiskitech.ru. (
2026190203 ; Serial (дата + номер ревизии)
3600 ; Refresh (1 час)
1800 ; Retry (30 минут)
1209600 ; Expire (14 дней)
86400 ; Minimum TTL (1 день)
); NS-записи (серверы имён домена)
@ IN NS ns1.shiskitech.ru.
@ IN NS ns2.shiskitech.ru.; A-записи для NS-серверов
ns1.shiskitech.ru. IN A 185.135.81.157
ns2.shiskitech.ru. IN A 45.155.204.127; A-запись для самого домена (опционально)
shiskitech.ru. IN A 185.135.81.157; Дополнительные записи (по необходимости)
www.shiskitech.ru. IN A 185.135.81.157
test.shiskitech.ru. IN A 185.135.81.157Мне надо, чтобы вы настроили на своей стороне разрешение зоны на мои DNS-сервера. В консоли управления зоной у вас такого функционала нет и в прошлый раз вы мне сами настраивали.
Заранее спасибо.
Настройка основного домена на базе DNS-сервера Bind
Файл конфигурации /etc/bind/named.conf.options.
options {
directory "/var/cache/bind";
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation no;
allow-query { localhost; any; };
listen-on-v6 { any; };
};
logging {
// Канал для общих запросов
channel query_log {
file "/var/log/bind/queries.log" versions 3 size 5m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
// Канал для передачи зон (AXFR/IXFR)
channel transfer_log {
file "/var/log/bind/transfers.log" versions 3 size 5m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
// Канал для ошибок и предупреждений
channel error_log {
file "/var/log/bind/errors.log" versions 5 size 10m;
severity error;
print-time yes;
};
// Назначение категорий каналам
category queries { query_log; };
#category transfers { transfer_log; };
category xfer-in { transfer_log; };
category xfer-out { transfer_log; };
category config { error_log; };
category security { error_log; };
category general { error_log; };
};
Файл конфигурации /etc/bind/named.conf.local.
zone "shiskitech.ru" {
type master;
file "/var/lib/bind/db.shiskitech.ru";
allow-transfer { 45.155.204.127; 127.0.0.1; };
also-notify { 45.155.204.127; };
};
zone "rain.shiskitech.ru" {
type slave;
file "/var/lib/bind/db.rain.shiskitech.ru.slave";
masters { 213.171.29.99; 10.101.5.14; 127.0.0.1;};
};
zone "rpz" {
type master;
allow-transfer { 45.155.204.127; 127.0.0.1;};
also-notify { 45.155.204.127; };
file "/var/lib/bind/db.rpz.local";
};
zone "anton-c.ru" {
type slave;
file "/var/lib/bind/db.anton-c.ru.slave";
masters { 213.171.29.99; 10.101.5.14; 127.0.0.1;};
};
zone "bds.su" {
type slave;
file "/var/lib/bind/db.bds.su.slave";
masters { 213.171.29.99; 10.101.5.14; 127.0.0.1;};
};
zone "interlan.xyz" {
type slave;
file "/var/lib/bind/db.interlan.xyz.slave";
masters { 213.171.29.99; 10.101.5.14; };
};
Описание конфигурации основного домена /var/lib/bind/db.shiskitech.ru.
$TTL 86400
@ IN SOA ns1.shiskitech.ru. admin.shiskitech.ru. (
2026190203 ; Serial (дата + номер ревизии)
3600 ; Refresh (1 час)
1800 ; Retry (30 минут)
1209600 ; Expire (14 дней)
86400 ; Minimum TTL (1 день)
)
; NS-записи (серверы имён домена)
@ IN NS ns1.shiskitech.ru.
@ IN NS ns2.shiskitech.ru.
; A-записи для NS-серверов
ns1.shiskitech.ru. IN A 185.135.81.157
ns2.shiskitech.ru. IN A 45.155.204.127
; A-запись для самого домена (опционально)
shiskitech.ru. IN A 185.135.81.157
; Дополнительные записи (по необходимости)
www.shiskitech.ru. IN A 185.135.81.157
test.shiskitech.ru. IN A 185.135.81.157
Перезапускаем DNS-сервер Bind.
# systemctl restart bind9
Проверяем передачу зоны основного домена.
# dig @127.0.0.1 shiskitech.ru AXFR
; <<>> DiG 9.18.39-0ubuntu0.22.04.3-Ubuntu <<>> @127.0.0.1 shiskitech.ru AXFR
; (1 server found)
;; global options: +cmd
shiskitech.ru. 86400 IN SOA ns1.shiskitech.ru. admin.shiskitech.ru. 2026190203 3600 1800 1209600 86400
shiskitech.ru. 86400 IN NS ns1.shiskitech.ru.
shiskitech.ru. 86400 IN NS ns2.shiskitech.ru.
shiskitech.ru. 86400 IN A 185.135.81.157
ns1.shiskitech.ru. 86400 IN A 185.135.81.157
ns2.shiskitech.ru. 86400 IN A 45.155.204.127
test.shiskitech.ru. 86400 IN A 185.135.81.157
www.shiskitech.ru. 86400 IN A 185.135.81.157
shiskitech.ru. 86400 IN SOA ns1.shiskitech.ru. admin.shiskitech.ru. 2026190203 3600 1800 1209600 86400
;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (TCP)
;; WHEN: Wed May 13 11:35:07 +07 2026
;; XFR size: 9 records (messages 1, bytes 273)
Настраиваем резервный контроллер домена
Резервный контроллер домена создам аналогичным образом на базе DNS-сервера Bind.
Файл конфигурации /etc/bind/named.conf.options.
options {
directory "/var/cache/bind";
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation no;
allow-query { localhost; any; };
listen-on-v6 { any; };
};
logging {
// Канал для общих запросов
channel query_log {
file "/var/log/bind/queries.log" versions 3 size 5m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
// Канал для передачи зон (AXFR/IXFR)
channel transfer_log {
file "/var/log/bind/transfers.log" versions 3 size 5m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
// Канал для ошибок и предупреждений
channel error_log {
file "/var/log/bind/errors.log" versions 5 size 10m;
severity error;
print-time yes;
};
// Назначение категорий каналам
category queries { query_log; };
#category transfers { transfer_log; };
category xfer-in { transfer_log; };
category xfer-out { transfer_log; };
category config { error_log; };
category security { error_log; };
category general { error_log; };
};
Файл конфигурации /etc/bind/named.conf.local.
zone "shiskitech.ru" {
type slave;
file "/var/lib/bind/db.shiskitech.ru.slave";
masters { 213.171.29.99; 10.101.5.14; };
};
zone "rain.shiskitech.ru" {
type slave;
file "/var/lib/bind/db.rain.shiskitech.ru.slave";
masters { 213.171.29.99; 10.101.5.14; };
};
zone "anton-c.ru" {
type slave;
file "/var/lib/bind/db.anton-c.ru.slave";
masters { 213.171.29.99; 10.101.5.14; };
};
zone "bds.su" {
type slave;
file "/var/lib/bind/db.bds.su.slave";
masters { 213.171.29.99; 10.101.5.14; };
};
zone "interlan.xyz" {
type slave;
file "/var/lib/bind/db.interlan.xyz.slave";
masters { 213.171.29.99; 10.101.5.14; };
};
zone "rpz" {
type slave;
file "/var/lib/bind/db.rpz.slave";
masters { 185.135.81.157; };
};
Настройка DNS-сервера на базе FreeIPA
Переходим в web-интерфейсе управления в раздел Сетевые службы -> DNS -> зоны DNS и создаем дополнительный домен.

Можно не использовать web-интерфейс а проделать эти операции из консоли сервера.
Создаем домен.
# kinit admin
# ipa dnszone-add anton-c.ru --force --skip-overlap-check --admin-email=chernousov@anton-c.ru
Zone name: anton-c.ru.
Active zone: True
Authoritative nameserver: srv-prod-rain-05.rain.shiskitech.ru.
Administrator e-mail address: chernousov.anton-c.ru
SOA serial: 1778651044
SOA refresh: 3600
SOA retry: 900
SOA expire: 1209600
SOA minimum: 3600
BIND update policy: grant RAIN.SHISKITECH.RU krb5-self * A; grant RAIN.SHISKITECH.RU krb5-self * AAAA; grant RAIN.SHISKITECH.RU krb5-self * SSHFP;
Dynamic update: False
Allow query: any;
Allow transfer: none;
Инструментов импорта существующих данных увы не предусмотрено, поэтому придется создавать записи вручную или написать скрипт конвертации. В моем случае было проще забить данные руками.
Разрешаем трансфер зоны.
# ipa dnszone-mod interlan.xyz --allow-transfer="10.101.5.9;10.101.5.7;45.155.204.127;185.135.81.157;"
Zone name: interlan.xyz.
Active zone: True
Authoritative nameserver: srv-prod-rain-05.rain.shiskitech.ru.
Administrator e-mail address: hostmaster
SOA serial: 1778652125
SOA refresh: 3600
SOA retry: 900
SOA expire: 1209600
SOA minimum: 3600
BIND update policy: grant RAIN.SHISKITECH.RU krb5-self * A; grant RAIN.SHISKITECH.RU krb5-self * AAAA; grant RAIN.SHISKITECH.RU krb5-self * SSHFP;
Dynamic update: False
Allow query: any;
Allow transfer: 10.101.5.9;10.101.5.7;45.155.204.127;185.135.81.157;
Инициализируем трансфер зоны на резервных DNS-серверах.
# rndc reload interlan.xyz
Проверяем логи передачи зоны.
# cat /var/log/bind/transfers.log | tail -n 100
Проверяем, что передача зоны прошла успешно.
13-May-2026 09:04:10.851 xfer-in: info: transfer of 'interlan.xyz/IN' from 213.171.29.99#53: connected using 213.171.29.99#53
13-May-2026 09:04:10.859 xfer-in: info: zone interlan.xyz/IN: transferred serial 1778652125
13-May-2026 09:04:10.859 xfer-in: info: transfer of 'interlan.xyz/IN' from 213.171.29.99#53: Transfer status: success
13-May-2026 09:04:10.859 xfer-in: info: transfer of 'interlan.xyz/IN' from 213.171.29.99#53: Transfer completed: 1 messages, 12 records, 693 bytes, 0.004 secs (173250 bytes/sec) (serial 1778652125)
Запрашиваем данные.
# dig @127.0.0.1 interlan.xyz AXFR
; <<>> DiG 9.18.39-0ubuntu0.22.04.3-Ubuntu <<>> @127.0.0.1 interlan.xyz AXFR
; (1 server found)
;; global options: +cmd
interlan.xyz. 86400 IN SOA srv-prod-rain-05.rain.shiskitech.ru. hostmaster.interlan.xyz. 1778652125 3600 900 1209600 3600
interlan.xyz. 86400 IN NS ns1.shiskitech.ru.
interlan.xyz. 86400 IN NS ns2.shiskitech.ru.
interlan.xyz. 86400 IN NS srv-prod-rain-05.rain.shiskitech.ru.
interlan.xyz. 86400 IN MX 10 mx.yandex.net.
interlan.xyz. 86400 IN A 45.155.204.127
094bdd5a762914a2b517921943f9e1fa.interlan.xyz. 86400 IN CNAME verify.bing.com.
mail._domainkey.interlan.xyz. 86400 IN TXT "v=DKIM1;" "k=rsa;" "t=s;" "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgvZbsH4Aqi9hypaSakTw1S8fy3Wf2+RmUTHQnck0oQswbbopuG7yXHTZYzvN04w7/YOX5Su7w+HOBbdAvFUjWbNkoSuihngGNXDIp0A/HVSbBzxOMw/rBMykT+4IWQ6JNBl0/3pleSkmToa8uLNoZGQT0dOagu3bXlkOTSe09EQIDAQAB," "v=spf1" "redirect=_spf.yandex.net"
cloud.interlan.xyz. 86400 IN A 213.171.29.99
git.interlan.xyz. 86400 IN A 45.155.204.127
www.interlan.xyz. 86400 IN A 45.155.204.127
interlan.xyz. 86400 IN SOA srv-prod-rain-05.rain.shiskitech.ru. hostmaster.interlan.xyz. 1778652125 3600 900 1209600 3600
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (TCP)
;; WHEN: Wed May 13 09:10:39 MSK 2026
;; XFR size: 12 records (messages 1, bytes 732)
Сверяемся с WEB-интерфейсом.

Все отработало и можем мигрировать оставшиеся домены.




