itt1b Posted April 16, 2016 Ситуация такая: на D-link 3200 включен dhcp-relay, запрос DHCPDISCOVER благополучно доходит до сервера, сервер отвечает DHCPOFFER, но пакет не доходит до клиента, соответственно он не посылает DHCPREQUEST. Та же схема чудесно работает на OLT BDCOM 3310. В DHCPOFFER согласно RFC копируется Opt82. Может кто-нибудь, у кого работает, проснифать трафик и скинуть формат DHCPOFFER и DHCPACK? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vurd Posted April 16, 2016 Настройки на длинке покажите. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
itt1b Posted April 16, 2016 Да там настроек-то, на сброшенном в дефолт свитче: create vlan MGMT tag 100 create vlan USERS tag 700 conf vlan MGMT add tagged 28 conf vlan USERS add tagged 28 conf vlan USERS add untagged 1-24 conf ipif System vlan MGMT ipaddress 10.103.0.2/24 create iproute default 10.103.0.1 conf dhcp_relay add ipif System xx.xx.xx.xx conf dhcp_relay option_82 state enable enable dhcp_relay где xx.xx.xx.xx - адрес DHCP-сервера. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted April 16, 2016 А если руками прописать, то работает? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
itt1b Posted April 16, 2016 Что руками прописать? Адрес на хосте? Работает конечно, пока что снупинг выключен. Кстати, на каталисте тоже все работает. А вот на длинке - ни 3200, ни 1210/ME не работает. Есть чувство, что релею не нравится пакет DHCPOFFER. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted April 16, 2016 Адрес биндинг не настраивали? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
itt1b Posted April 16, 2016 Нет, коммутатор сбросил, включил только релей. Самая простая настройка, запросы на сервер приходят, все поля корректные (circuit-id, remote-id, relay-agent), с сервера - DHCPOFFER уходит, но к клиенту не попадает. Как-то на Длинке вообще можно включить debug? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vurd Posted April 16, 2016 DHCP-сервер какой? Случайно не самописный? Есть нюанс с портами. Если память не изменяет, relay-relay должный на 67 порту общаться. Вот настройки с боевого enable dhcp_relay config dhcp_relay hops 4 time 0 config dhcp_relay option_82 state enable config dhcp_relay option_82 check disable config dhcp_relay option_82 policy keep config dhcp_relay option_82 remote_id default config dhcp_relay option_82 circuit_id default config dhcp_relay option_60 state disable config dhcp_relay option_61 state disable config dhcp_relay add ipif System _REMOTE_SERVER_IP_ config dhcp_relay option_60 default mode drop config dhcp_relay option_61 default drop config dhcp_relay ports 1-16 state enable config dhcp_relay ports 17-18 state disable Тут обратите внимание на "config dhcp_relay ports 1-16 state enable". Может у вас просто выключено? И, кстати, сразу хочется посоветовать выключать на магистральных портах, есть неприятный глюк с бесконечной репликацией dhcp-запросов, если на магистральных портах включено. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
itt1b Posted April 16, 2016 Сервер самописный, под собственные нужды, теперь стала задача скрестить его с Длинком. Т.е. нужно обратить внимание на порт ответа на релей? В понедельник проверю конфигурацию и отслежу, на какой порт ответ идет. Собственно, почему и вопрос был насчет снифа трафика с рабочей схемы. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted April 16, 2016 используем с 3200 и 1210-28 самописный dhcp через dhcp_local_relay. Все работает стабильно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
itt1b Posted April 17, 2016 используем с 3200 и 1210-28 самописный dhcp через dhcp_local_relay. Все работает стабильно. dhcp_local_relay работает с сервером по broadcast, так? А у меня сервер в другом сегменте сети стоит, поэтому нужен dhcp_relay с юникастом. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vurd Posted April 17, 2016 Сервер самописный, под собственные нужды, теперь стала задача скрестить его с Длинком. Т.е. нужно обратить внимание на порт ответа на релей? В понедельник проверю конфигурацию и отслежу, на какой порт ответ идет. Собственно, почему и вопрос был насчет снифа трафика с рабочей схемы. Напишите мне свою почту в личку - кину дамп. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
itt1b Posted April 18, 2016 Нашел проблему, спасибо vurd за дамп. Фишка в том, что мои длинки в DHCPDISCOVER шлют bootp flag 0x8000 - broadcast, а не 0x0000 - unicast. А я им отвечал 0x0000. Поменял на 0x8000 - сразу все заработало. Самое смешное, что другое железо без проблем работает и плюет на эти флаги. Теперь буду подставлять в зависимости от запроса. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vop Posted April 18, 2016 Нашел проблему, спасибо vurd за дамп. Фишка в том, что мои длинки в DHCPDISCOVER шлют bootp flag 0x8000 - broadcast, а не 0x0000 - unicast. А я им отвечал 0x0000. Поменял на 0x8000 - сразу все заработало. Самое смешное, что другое железо без проблем работает и плюет на эти флаги. Теперь буду подставлять в зависимости от запроса. Ну да, порой полезно полазить по сырцам готового софта, дабы понять, что и как работает :) dhcp.c .... state -> bootp_flags = packet -> raw -> flags; .... raw.flags = state -> bootp_flags; .... Копирование бита никак не ставится в зависимости от адреса ответа - броадкаст или релей. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...