LINUX.ORG.RU
ФорумAdmin

ISC-DHCP-SERVER + Relay agent, есть ли возможность игнорировать giaddr?

 ,


0

1

Можно ли заставить isc-dhcp-server не учитывать giaddr в прилетающем к нему discover при выдаче ip адреса? Есть топология: client<-->d-link-1210(+option 82)<-->d-link-3200(relay agent)<-->isc-dhcp-server. Проблема в том, что когда discover прилетает на d-link-3200, поле giaddr с 0.0.0.0 меняется на ip адрес L3 интерфейса(менеджмент интерфейс), который поднят на relay. Соответственно dhcp сервер пытается найти у себя в конфиге подсеть к которой относится данный ip, но ее, разумеется нет, и мы получаем no free leases. Я могу решить проблему, если поменяю дизайн сети, но хотелось бы все же узнать, можно ли решить проблему средствами самого сервера, игнорируя giaddr?

а d-link-3200 это DES-3200 ? А нафига на нем релей, если на 1210 есть option-82?

Ты vlan-ы используешь ?

vel ★★★★★ ()
Ответ на: комментарий от vel

а d-link-3200 это DES-3200 ?

Да.

А нафига на нем релей, если на 1210 есть option-82?

Ну как, 1210 просто заполняет поля option-82, т.к. классы, описанные в конфиге dhcp, выдают ip адрес по mac свича(1210) + номер порта, а DES-3200 просто релеит пакет, ничего в option-82 полях не меняя.

vlan использую.

istonru ()
Ответ на: комментарий от istonru

а DES-3200 просто релеит пакет, ничего в option-82 полях не меняя.

Обычно свич, который заполняет option-82 и отправляет DHCP-запрос уникастом сразу на DHCP-сервер, то бишь сам выступает релеем. Зачем нужен внешний релей - не ясно. Может это какая-то особая длинковская магия?

blind_oracle ★★★★★ ()
Ответ на: комментарий от blind_oracle

Речь идет о сетях провайдера, там, при использовании option 82, обычно заполнение полей опции 82 выполняется на аксессе, а релей на агрегации. На самом деле, в рамках данного треда это не важно, даже если релей будет на самом 1210, проблема останется актуальной.

istonru ()
Ответ на: комментарий от vel

Хорошо, предположим, что 3200 не существует, если он Вам так мешает =) Теперь 1210 и заполняет option 82, и релеит. Проблема актуальна, т.к. теперь 1210 будет подставлять свой ip.

istonru ()
Ответ на: комментарий от istonru

в d-link-ах 2 механизма для работы с dhcp

1) настоящий dhcp-relay. его в твоем случае нужно выключить везде «disable dhcp_relay»

2) dhcp-helper - позволяющий модифицировать dhcp-запросы добавляя опции типа 82. Он называется dhcp_local_relay.

Его включают на клиентских портах «enable dhcp_local_relay»

На промежуточных коммутаторах он тоже обычно не нужен.

vel ★★★★★ ()
Ответ на: комментарий от vel

1) настоящий dhcp-relay. его в твоем случае нужно выключить везде «disable dhcp_relay»

У меня dhcp сервер за L2 доменом находится. Как при отключенным relay до него будут долетать dhcp пакеты?

dhcp_local_relay

Он у меня и настроен, он и модифицирует.

istonru ()
Ответ на: комментарий от istonru

У меня dhcp сервер за L2 доменом находится. Как при отключенным relay до него будут долетать dhcp пакеты?

Тогда создаешь ipif для тех vlan-ов и указываешь их при конфигурянии dhcp_relay

А какая модель/ревизия 3200 ? С ME? Без ME похоже все плохо - только для интерфейса System.

на forum.dlink.ru спроси. Там на такие вопросы отвечают достаточно быстро. Не забудь указать модель и версию фирмвари - это очень важно!

vel ★★★★★ ()
Ответ на: комментарий от istonru

В isc dhcp, насколько я помню, достаточно мощный язык в конфиге - ты можешь через него настроить выдачу адресов на основе любого из полей dhcp запроса.

blind_oracle ★★★★★ ()
Ответ на: комментарий от blind_oracle

Можно попытаться обмануть dhcpd - описать все subnet в одном shared-network и дальше уже выбирать subnet/pool по опциям запроса.

vel ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.