.. _dhcprelaygl: Служба dhcprelay ================ Служба dhcprelay ПАК “Фортикс” является ретранслятором DHCP-сообщений. Настройка службы dhcprelay осуществляется на следующем уровне конфигурации: :: [edit service dhcprelay] Служба работает в режиме IPv4, IPv6 или в обоих одновременно. Служба dhcprelay в режиме IPv4 ------------------------------ Служба считается настроенной и включённой по настройке ``enable``, в случае если выполнена команда: :: # set listen ipv4 server Основные настройки ~~~~~~~~~~~~~~~~~~ Для определения интерфейса, на котором ожидаются запросы DHCP-клиентов или DHCP-агентов, применяется команда: :: # set listen ipv4 from interface |noindent| где ```` – имя существующего интерфейса. Для определения интерфейса, на котором ожидаются ответы DHCP-серверов или DHCP-агентов, применяется команда: :: # set listen ipv4 to interface |noindent| где ```` – имя существующего интерфейса. По умолчанию – все широковещательные интерфейсы. Для определения IP-адреса сервера DHCP применяется команда: :: # set ipv4 server
|noindent| где ``
`` – IPv4-адрес в формате ``A.B.C.D``. Дополнительные настройки ~~~~~~~~~~~~~~~~~~~~~~~~ Для добавления к DHCP-запросу идентификатора службы, состоящего из Circuit ID (имя аппаратного порта получения запроса) и Remote ID (MAC-адрес интерфейса получения запроса), применяется команда: :: # set ipv4 send-relay-options Данная настройка является DHCP Опцией 82 (настройка протокола DHCP, применимая для информирования DHCP-сервера о DHCP-ретрансляторе и номере порта, через которые был получен запрос; применяется при решении задач привязки IP-адреса к порту коммутатора и для защиты от атак с использованием протокола DHCP). Для отбрасывания ответов DHCP-серверов, содержащих чужую Опцию 82 (идентификаторы в Опции 82, несоответствующие идентификаторам службы) применяется команда: :: # set ipv4 drop-alien-replies Для настройки максимального числа узлов, через которые может пройти DHCP-пакет до отбрасывания службой, применяется команда: :: # set ipv4 max-hops |noindent| где ```` – число от 0 до 255, по умолчанию – 10. Для настройки максимального размера DHCP-пакета (вместе с Опцией 82), который служба может ретранслировать, применяется команда: :: # set ipv4 max-packet-size |noindent| где ```` – число байт, по умолчанию – 576. Для определения действий по отношению к входящим DHCP-пакетам, которые уже содержат Опцию 82 (т.е. пришли от других relay-агентов), применяется команда: :: # set ipv4 alien-opts append|replace|forward|discard |noindent| где - ``append`` – добавить свои идентификаторы к Опции 82; - ``replace`` – заменить своими идентификаторами уже имеющиеся в Опции 82 (по умолчанию); - ``forward`` – отправить Опцию 82 без изменений; - ``discard`` – отбросить чужую Опцию 82. Служба dhcprelay в режиме IPv6 ------------------------------ Служба считается настроенной и включённой по настройке ``enable``, в случае если выполнены команды: :: # set listen ipv6 from interface |noindent| и :: # set listen ipv6 to interface Основные настройки ~~~~~~~~~~~~~~~~~~ Для определения интерфейса (и его адреса), на котором служба ожидает запросы клиентов или других ретрансляторов DHCPv6, применяется команда: :: # set listen ipv6 from interface [ip
] |noindent| где - ```` – имя существующего интерфейса; - ``
`` – IPv6-адрес в формате ``A:B:..:H``. Если IP-адрес в команде не задан, используется первый найденный не Link-local адрес интерфейса. Для определения интерфейса (и его адреса), на который служба перенаправляет запросы клиентов или других ретрансляторов DHCPv6, применяется команда: :: # set listen ipv6 to interface [ip
] |noindent| где - ```` – имя существующего интерфейса; - ``
`` – IPv6-адрес в формате ``A:B:..:H``. Если IP-адрес в команде не задан, используется адрес FF02::1:2 (All_DHCP_Relay_Agents_and_Servers). Дополнительные настройки ~~~~~~~~~~~~~~~~~~~~~~~~ Для отправки DHCPv6-опции Interface-Id (идентификация интерфейса) применяется команда: :: # set send-iface-id Настройка по данной команде применяется также при наличии нескольких интерфейсов, на которых было получено сообщение от клиента. Для определения максимального числа узлов, через которые может пройти DHCPv6-пакет до отбрасывания службой, применяется команда: :: # set max-hops |noindent| где ```` – число от 0 до 255, по умолчанию – 10. Примеры ------- В данном подразделе приведён пример настройки сети, указанной на рис. :numref:`%s `. Интерфейсы en0,en1 - обслуживают клиентскую сеть. Интерфейсы en2,en3 - обслуживают сеть сервера. .. figure:: images/dhcprelay.drawio.png :alt: Пример настройки dhcprelay :name: fig-dhcp-relay-config Пример настройки dhcprelay Минимальная настройка службы dhcp-relay на узле “DHCP-ретранслятор”: :: # [edit service dhcp-relay] # set ipv4 server 10.0.0.1 # set listen ipv4 from interface en1 # set listen ipv4 to interface en2 # set enable Минимальная настройка службы dhcp на узле “DHCP-сервер”: :: # [edit service dhcp] # set listen ipv4 address 10.0.0.1 # set ipv4 shnet relay # set ipv4 subnet 10.0.0.0/24 shnet relay # set ipv4 subnet 192.168.0.0/24 shnet relay range 192.168.0.10 to 192.168.0.100 # set enable # [edit] # set router unicast ipv4 to 192.168.0.0/24 via gw 10.0.0.2 Последней командой задаётся маршрут в клиентскую сеть через узел DHCP-ретранслятора.