- Установка DHCP-сервера на Astra Linux 1.7
- Исходные данные
- Введение
- Параметры стенда
- Установка версии пакета DHCP, поддерживающей работу с LDAP
- Установка плагина
- Настройка службы DHCP
- Введение
- Настройка обновления с клиентских машин (SSSD)
- Настройка централизованного обновления через сервер DHCP
- Создание ключей
- Настройка сервера DNS FreeIPA
- Настройка сервера DHCP
- Установка клиентов с включением автоматического обновления
- Проверка успешности настройки
Установка DHCP-сервера на Astra Linux 1.7
В этой статье мы установим DHCP-сервер на машину с Astra Linux 1.7 в графическом режиме. Но в самой статье будут указаны команды и расположение конфигурационных файлов, что без труда поможет установить DHCP и на сервер без графического окружения.
Исходные данные
В роли DHCP-сервера в Astra Linux выступает пакет isc-dhcp-server . Соответственно для установки DHCP-сервера на машину без графического окружения необходимо выполнить команду:
Для графической настройки в Astra Linux используется пакет fly-admin-dhcp . При установке этого пакета, автоматический устанавливается и isc-dhcp-server. Поэтому для установки DHCP-сервера с графической утилитой для настройки выполняем команду:
Для работоспособности DHCP-сервер должен иметь статический ip-адрес
После установки графического пакета, его можно найти в Панели управления. Пуск — Панель управления — Сеть — DHCP-сервер
Затем все настройки DHCP-сервера вносятся посредством панели меню, либо через правую кнопку мыши — Добавить параметр. В примере ниже установлены первоначальные настройки подсети, шлюза, DNS-сервера
Следует не забывать, при внесении изменений, после всего, сохранить конфигурацию, нажав кнопку сохранить (в виде дискеты).
Все параметры которые указываются в этой оснастке — записываются в файл /etc/dhcp/dhcpd.conf соответственно, при установке без графической утилиты, нужно править напрямую этот конфигурационный файл.
Вот как выглядит этот конфигурационный файл, после вышепоказанной настройки.
После настроек, важно не забыть указать интерфейс, который будет прослушивать сервер. В графической утилите это делается через меню Сервер — Выбрать сетевые интерфейсы
Данные настройки хранятся в конфигурационном файле /etc/default/isc-dhcp-server соответственно также, при установке без графической утилиты, нужно править напрямую этот конфигурационный файл.
Вот как выглядит этот конфигурационный файл, после вышепоказанной настройки.
Затем можно запускать DHCP-сервер. Кнопка запустить в графической утилите ( sudo systemctl start isc-dhcp-server в консольном режиме ). Если все настройки указаны верно, сетевой интерфейс также верно указан, сервер стартанет, что можно увидеть командой sudo systemctl status isc-dhcp-server
Теперь при нахождении в одной сети — клиентам автоматический будет выдан ip-адрес, что можно увидеть в файле /var/lib/dhcp/dhcpd.lease
Введение
При стандартной установке службы DHCP настройки я этой службы хранятся в локальном конфигурационном файле /etc/dhcp/dhcpd.conf. При сложной конфигурации сети удобнее хранить конфигурации служб централизованно, в единой базе данных. В качестве такой базы данных можно использовать службу каталогов FreeIPA. Далее описывается установка и настройка службы DHCP для работы с конфигурациями, хранящимися в службе каталогов FreeIPA. Данные настройки могут применяться как для размещения службы DHCP непосредственно на сервере FreeIPA, так и для размещения на отдельном сервере.
Для успешной настройки все операции разрешения имен должны выполняться через DNS-сервер контроллера домена, т.е. в файле /etc/resolv.conf должна быть только одна запись nameserver, указывающая IP-адрес контроллера домена.
Параметры стенда
- Сеть 10.0.2.0/24;
- Адрес маршрутизатора (шлюза) сети 10.0.2.1;
- Имя домена FreeIPA ipadomain.ru;
- Имя сервера FreeIPA ipaserver.ipadomain.ru;
- IP-адрес сервера FreeIPA 10.0.2.10
- IP-адрес сервера DNS 10.0.2.10 (совпадает с адресом сервера FreeIPA так как функции сервера DNS выполняет сервер FreeIPA).
Установка версии пакета DHCP, поддерживающей работу с LDAP
Для работы с доменными службами нужен вариант пакета DHCP, собранный для работы со службой каталогов (LDAP). Если ранее был установлен обычный DHCP-сервер (пакет isc-dhcp-server), то его необходимо удалить:
И установить вариант сервера, поддерживающий работу со службой каталогов (пакет isc-dhcp-server-ldap):
В Astra Linux Special Edition x.7 пакет isc-dhcp-server-ldap доступен в базовом репозитории (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования).
В обновлениях Astra Linux Special Edition, выпущенных ранее очередного обновления x.7, пакет isc-dhcp-server-ldap доступен на диске со средствами разработки.
Установка плагина
- Скачать пакет для регистрации службы (предварительно должен быть установлен пакет git):
Пакет будет сохранен в текущем каталоге в подкаталоге freeipa-plugin-dhcp.
- Заменить в файле freeipa-plugin-dhcp/install.sh путь
IPALIB_DEST=/usr/lib/python2.7/site-packages/ipaserver/plugins/
IPALIB_DEST=/usr/lib/python3/dist-packages/ipaserver/plugins/
IPALIB_DEST=/usr/lib/python2.7/dist-packages/ipaserver/plugins/
except (AttributeError, ValueError):
Настройка службы DHCP
. INTERFACESv4="eth0" #INTERFACESv6=""
# dhcpd.conf
# Sample configuration file for ISC dhcpd
# option definitions common to all supported networks.
option domain-name «ipadomain.ru»;
option domain-name-servers 10.0.2.10;
default-lease-time 600;
max-lease-time 7200;
ldap-server «ipaserver.ipadomain.ru»;
ldap-port 389;
ldap-username «cn=Directory Manager»; ldap-password «12345678»;
ldap-base-dn «dc=ipadomain,dc=ru»;
ldap-method dynamic;
ldap-debug-file «/var/log/dhcp-ldap-startup.log»;
# The ddns-updates-style parameter controls whether or not the server will attempt to do a DNS update when a lease is confirmed. We default to the behavior of the version 2 packages (‘none’, since DHCP v2 didn’t # have support for DDNS.)
ddns-update-style none;
# If this DHCP server is the official DHCP server for the local network, the authoritative directive should be uncommented.
authoritative;
Остальные параметры DHCP-сервер будет получать от доменной службы каталогов.
Введение
В больших сетях очевидна необходимость использования сервера 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, автоматически задающий нужные настройки:
однако при этом будет добавлена только опция dyndns_update = true (однократное обновление A/AAAA записей при запуске системы при условии обнаружения изменений). Обновление PTR записей выполняться не будет.
Настройка централизованного обновления через сервер DHCP
Создание ключей
Создать ключ для сервера DHCP. Ключ будет автоматически сохранен в файле /etc/bind/rndc.key:
Настройка сервера DNS FreeIPA
Запустить WEB-интерфейс управления сервера FreeIPA и в свойствах необходимой ПРЯМОЙ зоны в разделе «Политика обновления BIND» добавить запись:
grant rndc-key wildcard * ANY;
В свойствах соответствующей ОБРАТНОЙ зоны в том же разделе «Политика обновления BIND» добавить запись:
grant rndc-key wildcard * PTR;
Сохранить изменения и перезапустить службы FreeIPA:
Настройка сервера DHCP
Установить DHCP-сервер в соответствии с инструкциями.
В файле настроек /etc/default/isc-dhcp-server указать интерфейс, через который должна работать служба:
Отредактировать файл конфигурации /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»;
>
>
В отладочных целях можно задать заведомо маленький диапазон адресов:
и для гарантированного изменения адреса клиента заменять его на непересекающийся диапазон:
На клиентах обновить и проверить адрес можно командами:
После внесения изменений в конфигурационные файлы необходимо перезапускать сервис DHCP:
Если после неудачного запуска причина неудачного запуска устранена, а сервер всё равно не может стартовать, сообщая, что он уже запущен, следует удалить вручную файл /var/run/dhcpd.pid.
Установка клиентов с включением автоматического обновления
DHCP-сервер передавая записи об адресах клиентов DNS-серверу подписывает переданные записи своим ключём. Это исключает возможность изменения «чужих» записей. Поэтому, чтобы динамическое обновление работало, нужно создать запись с помощью DHCP-сервера. Для этого нужно обновить адрес от имени полного доменного имени компьютера (FQDN). Это можно сделать следующими командами, выполняемыми до выполнения команды ввода клиента в домен:
- client — имя клиентского компьютера;
- somedom.example.com — имя домена;
- client.somedom.example.com — полное доменное имя компьютера.
Эти команды должны быть выполнены до ввода компьютера в домен.
Проверка успешности настройки
Проверить работу динамического обновления можно запустив отдельный компьютер, настроенный на получение сетевого адреса по DHCP.
После включения такого компьютера и получения им адреса этот компьютер станет доступен по имени.
Например, для компьютера с именем client можно попробовать для проверки следующие команды: