Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Введение
В больших сетях очевидна необходимость использования сервера 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; |
...
standard; |
...
"; option domain-name "samdom.example.com"; option domain-name-servers 10.0.2.102; |
...
#Следующая строка нужна только если используется Samba с WINS |
...
#option netbios-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 |