Перейти к поиску
  1. Главная
  2. Продукты
  3. С-Терра Шлюз
  4. Настройка С-Терра Шлюз
  5. Общие настройки шлюза
  6. Настройка DHCPRelay

Настройка DHCPRelay

Поиск в комплекте Источник

Настройка DHCP Relay

Только для исполнений «С-Терра Шлюз ST KC1», «С-Терра Шлюз ST KC2», «С‑ТерраШлюз ST KC3»

DHCP Relay на С-Терра Шлюз используется для обеспечения взаимодействия между DHCP-клиентами и DHCP-серверами, находящимися в разных подсетях. Функционал DHCP Relay предназначен для перенаправления широковещательных DHCP Discover-пакетов из одного широковещательного домена в одноадресные (unicast) DHCP Discover-пакеты в другом широковещательном домене.

Конфигурование DHCP Relay осуществляется посредством редактирования конфигурационных файлов /opt/st-dhcp-relay/etc/config.yaml и /opt/st-dhcp-relay/etc/append_options.yaml:

  • config.yaml – основной файл конфигурации в формате YAML, содержащий описание DHCPv4 и DHCPv6 экземпляров ретрансляторов;
  • append_options.yaml – файл конфигурации, позволяющий задать дополнительные опции запуска для DHCPv4 и DHCPv6 экземпляров ретрансляторов.

Управление сервисом:

За работу DHCP Relay отвечает сесервис st-dhcp-relay.service. По умолчанию данный сервис не добавлен в автозапуск. Для добавления сервиса в автозапуск необходимо выполнить команду:

systemctl enable st-dhcp-relay.service

При запуске сервиса systemctl start st-dhcp-relay выпоняется импорт настроек из фалов config.yaml и append_options.yaml в отдельные конфигурациооные файлы для каждого ретранслятора. В диертории /run/st-dhcp-relay/configs/ формируются файлы вида ipv4_instance_N.conf (DHCPv4 Relay) и ipv6_instance_N.conf (DHCPv6 Relay), где N – номер экземпляра ретранслятора. После для каждого сформированого файла осущевстляется запуск DHCP Relay: systemctl start dhcrelay_ipv4_instance@N.service, где N – номер DHCPv4 экземпляра ретранслятора.

При остановке сервиса systemctl start st-dhcp-relay выпоняются команды отсановки работы DHCP Relay и удаления конфигурационных файлов экземпляров ретросляторов из директории /run/st-dhcp-relay/configs/.

Описание сообщений сервиса предствалено в разделе «Описание сообщений сервиса DHCP Relay».

Описание настроек config.yaml:

Структурно файл /opt/st-dhcp-relay/etc/config.yaml содержит единственную секцию instances, которая в свою очередь содержит две секции:

  • ipv4 – секция, содержащая список параметров ipv4 экземпляров ретрансляторов DCHP Relay. Секция ipv4 может отсутствовать или быть пустой только в случае, если присутствует секция ipv6, содержащая хотя бы один IPv6 экземпляр ретранслятора;
  • ipv6 – секция, содержащая список параметров ipv6 экземпляров ретрансляторов DCHP Relay. Секция ipv6 может отсутствовать или быть пустой только в случае, если присутствует секция ipv6, содержащая хотя бы один IPv4 экземпляр ретранслятора.

Пример конфигурационного файла config.yaml:

instances:

ipv4:

-

instance_num: 1

helper_addresses:

- "192.168.100.10"

- "192.168.100.20"

upstream_interfaces:

- name: "gre1"

downstream_interfaces:

- name: "eth1"

- name: "eth2"

smart_relay: true

log_level: "debug"

relay_option_82:

circuit_id_insert: true

subscriber_id: "Subscriber-ID for IPv4"

remote_id:

insert: true

custom_value: "Custom Remote-ID for IPv4"

check_reply: true

policy_action: "drop"

-

instance_num: 99

helper_addresses:

- "192.168.99.10"

upstream_interfaces:

- name: "eth0"

downstream_interfaces:

- name: "eth3"

log_level: "error"

relay_option_82:

circuit_id_insert: true

subscriber_id: "Test"

remote_id:

insert: false

custom_value: "Test"

ipv6:

-

instance_num: 1

helper_addresses:

- "AAAA::192:168:100:10"

upstream_interfaces:

-

name: "eth0"

downstream_interfaces:

-

name: "eth1"

src_address: "AAAA::192:168:1:1"

-

name: "eth2"

log_level: "debug"

smart_relay: false

relay_options:

interface_id_insert: true

subscriber_id: "Subscriber-ID for IPv6"

remote_id:

insert: true

custom_value: "Custom Remote-ID for IPv6"

В таблице ниже предстваленно описание параметров конфигурационного файла config.yaml.

Таблица 5

Параметр (секция)

Описание

instance_num

(ipv4 или ipv6)

обязательный параметр. Целое положительное число, которое является уникальным идентификационным номером конфигурации экземпляра ретранслятора. Уникальность номера должна соблюдатся в рамках секции (ipv4 и ipv6).

обязательный параметр.

helper_addresses

(ipv4 или ipv6)

обязательный параметр. Содержит список адресов DHCP серверов (в зависимости от секции DHCPv4 или DHCPv6), на которые отправляются DHCP запросы клиентов. Список должен содержать хотя бы один адрес.

downstream_interfaces

(ipv4 или ipv6)

обязательный параметр. Содержит список системных имент интерфейсов (в нотации Linux), на которых слушаются и перехватываются широковещательные запросы DHCP клиентов. Интерфейсы, перечисленные в списках downstream_interfaces, не дожны повторятся в рамках одной секции (ipv4 или ipv6).

Список должен содержать хотя бы один интерфейс. Элемент списка состоит из параметров:

• name - обязательный параметр, содержит системное имя интерфейса;

• src_address (только для ipv6) – опциональный параметр. Содержит IPv6 адрес, который будет использоваться в качестве source IPv6-адреса в перенаправляемых DHCPv6 запросах клиентов. Указываемый здесь адрес должен быть глобальным IPv6 адресом (не link-local), но при этом на downstream интерфейсе должен присутствовать хотя бы один ipv6 link-local адрес. Если адреса на интерфейсе были изменены во время работы Продукта, необходимо выполнить перезапуск сервиса systemctl restart st-dhcp-relay.

upstream_interfaces

(ipv4 или ipv6)

обязательный параметр. Содержит список системных имент интерфейсов (в нотации Linux), с которых отправляются запросы и принимаются ответы от DHCP сервера. Интерфейсы, перечисленные в списках upstream_interfaces, не дожны повторятся в рамках одной секции (ipv4 или ipv6).

Список должен содержать хотя бы один интерфейс. Элемент списка состоит из одного параметра name, содержащего системное имя интерфейса.

log_level

(ipv4 или ipv6)

опциональный параметр. Задает уровень детальности сообщений, отправляемых данным экземпляром ретранслятора в лог-файл.

Параметр может принимать следующие значения: error, warning, notice, info, debug;

smart_relay

(ipv4 или ipv6)

опциональный параметр. Является логическим параметром, принимающим значения true или false. Включает режим Smart Relay для экземпляра ретранслятора, при котором, при наличии нескольких адресов на downstream_interfaces, эти адреса будут поочередно использоваться в качестве source IP адреса до тех пор, пока не будет получен ответ от DHCP сервера. Использоваться будут только те адреса, которые были на интерфейсе на момент запуска Продукта.

relay_option_82

(ipv4 или ipv6)

опциональный параметр. Содержит набор параметров, относящихся к 82 опции протокола DHCP (DHCP option 82). Данная опция используется для того, чтобы проинформировать DHCP-сервер о том, от какого DHCP-ретранслятора и через какой его порт был получен запрос. В случае DHCPv6 добавляется ряд дополнительных опции.

circuit_id_insert

(relay_option_82в ipv4)

опциональный параметр. Является логическим параметром, принимающим значения true или false. Включает добавление под‑опции 1 Circuit-ID (RFC 3046) в опции 82 в перенаправляемые DHCPv4 запросы клиентов.

circuit_id_insert

(relay_option_82в ipv6)

опциональный параметр. Является логическим параметром, принимающим значения true или false. Включает добавление опции 18 Interface-ID в перенаправляемые DHCPv6 запросы клиентов.

subscriber_id

(relay_option_82в ipv4)

опциональный параметр. Включает добавление под‑опции 6 Subscriber-ID (RFC 3993) в опции 82 в перенаправляемые DHCP запросы клиентов. Значением параметра является строка, которая используется в качестве значения Subscriber-ID.

subscriber_id

(relay_option_82в ipv6)

опциональный параметр. Включает добавление опции 38 Subscriber-ID в перенаправляемые DHCPv6 запросы клиентов. Значением параметра является строка, которая используется в качестве значения Subscriber-ID.

remote_id

(relay_option_82в ipv4)

опциональный параметр. Включает добавление под-опции 2 Agent Remote ID (RFC 3046) в опции 82 в перенаправляемые DHCP запросы клиентов. Параметр состоит из двух следующих параметров:

• insert – обязательный параметр. Является логическим параметром (true/false). Включает или отключает добавление под-опции Agent Remote ID;

• custom_value – опциональный параметр. Параметр игнорируется, если параметру insert выставлено значение false. Значением параметра является строка, которая используется в качестве значения опции Agent Remote ID. Если параметр не задан, то в качестве значения Agent Remote ID будет использоваться MAC адрес downstream интерфейса (downstream_interfaces).

remote_id

(relay_option_82в ipv6)

опциональный параметр. Включает добавление опции 37 Remote-ID в перенаправляемые DHCPv6 запросы клиентов. Параметр состоит из двух следующих параметров:

• insert – обязательный параметр. Является логическим параметром (True/False). Включает или отключает добавление под-опции Agent Remote ID;

• custom_value – опциональный параметр. Параметр игнорируется, если параметру insert выставлено значение false. Значением параметра является строка, которая используется в качестве значения опции Agent Remote ID. Если параметр не задан, то в качестве значения Agent Remote ID будет использоваться MAC адрес downstream интерфейса (downstream_interfaces).

check_reply

(relay_option_82в ipv4)

опциональный параметр. Является логическим параметром, принимающим значения true или false. Включает или выключает проверку входящих пакетов BOOTREPLY на upstream интерфейсах (upstream_interfaces), в таком случае пакеты, которые не предназначены данному экземпляр ретранслятора DHCP Relay, будут отброшены. Параметр может быть задан только в том случае, если задан хотя бы один из параметров: circuit_id_insert, subscriber_id, remote_id.

policy_action

(relay_option_82в ipv4)

опциональный параметр. Задает политику обработки пришедших на downstream интерфейсах (downstream_interfaces) пакетов DHCP запросов, в которых уже присутствует опция 82. Параметр может принимать следующие значения: drop, keep, replace, append. Параметр может быть задан только в том случае, если задан хотя бы один из параметров: circuit_id_insert, subscriber_id, remote_id.

Описание настроек append_options.yaml:

Структурно файл /opt/st-dhcp-relay/etc/append_options.yaml содержит единственную секцию append_options, которая в свою очередь содержит два параметра – ipv4 и ipv6.

Пример конфигурационного файла append_options.yaml:

append_options:

ipv4: "-A -B"

ipv6: ""

В таблице ниже предстваленно описание парамтров конфигурационного файла append_options.yaml.

Таблица 6

Параметр (секция)

Описание

ipv4

(append_options)

Принимает строковое значение, заданная строка будет добавляться к опциям утилиты dhcrelay, используемой при запуске всех DHCPv4 экземпляров ретрансляторов (systemctl start dhcrelay_ipv4_instance@N.service), обнаруженных в директории /run/st-dhcp-relay/configs/.

Является обязательным параметром. Может быть пустым.

ipv6

(append_options)

Принимает строковое значение, заданная строка будет добавляться к опциям утилиты dhcrelay, используемой при запуске всех DHCPv6 экземпляров ретрансляторов (systemctl start dhcrelay_ipv6_instance@N.service), обнаруженных в директории /run/st-dhcp-relay/configs/.

Является обязательным параметром. Может быть пустым.