Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 14 Следующий »

Введение

В больших сетях очевидна необходимость использования сервера DHCP для автоматического назначения IP-адресов компьютерам, при этом возникает необходимость поддержания соответствия имён компьютеров и назначенных им адресов. При этом:

  • устанавливаемая на клиентских машинах служба SSSD умеет сообщать контроллеру домена о своём IP-адресе;
  • входящий в диструбутив Astra Linux сервер DHCP isc-dhcp-server имеет возможность автоматически сообщать доменному серверу DNS (DNS-сервер BIND9) о назначаемых клиентам  адресах.

Таким образом обновление адресов можно выполнять либо по инициативе клиентских машин, либо централизованно с помощью DHCP-сервера.

Настройка обновления с клиентских машин (SSSD)

Для включения обновления в файл конфигурации службы 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, автоматически задающий нужные настройки:

sudo astra-freeipa-client -d somedom.example.com --par --enable-dns-updates
однако при этом будет добавлена только опция dyndns_update = true (однократное обновление A/AAAA записей при запуске системы при условии обнаружения изменений). Обновление PTR записей выполняться не будет.

Настройка централизованного обновления через сервер DHCP

Создание ключей

Создать ключ для сервера DHCP. Ключ будет автоматически сохранен в файле /etc/bind/rndc.key:

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:

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;
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 -r
sudo dhclient
ip a

После внесения изменений в конфигурационные файлы необходимо перезапускать сервис DHCP:

sudo systemctl restart isc-dhcp-server

Если после неудачного запуска причина неудачного запуска устранена, а сервер всё равно не может стартовать, сообщая, что он уже запущен, следует удалить вручную файл /var/run/dhcpd.pid.

Установка клиентов с включением автоматического обновления

DHCP-сервер передавая записи об адресах клиентов DNS-серверу подписывает переданные записи своим ключём. Это исключает возможность изменения "чужих" записей. Поэтому, чтобы динамическое обновление работало, нужно создать запись с помощью DHCP-сервера. Для этого нужно обновить адрес от имени полного доменного имени компьютера (FQDN). Это можно сделать следующими командами, выполняемыми до выполнения команды ввода клиента в домен:

sudo hostnamectl set-hostname client.somedom.example.com
sudo dhclient -r
sudo dhclient
где:

  • client - имя клиентского компьютера;
  • somedom.example.com - имя домена;
  • client.somedom.example.com - полное доменное имя компьютера.

Эти команды должны быть выполнены до ввода компьютера в домен.

Проверка успешности настройки

Проверить работу динамического обновления можно запустив отдельный компьютер, настроенный на получение сетевого адреса по DHCP.
После включения такого компьютера и получения им адреса этот компьютер станет доступен по имени.
Например, для компьютера с именем client можно попробовать для проверки следующие команды:

ping client.samdom.examle.com
dig client.samdom.examle.com

  • Нет меток