dhcprelay

Агент ретрансляции DHCP

Синтаксис:

dhcprelay [-a] [-A значение] [-d] [-D] [-q] [-i en0] [... -i enX] [-p порт] [-pf pid-файл] [-m] dhcp-сервер1 [... серверX]

Опции:

-a
Добавить поле опции агента к каждому запросу перед перенаправлением его серверу.
-A значение
Поддерживать максимальный размер пакета (значение по умолчанию – 576).
-d
Не переводить в фоновый режим. Использовать эту опцию целесообразно при запуске утилиты dhcprelay под отладчиком.
-D
Игнорировать пакеты, которые не содержат поле опции информации агента ретрансляции для этого агента.
-i интерфейс
Указать интерфейс (интерфейсы), который будет обслуживать утилита dhcprelay. По умолчанию утилита dhcprelay ожидает пакеты DHCP на всех интерфейсах, способных к обработке широковещательных сообщений. При необходимости предотвращения доступа определенных интерфейсов к услугам ретрансляции DHCP используйте эту опцию для определения интерфейсов, которые будет прослушивать утилита dhcprelay.
-p порт
Принимающий порт UDP, который будет прослушивать утилита dhcprelay. По умолчанию dhcprelay ожидает дейтаграммы на порт 67 или как указано в /etc/services. Порт, на который передает данные утилита dhcprelay, имеет следующий самый высокий номер (например, если dhcprelay принимает данные на порт 67, то передает на порт 68). Эта опция главным образом используется для целей отладки.
-pf файл
Альтернативный файл для хранения PID утилиты dhcprelay. Значением по умолчанию является /var/run/dhcprelay.pid.
-q
Режим вывода краткой информации. Используйте во избежание печати при запуске (например, при запуске утилиты dhcprelay из сценария).
-mappend|replace|forward|discard
Принять меры при получении пакета с набором адресов шлюзов (giaddr).
dhcp-сервер1 [... серверX]
Необходимо указать IP-адрес по крайней мере одного сервера DHCP, на который будут переадресованы запросы клиента.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Эту утилиту может выполнить только пользователь root.

Агент ретрансляции DHCP dhcprelay ретранслирует запросы DHCP и BOOTP из неимеющей сервера DHCP подсети в ту, где он присутствует.

Агент, как правило, выполняется на переднем плане во время настройки интерфейса, а затем выполняется как сервис в фоновом режиме.

Сервис dhcprelay слушает запросы DHCP на всех присоединенных к хосту интерфейсах (или на тех, которые указаны опцией -i).

При получении запроса сервис dhcprelay переадресовывает его списку серверов DHCP, указанному в командной строке. При получении ответа последний отправляется в многоадресную или одноадресную передачу по сети, из которой поступил первоначальный запрос.

Опции агента ретрансляции

При установке флага -a агент ретрансляции добавляет поле опции агента к каждому запросу перед перенаправлением его серверу. В обратных ответах от сервера к клиенту значения полей опции агента удаляются.

Поле опции агента содержит две опции агента: подчиненная опция идентификатора канала и подчиненная опция идентификатора агента. В настоящее время, идентификатор канала представляет собой печатаемое имя интерфейса, на котором получен запрос клиента. Идентификатор агента является значением, которое агент ретрансляции сохраняет в поле giaddr пакета DHCP. Клиент также поддерживает включение подчиненной опциии удаленного идентификатора, которая по умолчанию не используется.


Note: Подчиненная опция идентификатора агента не определена в текущем проекте опции информации агента трансляции (draft-ietf-dhc-agent-options-03.txt), но была предложена для включения в следующий проект.

Опции агента трансляции добавляются к пакету DHCP без уведомления клиента DHCP. Если клиент полностью заполнил буфер опций пакета DHCP, место для добавления опций агента отсутствует. Однако сервер DHCP может обработать пакет намного большего размера, чем посылают большинство клиентов DHCP. Согласно требованиям текущего проекта опций агента, максимальный размер пакета, который должен использовать агент трансляции, составляет 576 байт.

Для сервера DHCP организации "Internet Software Consortium" максимальному размеру пакета рекомендуется установить значение 1400 байт. Таким образом будет предусмотрено достаточно дополнительного места, в котором агент трансляции может разместить поле опции агента, и соблюдены ограничения максимального размера передаваемого блока данных сети Ethernet. Эту рекомендацию можно выполнить, задав флаг - A, со следующим за ним значением максимального размера пакета (например, 1400).

Даже если значение максимального размера передаваемого блока данных между сервером и клиентом меньше 1500 байт, эта практика достаточно безопасна в том случае, если хостами, на которых работают сервер и клиент, поддерживается фрагментация IP-пакетов (что необходимо). Если известнен предельный размер опций агента в определенной конфигурации, этот параметр можно настроить точно в соответствии с требованиями.

Существует возможность получения агентом ретрансляции пакета, который содержит поле опций агента. Если для этого пакета не установлено значение поля giaddr, пакет игнорируется.

Если значение поля giaddr установлено, сервер может обработать эту ситуацию одним из следующих четырех способов:

Для выполнения этих действий используйте флаг -m с одним из следующих аргументов: append, replace, forward или discard.

Агент ретрансляции обычно сканирует ответ от сервера и удаляет опцию информации агента ретрансляции, если обработка последнего включена. Однако, если поле опции информации агента ретрансляции содержит подчиненную опцию идентификатора агента, которая соответствует одному из его IP-адресов, агент ретрансляции распознает его как собственное. Если такая опция отсутствует, агент ретрансляции может игнорировать пакет или все равно ретранслировать его. Если указана опция -D, все несовпадающие пакеты игнорируются.

Определение серверов DHCP

В командной строке необходимо указать имя или IP-адрес по крайней мере одного сервера DHCP, к которому должны ретранслироваться запросы DHCP и BOOTP.

Примеры:

Запуск dhcprelay со значениями по умолчанию:

dhcprelay 10.0.0.1

Запуск dhcprelay в режиме вывода краткой информации с обслуживанием только en0:

dhcprelay -q -i en0 10.0.0.1

Ошибки:

При возникновении ошибки утилита dhcprelay отправляет описание ошибки в syslogd и стандартный поток ошибок stderr только в том случае, если утилита dhcprelay выполняется как приоритетная задача.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

В ЗОСРВ «Нейтрино» редакции 2020 утилита обновлена до версии 4.1-ESV-R16

Тематические ссылки:

dhcp.client, dhcpd, syslogd




Предыдущий раздел: Утилиты