Настройка разбора опции DHCP.82
Материал из BiTel WiKi
(Различия между версиями)
Amir (Обсуждение | вклад)
(Новая страница: «Для корректной работы нужно правильно извлекать значения agentRemoteId, circuitId (port/VLAN) из DHCP-пакет…»)
Следующая правка →
(Новая страница: «Для корректной работы нужно правильно извлекать значения agentRemoteId, circuitId (port/VLAN) из DHCP-пакет…»)
Следующая правка →
Версия 09:48, 29 апреля 2014
Для корректной работы нужно правильно извлекать значения agentRemoteId, circuitId (port/VLAN) из DHCP-пакета. А в случае использования IPoE c Cisco ISG или SmartEdge еще и из RADIUS-пакетов (в этом случае субопции опции 82 находятся внутри пакетов).
# Нужно указать код субопции опции 82 для извлечения значений # agentRemoteId обычно находится в субопции 2 dhcp.option82.agentRemoteId.code=2 # interfaceId обычно находится в субопции 1 (circuitId) dhcp.option82.interfaceId.code=1 # vlanId обычно находится в субопции 1 (circuitId) dhcp.option82.vlanId.code=1
# Если в субопции отсутствует заголовок с длиной субопции, то укажите 0. Иначе укажите длину заголовка. # Данный параметр используется в том числе, для того, чтобы извлеченные значения circuitId из DHCP-пакета и из RADIUS-пакета были идентичны. # Соответственно, значение position нужно указывать относительно removeHeader. dhcp.option82.removeHeader=0
# Нужно указать параметры извлечения agentRemoteId из субопции (dhcp.option82.agentRemoteId.code) # позиция значения внутри субопции dhcp.option82.agentRemoteId.position=2 # если длина значения может изменятся и нужно брать значение до конца субопции, то укажите -1 dhcp.option82.agentRemoteId.length=6 # 0, если remoteId в бинарном виде, например, MAC-адрес; 1, если там закодирована строка dhcp.option82.agentRemoteId.type=0
# Нужно указать параметры извлечения interfaceId из субопции (dhcp.option82.interfaceId.code) dhcp.option82.interfaceId.position=5 dhcp.option82.interfaceId.length=1
# Нужно указать параметры извлечения interfaceId из субопции (dhcp.option82.vlanId.code) dhcp.option82.vlanId.position=2 dhcp.option82.vlanId.length=2
Если используется Cisco ISG или SmartEdge, то нужно указать параметры извлечения из RADIUS-пакета.
# Если в значении атрибута отсутствует заголовок с длиной субопции, то укажите 0. Иначе укажите длину заголовка. # Данный параметр используется в том числе, для того, чтобы извлеченные значения circuitId из DHCP-пакета и из RADIUS-пакета были идентичны. # Соответственно, значение position нужно указывать относительно removeHeader. radius.agent.option.removeHeader=2
# SmartEdge # код атрибута radius.agent.option.remoteId.type=96 # позиция в значении атрибута radius.agent.option.remoteId.position=0 # длина radius.agent.option.remoteId.length=-1 radius.agent.option.circuitId.type=97 # или radius.agent.option.remoteId.type=202 radius.agent.option.remoteId.position=0 radius.agent.option.remoteId.length=-1 radius.agent.option.circuitId.type=202
# Cisco ISG radius.agent.option.remoteId.type=1 radius.agent.option.remoteId.prefix=remote-id-tag= radius.agent.option.circuitId.type=1 radius.agent.option.circuitId.prefix=circuit-id-tag=