DHCP сервер pfSense - настройка и статические привязки

DHCP сервер в pfSense обеспечивает автоматическую раздачу IP-адресов клиентам из заранее определённых пулов с передачей параметров сетевой конфигурации - шлюза, DNS-серверов, доменного имени и времени аренды. Сервер настраивается отдельно для каждого интерфейса, что позволяет задавать индивидуальные параметры для различных сегментов сети. pfSense поддерживает два бэкенда DHCP - Kea DHCP (современный, рекомендуемый) и ISC DHCP (устаревший, будет удалён в будущих версиях). Выбор бэкенда осуществляется через System > Advanced > Networking > Server Backend.

Включение DHCP сервера

Настройка DHCP сервера выполняется через Services > DHCP Server. Страница конфигурации содержит отдельные вкладки для каждого интерфейса, на котором возможна раздача адресов.

Для активации сервера на конкретном интерфейсе необходимо:

  1. Перейти на вкладку требуемого интерфейса (LAN, OPT1 и т.д.)
  2. Установить флажок Enable DHCP server on [interface] interface
  3. Указать диапазон адресного пула
  4. Нажать Save

Внимание:

DHCP сервер может работать только на интерфейсах со статически назначенным IP-адресом. Если интерфейс настроен на получение адреса по DHCP или PPPoE, включение DHCP сервера на нём невозможно.

Конфигурация адресного пула

Адресный пул определяет диапазон IP-адресов, которые DHCP сервер раздаёт клиентам. Диапазон задаётся полями From (начальный адрес) и To (конечный адрес) и должен находиться в пределах подсети интерфейса.

Основные параметры пула

ПараметрОписаниеЗначение по умолчанию
Address Pool RangeНачальный и конечный адреса диапазонаЗависит от подсети
DNS ServersДо четырёх DNS-серверов для клиентовIP-адрес интерфейса pfSense
GatewayШлюз по умолчанию для клиентовIP-адрес интерфейса pfSense
Domain NameДоменное имя для формирования FQDNСистемный домен pfSense
Domain Search ListСписок доменов поиска (опция 119)Не задан
Default Lease TimeВремя аренды при отсутствии запроса от клиента7200 секунд (2 часа)
Maximum Lease TimeМаксимально допустимое время аренды86400 секунд (24 часа)
WINS ServersДо двух серверов Windows Internet Name ServiceНе задан

Дополнительные пулы

В пределах одной подсети допускается создание нескольких адресных пулов через кнопку Add Address Pool. Это полезно при необходимости выделить отдельные диапазоны для разных категорий устройств в рамках одного интерфейса - например, один пул для рабочих станций и другой для принтеров с различными параметрами аренды.

Рекомендации по планированию

При планировании адресного пула следует учитывать несколько практических аспектов:

  • Оставлять зарезервированные адреса в начале подсети для шлюза, серверов и сетевого оборудования (например, .1 - .20)
  • Выделять отдельный диапазон для статических привязок вне основного пула
  • Учитывать возможный рост количества устройств при выборе размера подсети
  • Устанавливать время аренды в зависимости от типа устройств: короткое (1-2 часа) для гостевых сетей с высокой ротацией, длительное (8-24 часа) для корпоративных рабочих станций

Статические привязки

Статические привязки (Static Mappings) обеспечивают назначение фиксированного IP-адреса определённому устройству на основе его MAC-адреса. В отличие от полностью статической настройки на самом устройстве, при статической привязке устройство продолжает использовать DHCP-протокол, но всегда получает один и тот же адрес.

Создание статической привязки

Для создания привязки необходимо перейти в Services > DHCP Server, выбрать интерфейс и в разделе DHCP Static Mappings нажать Add.

ПолеОписаниеОбязательное
MAC AddressMAC-адрес устройства в формате aa:bb:cc:dd:ee:ffДа
Client IdentifierИдентификатор клиента по RFC 2132Нет
IP AddressНазначаемый IP-адрес (предпочтительный, не жёсткое резервирование)Нет
HostnameИмя хоста для регистрации в DNS ResolverНет
DescriptionОписание устройства для администрированияНет
ARP Table Static EntryСоздание статической записи в ARP-таблицеНет

Внимание:

Поле IP Address задаёт предпочтительный адрес, а не жёсткое резервирование. Если указанный адрес уже занят, DHCP сервер может назначить другой адрес из пула. Для гарантированного закрепления адреса следует выбирать IP вне основного пула раздачи.

Практическое применение

Статические привязки рекомендуется использовать для:

  • Серверов и сетевого оборудования, которым необходим постоянный адрес для правил файрвола и NAT
  • Принтеров и МФУ, настроенных по IP-адресу
  • IP-телефонов с привязкой к конкретному номеру
  • IoT-устройств, не поддерживающих статическую настройку сети
  • Рабочих станций администраторов, требующих фиксированного доступа

Опция Static ARP

При включении Static ARP на уровне интерфейса pfSense создаёт статические записи в ARP-таблице для всех устройств со статическими привязками. Устройства без привязки не смогут взаимодействовать с файрволом через данный интерфейс, даже если настроят IP-адрес вручную. Эта функция обеспечивает дополнительный уровень контроля доступа на канальном уровне.

Управление неизвестными клиентами

Параметр Deny unknown clients определяет поведение DHCP сервера при получении запроса от устройства, не имеющего статической привязки.

РежимПоведение
Allow all clientsВсе устройства получают адрес из пула (по умолчанию)
Allow known clients from any interfaceТолько устройства со статической привязкой на любом интерфейсе
Allow known clients from only this interfaceТолько устройства со статической привязкой на данном интерфейсе

Режимы ограничения полезны в сценариях с повышенными требованиями к безопасности, когда подключение неавторизованных устройств к сети необходимо исключить. В сочетании с Static ARP это обеспечивает контроль доступа на уровне MAC-адресов.

DHCP Relay

DHCP Relay используется в ситуациях, когда DHCP сервер расположен в другой подсети. Вместо локальной раздачи адресов pfSense перенаправляет DHCP-запросы клиентов на удалённый сервер и возвращает ответы обратно.

Настройка DHCP Relay

Конфигурация выполняется через Services > DHCP Relay.

  1. Установить флажок Enable DHCP Relay
  2. Указать IP-адрес удалённого DHCP сервера в поле Destination Server
  3. Выбрать интерфейсы, на которых следует перехватывать DHCP-запросы
  4. Нажать Save

Внимание:

DHCP Relay и DHCP Server не могут работать одновременно на одном интерфейсе. При включении Relay локальный DHCP сервер на выбранных интерфейсах автоматически деактивируется.

Сценарии использования

  • Централизованный DHCP сервер (Windows Server, ISC DHCP, Infoblox) обслуживает множество подсетей через Relay на pfSense
  • Филиальная сеть с единым DHCP сервером в центральном офисе, подключённом через VPN-туннель
  • Миграция с выделенного DHCP сервера: на переходном этапе pfSense перенаправляет запросы на существующий сервер

Дополнительные опции DHCP

pfSense позволяет передавать клиентам расширенные параметры конфигурации через дополнительные опции DHCP.

Встроенные опции

ОпцияПолеОписание
TFTP Server (66)TFTP ServerАдрес TFTP-сервера для IP-телефонов и PXE-загрузки
NTP Servers (42)NTP ServersДо четырёх серверов синхронизации времени
LDAP URI (95)LDAP URIURI LDAP-сервера в формате ldap://ldap.example.com/dc=example,dc=com

Сетевая загрузка (PXE/UEFI)

Для настройки сетевой загрузки необходимо включить Enable Network Booting и указать:

ПараметрОписание
Next ServerIP-адрес сервера с загрузочными образами
Default BIOS File NameИмя файла загрузки для Legacy BIOS
UEFI 32 bit File NameЗагрузочный файл для 32-битного UEFI
UEFI 64 bit File NameЗагрузочный файл для 64-битного UEFI
UEFI HTTPBoot URLURL загрузочного файла в формате http://server/path
Root PathПуть к корневому устройству (например, iSCSI target)

Пользовательские опции (только ISC DHCP)

Через раздел Additional BOOTP/DHCP Options допускается задание произвольных опций DHCP по номеру, типу и значению:

  • Number - код опции по стандартам IANA
  • Type - тип данных (Text, String, Boolean, Unsigned Integer 8/16/32, Signed Integer 8/16/32, IP address or hostname)
  • Value - значение опции

Пользовательские опции позволяют передавать специфические параметры для VoIP-оборудования, тонких клиентов, IP-камер и других устройств с поддержкой расширенных опций DHCP.

Контроль по MAC-адресу

Расширенные настройки позволяют ограничить обслуживание по MAC-адресам:

  • Allow - список разрешённых MAC-адресов через запятую; все остальные отклоняются
  • Deny - список запрещённых MAC-адресов через запятую; все остальные обслуживаются

DHCPv6 и Router Advertisements

pfSense поддерживает раздачу IPv6-адресов через DHCPv6 и настройку Router Advertisements (RA) для автоконфигурации клиентов.

Настройка DHCPv6

Конфигурация DHCPv6 выполняется через Services > DHCPv6 Server & RA. Для каждого интерфейса доступны две вкладки: DHCPv6 Server и Router Advertisements.

Основные параметры DHCPv6 аналогичны DHCPv4:

  • Диапазон адресов (Range)
  • DNS-серверы для IPv6
  • Доменное имя
  • Время аренды (Preferred и Valid Lifetime)
  • Статические привязки по DUID (DHCPv6 Unique Identifier)

Router Advertisements

Router Advertisements определяют способ получения IPv6-адресов клиентами.

Режим RAОписание
ManagedКлиенты получают адреса только через DHCPv6
AssistedКлиенты используют SLAAC для адреса и DHCPv6 для остальных параметров
UnmanagedКлиенты используют только SLAAC, DHCPv6 не применяется
DisabledRA отключены

Внимание:

Режим Router Advertisements необходимо согласовать с настройками DHCPv6. При выборе Unmanaged сервер DHCPv6 не будет обрабатывать запросы на назначение адресов, даже если он включён.

Интеграция с DNS

DHCP сервер pfSense поддерживает автоматическую регистрацию имён хостов в DNS Resolver (Unbound). При получении DHCP-запроса с именем хоста сервер создаёт соответствующую DNS-запись, позволяя обращаться к устройствам по имени вместо IP-адреса.

Включение DNS-регистрации

Автоматическая регистрация настраивается в DNS Resolver (Services > DNS Resolver):

  • DHCP Registration - регистрация имён хостов динамических клиентов
  • Static DHCP - регистрация имён хостов из статических привязок

Подробная настройка DNS Resolver описана в разделе DNS в pfSense .

Dynamic DNS (только ISC DHCP)

При использовании бэкенда ISC DHCP доступна регистрация хостов на внешнем DNS-сервере через протокол Dynamic DNS:

  • DDNS Domain - домен для регистрации клиентов
  • Primary/Secondary DDNS Address - адреса DNS-серверов для обновления записей
  • DNS Domain Key Name и Secret - учётные данные для аутентификации обновлений
  • DDNS Client Updates - политика обработки запросов клиентов на обновление DNS (Allow, Deny, Ignore)

Просмотр выданных аренд

Список текущих DHCP-аренд доступен через Status > DHCP Leases. Страница отображает:

  • IP-адрес и MAC-адрес клиента
  • Имя хоста (если передано клиентом)
  • Время начала и окончания аренды
  • Тип аренды (dynamic или static)
  • Онлайн-статус устройства

Из этого списка можно создать статическую привязку для любого активного клиента, нажав кнопку Add Static Mapping рядом с соответствующей записью. Также доступна функция Wake on LAN для устройств с поддержкой удалённого пробуждения.

Диагностика проблем

Клиент не получает IP-адрес

  1. Убедиться, что DHCP сервер включён на соответствующем интерфейсе (Services > DHCP Server)
  2. Проверить, что IP-адрес интерфейса pfSense настроен статически
  3. Убедиться, что адресный пул не исчерпан (Status > DHCP Leases)
  4. Проверить, не включён ли режим Deny unknown clients для устройства без статической привязки
  5. Проверить правила файрвола - DHCP использует порты UDP 67 (сервер) и UDP 68 (клиент)
  6. Просмотреть системный журнал: Status > System Logs > DHCP

Клиент получает адрес из неверного пула

  1. Проверить, что клиент подключён к корректному интерфейсу или VLAN
  2. Убедиться, что диапазоны основного и дополнительных пулов не пересекаются
  3. При наличии статической привязки проверить, что указанный адрес находится в пределах подсети интерфейса

DHCP Relay не работает

  1. Убедиться, что DHCP сервер отключён на интерфейсах, используемых для Relay
  2. Проверить маршрутизацию до удалённого DHCP сервера с помощью Diagnostics > Ping
  3. Убедиться, что правила файрвола разрешают DHCP-трафик (UDP 67/68) между pfSense и удалённым сервером
  4. При использовании VPN-туннеля убедиться, что подсеть DHCP сервера доступна через туннель

Конфликт IP-адресов

  1. Проверить, не назначен ли адрес статически на другом устройстве
  2. Убедиться, что адреса статических привязок не входят в диапазон динамического пула
  3. Включить Ping Check (только ISC DHCP) для проверки доступности адреса перед назначением

Миграция с других платформ

Миграция с Cisco IOS DHCP

В Cisco IOS пулы DHCP настраиваются глобально с привязкой к подсети. В pfSense каждый пул привязан к конкретному интерфейсу.

Cisco IOSpfSense
ip dhcp pool VLAN10Вкладка интерфейса в Services > DHCP Server
network 192.168.10.0 255.255.255.0Определяется подсетью интерфейса
default-router 192.168.10.1Gateway
dns-server 8.8.8.8DNS Servers
domain-name corp.localDomain Name
lease 0 8Default Lease Time (в секундах)
ip dhcp excluded-addressИсключить адреса из диапазона пула
host 192.168.10.50 + hardware-addressStatic Mappings

Миграция с FortiGate

В FortiGate DHCP сервер привязан к интерфейсу аналогично pfSense. Основные различия:

  • FortiGate использует MAC Access Control List - в pfSense аналог реализуется через Allow/Deny MAC в расширенных опциях
  • Резервирования адресов в FortiGate задаются через config reserved-address - в pfSense используются Static Mappings
  • FortiGate поддерживает DHCP snooping на аппаратном уровне - pfSense реализует контроль через Static ARP

Миграция с MikroTik

В MikroTik DHCP сервер, пул и сетевые параметры настраиваются как отдельные объекты. В pfSense все параметры объединены на одной странице интерфейса.

MikroTikpfSense
/ip dhcp-server addВключение DHCP на интерфейсе
/ip pool add ranges=Address Pool Range
/ip dhcp-server network addDNS, Gateway, Domain в настройках пула
/ip dhcp-server lease addStatic Mappings
always-broadcast=yesНастраивается в дополнительных опциях

Связанные разделы

  • DNS в pfSense - настройка DNS Resolver для регистрации DHCP-хостов
  • Настройка VLAN - создание VLAN-интерфейсов с индивидуальной конфигурацией DHCP
  • CARP и Virtual IPs - использование CARP VIP в качестве шлюза для отказоустойчивого DHCP
Last updated on