DHCP сервер pfSense - настройка и статические привязки
DHCP сервер в pfSense обеспечивает автоматическую раздачу IP-адресов клиентам из заранее определённых пулов с передачей параметров сетевой конфигурации - шлюза, DNS-серверов, доменного имени и времени аренды. Сервер настраивается отдельно для каждого интерфейса, что позволяет задавать индивидуальные параметры для различных сегментов сети. pfSense поддерживает два бэкенда DHCP - Kea DHCP (современный, рекомендуемый) и ISC DHCP (устаревший, будет удалён в будущих версиях). Выбор бэкенда осуществляется через System > Advanced > Networking > Server Backend.
Включение DHCP сервера
Настройка DHCP сервера выполняется через Services > DHCP Server. Страница конфигурации содержит отдельные вкладки для каждого интерфейса, на котором возможна раздача адресов.
Для активации сервера на конкретном интерфейсе необходимо:
- Перейти на вкладку требуемого интерфейса (LAN, OPT1 и т.д.)
- Установить флажок Enable DHCP server on [interface] interface
- Указать диапазон адресного пула
- Нажать 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 Address | MAC-адрес устройства в формате 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.
- Установить флажок Enable DHCP Relay
- Указать IP-адрес удалённого DHCP сервера в поле Destination Server
- Выбрать интерфейсы, на которых следует перехватывать DHCP-запросы
- Нажать 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 URI | URI LDAP-сервера в формате ldap://ldap.example.com/dc=example,dc=com |
Сетевая загрузка (PXE/UEFI)
Для настройки сетевой загрузки необходимо включить Enable Network Booting и указать:
| Параметр | Описание |
|---|---|
| Next Server | IP-адрес сервера с загрузочными образами |
| Default BIOS File Name | Имя файла загрузки для Legacy BIOS |
| UEFI 32 bit File Name | Загрузочный файл для 32-битного UEFI |
| UEFI 64 bit File Name | Загрузочный файл для 64-битного UEFI |
| UEFI HTTPBoot URL | URL загрузочного файла в формате 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 не применяется |
| Disabled | RA отключены |
Внимание:
Режим 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-адрес
- Убедиться, что DHCP сервер включён на соответствующем интерфейсе (Services > DHCP Server)
- Проверить, что IP-адрес интерфейса pfSense настроен статически
- Убедиться, что адресный пул не исчерпан (Status > DHCP Leases)
- Проверить, не включён ли режим Deny unknown clients для устройства без статической привязки
- Проверить правила файрвола - DHCP использует порты UDP 67 (сервер) и UDP 68 (клиент)
- Просмотреть системный журнал: Status > System Logs > DHCP
Клиент получает адрес из неверного пула
- Проверить, что клиент подключён к корректному интерфейсу или VLAN
- Убедиться, что диапазоны основного и дополнительных пулов не пересекаются
- При наличии статической привязки проверить, что указанный адрес находится в пределах подсети интерфейса
DHCP Relay не работает
- Убедиться, что DHCP сервер отключён на интерфейсах, используемых для Relay
- Проверить маршрутизацию до удалённого DHCP сервера с помощью Diagnostics > Ping
- Убедиться, что правила файрвола разрешают DHCP-трафик (UDP 67/68) между pfSense и удалённым сервером
- При использовании VPN-туннеля убедиться, что подсеть DHCP сервера доступна через туннель
Конфликт IP-адресов
- Проверить, не назначен ли адрес статически на другом устройстве
- Убедиться, что адреса статических привязок не входят в диапазон динамического пула
- Включить Ping Check (только ISC DHCP) для проверки доступности адреса перед назначением
Миграция с других платформ
Миграция с Cisco IOS DHCP
В Cisco IOS пулы DHCP настраиваются глобально с привязкой к подсети. В pfSense каждый пул привязан к конкретному интерфейсу.
| Cisco IOS | pfSense |
|---|---|
ip dhcp pool VLAN10 | Вкладка интерфейса в Services > DHCP Server |
network 192.168.10.0 255.255.255.0 | Определяется подсетью интерфейса |
default-router 192.168.10.1 | Gateway |
dns-server 8.8.8.8 | DNS Servers |
domain-name corp.local | Domain Name |
lease 0 8 | Default Lease Time (в секундах) |
ip dhcp excluded-address | Исключить адреса из диапазона пула |
host 192.168.10.50 + hardware-address | Static 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 все параметры объединены на одной странице интерфейса.
| MikroTik | pfSense |
|---|---|
/ip dhcp-server add | Включение DHCP на интерфейсе |
/ip pool add ranges= | Address Pool Range |
/ip dhcp-server network add | DNS, Gateway, Domain в настройках пула |
/ip dhcp-server lease add | Static Mappings |
always-broadcast=yes | Настраивается в дополнительных опциях |
Связанные разделы
- DNS в pfSense - настройка DNS Resolver для регистрации DHCP-хостов
- Настройка VLAN - создание VLAN-интерфейсов с индивидуальной конфигурацией DHCP
- CARP и Virtual IPs - использование CARP VIP в качестве шлюза для отказоустойчивого DHCP