Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Введение
В больших сетях очевидна необходимость использования сервера DHCP для автоматического назначения IP-адресов компьютерам, при этом возникает необходимость поддержания соответствия имён компьютеров и назначенных им адресов. При этом:
- устанавливаемая на клиентских машинах служба SSSD умеет сообщать контроллеру домена о своём IP-адресе;
- входящий в дистрибутив Astra Linux сервер DHCP isc-dhcp-server имеет возможность автоматически сообщать доменному серверу DNS (DNS-сервер BIND9) о назначаемых клиентам адресах.
Таким образом обновление адресов можно выполнять либо по инициативе клиентских машин, либо централизованно с помощью DHCP-сервера.
Якорь | ||||
---|---|---|---|---|
|
Для включения обновления в файл конфигурации службы 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, автоматически задающий нужные настройки:
Command |
---|
sudo astra-freeipa-client -d somedom.example.com --par --enable-dns-updates |
однако при этом будет добавлена только опция dyndns_update = true (однократное обновление A/AAAA записей при запуске системы при условии обнаружения изменений). Обновление PTR записей выполняться не будет.
Настройка централизованного обновления через сервер DHCP
Предупреждение |
---|
Данный раздел неприменим для доменов Samba AD, использующих DLZ_BIND backend. |
Создание ключей
Создать ключ для сервера DHCP. Ключ будет автоматически сохранен в файле /etc/bind/rndc.key:
Command |
---|
sudo rndc-confgen -a -r /dev/random -b 256 |
В файл конфигурации сервера DNS /etc/bind/named.conf после раздела "options" добавить строчку:
Информация |
---|
include "/etc/bind/rndc.key"; |
Настройка сервера DNS FreeIPA
Запустить WEB-интерфейс управления сервера FreeIPA и в свойствах необходимой ПРЯМОЙ зоны в разделе "Политика обновления BIND" добавить запись:
Информация |
---|
grant rndc-key wildcard * ANY; |
В свойствах соответствующей ОБРАТНОЙ зоны в том же разделе "Политика обновления BIND" добавить запись:
Информация |
---|
grant rndc-key wildcard * PTR; |
Сохранить изменения и перезапустить службы FreeIPA:
Command |
---|
sudo ipactl restart |
Настройка сервера DHCP
Установить 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; option domain-name "samdom.example.com"; option domain-name-servers 10.0.2.102; default-lease-time 129600; server-name "ipa.samdom.example.com"; #Эта подсеть должна соответствовать подсети вашей локальной сети, обращенной к устройству Ethernet. |
Информация | ||||||
---|---|---|---|---|---|---|
В отладочных целях можно задать заведомо маленький диапазон адресов:
и для гарантированного изменения адреса клиента заменять его на непересекающийся диапазон:
На клиентах обновить и проверить адрес можно командами:
|
После внесения изменений в конфигурационные файлы необходимо перезапускать сервис DHCP:
Command |
---|
sudo systemctl restart isc-dhcp-server |
Примечание |
---|
Если после неудачного запуска причина неудачного запуска устранена, а сервер всё равно не может стартовать, сообщая, что он уже запущен, следует удалить вручную файл /var/run/dhcpd.pid. |
Установка клиентов с включением автоматического обновления
DHCP-сервер передавая записи об адресах клиентов DNS-серверу подписывает переданные записи своим ключём. Это исключает возможность изменения "чужих" записей. Поэтому, чтобы динамическое обновление работало, нужно создать запись с помощью DHCP-сервера. Для этого нужно обновить адрес от имени полного доменного имени компьютера (FQDN). Это можно сделать следующими командами, выполняемыми до выполнения команды ввода клиента в домен:
Command |
---|
sudo hostnamectl set-hostname client.somedom.example.com sudo dhclient -r sudo dhclient |
где:
- client - имя клиентского компьютера;
- somedom.example.com - имя домена;
- client.somedom.example.com - полное доменное имя компьютера.
Эти команды должны быть выполнены до ввода компьютера в домен.
Проверка успешности настройки
Проверить работу динамического обновления можно запустив отдельный компьютер, настроенный на получение сетевого адреса по DHCP.
После включения такого компьютера и получения им адреса этот компьютер станет доступен по имени.
Например, для компьютера с именем client можно попробовать для проверки следующие команды:
Command |
---|
ping client.samdom.examle.com dig client.samdom.examle.com |