Download PDF
Download page Динамическое обновление DNS клиентских машин FreeIPA.
Динамическое обновление DNS клиентских машин FreeIPA
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Введение
В больших сетях очевидна необходимость использования централизованной службы автоматического назначения компьютерам IP-адресов (службы DHCP). При использовании DHCP возникает необходимость поддержания разрешения имен, то есть установления соответствия имен компьютеров и динамически назначенных им адресов. При этом:
- устанавливаемая на клиентских машинах служба SSSD умеет сообщать контроллеру домена о своём IP-адресе;
- входящая в дистрибутив Astra Linux служба DHCP isc-dhcp-server имеет возможность автоматически сообщать доменному серверу DNS (DNS-сервер BIND9) о назначаемых клиентам адресах.
Таким образом, обновление адресов можно выполнять либо по инициативе клиентских машин, либо централизованно с помощью DHCP-сервера.
Настройка обновления с клиентских машин (SSSD)
Для включения обновления IP-адресов службой sssd в файл конфигурации этой службы /etc/sssd/sssd.conf в секцию с параметрами домена FreeIPA следует добавить опции:
[domain/...]
.....
# Включить обновление прямых записей (A/AAAA записей)
dyndns_update = true
# Включить обновление обратных записей (PTR записей)
dyndns_update_ptr = true
# Интервал обновления в секундах. По умолчанию - 0, и обновление выполняется только один раз при запуске службы SSSD.
# Если интервал менее 60 секунд, то обновление выполняется раз в 60 секунд.
# Если адрес после предыдущего обновления не изменялся - обновление не выполняется.
dyndns_refresh_interval = 60
Авторизация по ключам Kerberos для такого обновления настраивается автоматически при установке сервера и клиентов FreeIPA.
При установке клиента можно использовать ключ --enable-dns-updates, автоматически задающий нужные настройки:
Настройка централизованного обновления через службу isc-dhcp-server
Создание ключей
Создать ключ для сервера DHCP. Ключ будет автоматически сохранен в файле /etc/bind/rndc.key:
- В Astra Linux Special Edition 1.8:sudo rndc-confgen -a -b 256
- В более ранних обновлениях:sudo rndc-confgen -a -r /dev/random -b 256
В файл конфигурации сервера DNS /etc/bind/named.conf после раздела "options" добавить строчку:
Настройка сервера DNS FreeIPA
Запустить WEB-интерфейс управления сервера FreeIPA и в свойствах необходимой ПРЯМОЙ зоны в разделе "Политика обновления BIND" добавить запись:
grant rndc-key wildcard * ANY;
В свойствах соответствующей ОБРАТНОЙ зоны в том же разделе "Политика обновления BIND" добавить запись:
grant rndc-key wildcard * PTR;
Сохранить изменения и перезапустить службы FreeIPA:
Настройка isc-dhcp-server
Установить DHCP-сервер в соответствии с инструкциями.
В файле настроек /etc/default/isc-dhcp-server указать интерфейс, через который должна работать служба:
INTERFACESv4="eth0"
Отредактировать файл конфигурации /etc/dhcp/dhcpd.conf
(в примере подразумевается домен samdom.example.com и сеть 10.0.2.0/24 с адресом сервера FreeIPA/DNS 10.0.2.102):
ddns-updates on;
ddns-update-style standard;
include "/etc/bind/rndc.key";
ddns-domainname "";
update-static-leases on;
option domain-name "samdom.example.com";
option domain-search "samdom.example.com";
option domain-name-servers 10.0.2.102;
option dhcp-server-identifier 10.0.2.102;
#Следующая строка нужна только если используется Samba с WINS
#option netbios-name-servers 10.0.2.102;
default-lease-time 129600;
max-lease-time 1296000;
authoritative;
server-name "ipa.samdom.example.com";
server-identifier 10.0.2.102;
#Эта подсеть должна соответствовать подсети вашей локальной сети, обращенной к устройству Ethernet.
Subnet 10.0.2.0 netmask 255.255.255.0 {
option broadcast-address 10.0.2.255;
option subnet-mask 255.255.255.0;
option routers 10.0.2.1;
pool {
range 10.0.2.10 10.0.2.100;
allow known-clients;
allow unknown-clients;
max-lease-time 86400;
default-lease-time 43200;
}
zone samdom.example.com. {
primary 127.0.0.1;
key "rndc-key";
}
zone 2.0.10.in-addr.arpa. {
primary 127.0.0.1;
key "rndc-key";
}
}
В отладочных целях можно задать заведомо маленький диапазон адресов:
range 10.0.2.10 10.0.2.20;
и для гарантированного изменения адреса клиента заменять его на непересекающийся диапазон:
range 10.0.2.30 10.0.2.40;
На клиентах обновить и проверить адрес можно командами:
sudo dhclient
ip a
После внесения изменений в конфигурационные файлы необходимо перезапускать сервис DHCP:
Установка клиентов с включением автоматического обновления
DHCP-сервер передавая записи об адресах клиентов DNS-серверу подписывает переданные записи своим ключём. Это исключает возможность изменения "чужих" записей. Поэтому, чтобы динамическое обновление работало, нужно создать запись с помощью DHCP-сервера. Для этого нужно обновить адрес от имени полного доменного имени компьютера (FQDN). Это можно сделать следующими командами, выполняемыми до выполнения команды ввода клиента в домен:
sudo dhclient -r
sudo dhclient
- client - имя клиентского компьютера;
- somedom.example.com - имя домена;
- client.somedom.example.com - полное доменное имя компьютера.
Эти команды должны быть выполнены до ввода компьютера в домен.
Проверка успешности настройки
Проверить работу динамического обновления можно запустив отдельный компьютер, настроенный на получение сетевого адреса по DHCP.
После включения такого компьютера и получения им адреса этот компьютер станет доступен по имени.
Например, для компьютера с именем client можно попробовать для проверки следующие команды:
dig client.samdom.examle.com