|
|
При стандартной установке службы DHCP настройки я этой службы хранятся в локальном конфигурационном файле /etc/dhcp/dhcpd.conf. При сложной конфигурации сети удобнее хранить конфигурации служб централизованно, в единой базе данных. В качестве такой базы данных можно использовать службу каталогов FreeIPA. Далее описывается установка и настройка службы DHCP для работы с конфигурациями, хранящимися в службе каталогов FreeIPA. Данные настройки могут применяться как для размещения службы DHCP непосредственно на сервере FreeIPA, так и для размещения на отдельном сервере.
| Для успешной настройки все операции разрешения имен должны выполняться через DNS-сервер контроллера домена, т.е. в файле /etc/resolv.conf должна быть только одна запись nameserver, указывающая IP-адрес контроллера домена. |
Для работы с доменными службами нужен вариант пакета DHCP, собранный для работы со службой каталогов (LDAP). Если ранее был установлен обычный DHCP-сервер (пакет isc-dhcp-server), то его необходимо удалить:
| dpkg -s isc-dhcp-server && sudo apt purge isc-dhcp-server |
И установить вариант сервера, поддерживающий работу со службой каталогов (пакет isc-dhcp-server-ldap):
В Astra Linux Special Edition x.7 пакет isc-dhcp-server-ldap доступен в базовом репозитории (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования). |
| sudo apt install isc-dhcp-server-ldap |
Если служба DHCP размещается на отдельном компьютере, то:
Сценарий для быстрой установки: freeipa-dhcp-plugin-install-v2.sh.
Установка по шагам:
Скачать пакет для регистрации службы (предварительно должен быть установлен пакет git):
| sudo apt install git git clone https://github.com/Turgon37/freeipa-plugin-dhcp.git |
Пакет будет сохранен в текущем каталоге в подкаталоге freeipa-plugin-dhcp.
Исправить пакет:
Заменить в файле freeipa-plugin-dhcp/install.sh путь
IPALIB_DEST=/usr/lib/python2.7/site-packages/ipaserver/plugins/ |
на путь:
Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7:
IPALIB_DEST=/usr/lib/python3/dist-packages/ipaserver/plugins/ |
Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6:
IPALIB_DEST=/usr/lib/python2.7/dist-packages/ipaserver/plugins/ |
Только для Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7 изменить в файле freeipa-plugin-dhcp/ipaserver/dhcp.py строку
except AttributeError, ValueError: |
на строку:
except (AttributeError, ValueError): |
Выполнить установку:
| sudo freeipa-plugin-dhcp/install.sh |
Предупреждение "Update failed: Server is unwilling to perform: Unknown attribute nsslapd-enable-upgrade-hash will be ignored" можно игнорировать;
Открыть WEB-интерфейс FreeIPA:
| firefox https://`hostname` |
| Более подробную информацию по настройке службы DHCP см. в статье DHCP-сервер ISC-DHCP |
В закладке "Сетевые службы" выбрать службу DHCP;
| Работа с комментариями в записях DHCP не поддерживается. |
В Domain Name указать имя домена, например:
| ipadomain.ru |
В Domain Name Servers указать IP-адрес DNS-сервера, например:
| 10.0.2.10 |
Добавить подсеть, например:
| 10.0.2.0/24 |
Перейти в форму добавленной подсети;
В характеристиках подсети в поле "DHCP Statements" добавить опцию диапазон адресов, например:
| range 10.0.2.11 10.0.2.99 |
В характеристиках подсети в поле "DHCP Options" добавить маршрутизатор сети, например:
| routers 10.0.2.1 |
Выполнить настройку сетевых подключений службы DHCP (подробнее см.статью DHCP), для чего в конфигурационном файле /etc/default/isc-dhcp-server указать сетевые интерфейсы, с которыми будет работать сервер, например:
... INTERFACESv4="eth0" #INTERFACESv6="" |
В конфигурационном файле /etc/dhcp/dhcpd.conf указать параметры домена и параметры подключения к службе каталогов. Минимальная рабочая конфигурация выглядит так:
# dhcpd.conf |
Остальные параметры DHCP-сервер будет получать от доменной службы каталогов.
выполнить команду:
| sudo systemctl edit isc-dhcp-server.service |
Ввести следующие данные:
[Unit] After=ipa.service |
Перезапустить службу DHCP. Лучше двумя командами stop-start, а не одной restart:
| sudo systemctl stop isc-dhcp-server sudo systemctl start isc-dhcp-server |