1. Настройка сервера DHCP для автоматического распределения IP-адресов
Настройка сервера DHCP для автоматического распределения IP-адресов
В современной сетевой инфраструктуре ручная настройка IP-адресов на каждом устройстве является неэффективной и чреватой ошибками практикой. Представьте офис на 200 компьютеров: если администратору придется вручную прописывать адрес, маску и шлюз на каждом из них, любое изменение структуры сети приведет к дням простоя. Решением этой проблемы является протокол DHCP (Dynamic Host Configuration Protocol).
Принцип работы DHCP
DHCP — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры сети (маску подсети, шлюз по умолчанию, адрес DNS-сервера). Работа протокола строится по модели «клиент-сервер».
Процесс получения адреса часто называют аббревиатурой DORA, по первым буквам четырех основных этапов:
!Этапы обмена сообщениями DORA при получении IP-адреса
Установка DHCP-сервера
В качестве эталонного примера мы рассмотрим настройку ISC DHCP Server — одного из самых распространенных и стабильных решений для операционных систем семейства Linux (Debian/Ubuntu). Несмотря на появление более новых аналогов (например, Kea), ISC DHCP остается стандартом де-факто во многих корпоративных сетях.
Для установки пакета выполните команду:
После установки служба может попытаться запуститься и выдать ошибку. Это нормальное поведение, так как конфигурационный файл еще не настроен.
Базовая конфигурация
Основной файл конфигурации находится по пути /etc/dhcp/dhcpd.conf. Перед началом работы рекомендуется сделать резервную копию оригинального файла:
Откройте файл для редактирования. Конфигурация состоит из глобальных параметров и объявлений подсетей.
Глобальные параметры
В начале файла обычно указываются параметры, общие для всех подсетей. Ключевыми являются параметры времени аренды (lease time).
* default-lease-time: Время в секундах, на которое выдается IP-адрес, если клиент не запросил иное (здесь 600 секунд = 10 минут).
* max-lease-time: Максимально возможное время аренды, даже если клиент просит больше (7200 секунд = 2 часа).
* authoritative: Этот параметр сообщает, что данный сервер является главным и единственным источником правды для этой сети. Если сервер видит клиента с неправильным адресом, он отправит команду DHCPNAK, заставляя клиента переполучить адрес.
Объявление подсети (Subnet)
Это самая важная часть настройки. Вы должны описать подсеть, в которой сервер будет раздавать адреса. Если сетевой интерфейс сервера имеет IP 192.168.1.10 с маской 255.255.255.0, то конфигурация подсети должна соответствовать этим параметрам.
Пример конфигурации:
Разберем каждую строку:
* subnet ... netmask ...: Определяет сеть. Сервер будет обслуживать запросы только с интерфейсов, принадлежащих этой сети.
* range: Диапазон выдаваемых адресов (пул). В данном примере клиенты будут получать адреса от .100 до .200. Адреса вне этого диапазона (например, с .1 по .99) можно использовать для статической настройки серверов и принтеров.
* option routers: Шлюз по умолчанию (gateway), через который клиенты будут выходить в интернет.
* option domain-name-servers: Адреса DNS-серверов, которые будут переданы клиентам.
Расчет доступных хостов
При планировании диапазона range важно понимать емкость вашей подсети. Количество доступных адресов для хостов рассчитывается по формуле:
где — количество доступных адресов для устройств, — количество бит, отведенных под хостовую часть адреса, а вычитание необходимо для исключения адреса самой сети и широковещательного адреса.
Например, для маски 255.255.255.0 (или /24) под хост отводится 8 бит ().
адреса. Если вы выделите в range 100 адресов, у вас останется 154 адреса для статических назначений.
Привязка к сетевому интерфейсу
По умолчанию сервер может пытаться слушать все интерфейсы. Для безопасности и стабильности нужно явно указать, на каком порту работать.
Отредактируйте файл /etc/default/isc-dhcp-server:
Замените eth0 на имя вашего сетевого интерфейса (узнать его можно командой ip a).
Резервирование адресов (Static Leases)
В администрировании часто требуется, чтобы определенное устройство (например, сетевой принтер или файловый сервер) всегда получало один и тот же IP-адрес, но при этом настраивалось через DHCP. Это называется резервированием.
Для этого нужно знать MAC-адрес устройства. В файл dhcpd.conf добавляется блок host:
* hardware ethernet: Уникальный физический адрес (MAC) сетевой карты устройства. * fixed-address: IP-адрес, который всегда будет выдаваться этому MAC-адресу.
Важно: Назначаемый адрес (192.168.1.50) желательно выбирать вне диапазона range (.100–.200), чтобы избежать конфликтов, если пул переполнится.
!Пример грамотного планирования адресного пространства
Запуск и отладка
После внесения всех изменений сохраните файл и перезапустите службу:
Проверьте статус службы:
Если служба не запустилась (статус failed), искать причину нужно в системных логах. DHCP-сервер очень чувствителен к синтаксису (например, пропущенная точка с запятой).
Посмотреть логи можно командой:
Или в файле системного журнала:
Управление арендой (Lease Time)
Выбор времени аренды (default-lease-time) — это баланс между стабильностью и утилизацией адресов.
Файл, где сервер хранит информацию о выданных арендах, обычно находится здесь: /var/lib/dhcp/dhcpd.leases. Это текстовый файл, который можно просмотреть, чтобы узнать, кому и когда были выданы адреса.
Итоги
Настройка DHCP-сервера — фундаментальный навык системного администратора. Правильно настроенная служба обеспечивает бесперебойное подключение новых устройств и упрощает управление сетью.
subnet файла dhcpd.conf.host./var/log/syslog.