megabitik Posted August 10, 2009 · Report post Привет! Если пул состоит из одного адреса, например subnet 192.168.0.0 netmask 255.255.255.0 { option routers 192.168.0.1; class "linksys12_49781" { match if (binary-to-ascii(16,8,":",substring(option agent.remote-id,2,6))="5a:0:3b:3:0:f" and binary-to-ascii(10,8,"",suffix(option agent.circuit-id,1))="12"); } pool { range 192.168.0.2; allow members of "linksys12_49781"; } ............ } Т.е. адреса у нас назначаются с привязкой к порту коммутатора при помощи Option 82. Возникает проблема когда адрес назначается, потом человек меняет комп на другой и не может получить адрес до истечения срока лизы. Можно ли заставить сервер игнорировать занятую лизу и выдавать адрес в любом случае? Share this post Link to post Share on other sites
GateKeeper Posted August 10, 2009 · Report post Используй поиск, Люк. Тут уже обсуждалось, примерно квартал назад. Ключевые слова: snmp trap, port state down Share this post Link to post Share on other sites
megabitik Posted August 10, 2009 (edited) · Report post Ничего подобного не нашел... Может, плохо искал? Ткните носом тогда. Как заставить сервер игнорировать тот факт, что IP уже выдан на определенный MAC и выдать его повторно? Edited August 10, 2009 by megabitik Share this post Link to post Share on other sites
dsk Posted August 10, 2009 · Report post В моем случае подобных перетыкателей очень мало, городить ради них еще тонну костылей с снмп трапами, проверками и т.п. желания никакого не имею. В общем порядке установлено время аренды - 15 минут. Многокомповым юзерам активно предлагается установить роутер, для облегчения ихней же жизни. Особо ярые ортодоксальные перетыкатели компов, коих единицы, прописывают на нескольких своих компах одинаковый мак и живут счастливо. Share this post Link to post Share on other sites
digimaster Posted August 10, 2009 · Report post Похожая проблема, когда приходят установщики, показывают инет на ноуте, перетыкают провод клиенту и тот должен ждать окончание лизы. Говорят, клиенты сильно рады... Особенно когда винды назначают себе адрес 169.х.х.х, коммутатор это видит и кладет порт - волшебство dhcp snooping-а. Решение здесь я не нашел. Пробовал через OMAPI менять статус лизы, нифига, не работает, статус меняешь, а он - no free leases. Решение сабжа очень нужно. Share this post Link to post Share on other sites
t0ly Posted August 10, 2009 · Report post может поможет уменьшение срока лизынга? Share this post Link to post Share on other sites
sid1333 Posted August 10, 2009 · Report post Похожая проблема, когда приходят установщики, показывают инет на ноуте, перетыкают провод клиенту и тот должен ждать окончание лизы. Говорят, клиенты сильно рады... Особенно когда винды назначают себе адрес 169.х.х.х, коммутатор это видит и кладет порт - волшебство dhcp snooping-а. Решение здесь я не нашел. Пробовал через OMAPI менять статус лизы, нифига, не работает, статус меняешь, а он - no free leases. Решение сабжа очень нужно.Была такая же проблема в сети - строилась на 3526 с dhcp snooping и ip mac port binding.Также IMB некорректно отрабатывал при смене компа абонентом или ещё каких-либо действий - приходилось ждать окончания lease time. В итоге полностью отказался от IMB - для каждого коммутатора до установке генерируется набор ACL, разрешающий IP/ARP пакеты на порту и определяющий для каждого порта свой IP. DHCP snooping отключил, оставил только dhcp relay. В конечном счёте абонент может как автоматом получить нужные настройки, так и вручную вписать свой IP. Соглашусь, что решение ни разу не изящное, но тем не менее хорошо работает. Share this post Link to post Share on other sites
digimaster Posted August 10, 2009 (edited) · Report post может поможет уменьшение срока лизынга?Боюсь что dhcp сервер грохнется, накрывшись реквестами. Хотя уменьшал до 5 минут даже, немного когда народу было еще.Это приводило к частым блокировкам портов наших суперских коммутаторов - кривизна реализации IP Source Guard. Т.к. лес смешанный, проще было увеличить время лизинга и учить людей правильно освобождать адрес. Скоро полезу в исходники dhcpd похоже, т.к. надо что-то делать. :-) Edited August 10, 2009 by digimaster Share this post Link to post Share on other sites
t0ly Posted August 10, 2009 · Report post может поможет уменьшение срока лизынга?Боюсь что dhcp сервер грохнется, накрывшись реквестами. Хотя уменьшал до 5 минут даже, немного когда народу было еще.Это приводило к частым блокировкам портов наших суперских коммутаторов - кривизна реализации IP Source Guard. Т.к. лес смешанный, проще было увеличить время лизинга и учить людей правильно освобождать адрес. Скоро полезу в исходники dhcpd похоже, т.к. надо что-то делать. :-) возможно, но не факт. в крайнем случае можно попелит вланы между разными dhcp серверами Share this post Link to post Share on other sites
GateKeeper Posted August 10, 2009 · Report post http://forum.nag.ru/forum/index.php?showtopic=49139 Для тех, кому one separate tool per function (aka UNIX-way) религиозно неприятен решения нет. Остальные пользуют патчи к дхцп из соседней ветки и ловят трапы. Либо ловят трапы и юзают фейковые dhcp release. Share this post Link to post Share on other sites
hiller Posted August 11, 2009 · Report post Вот бы свичи сами release посылали :) Share this post Link to post Share on other sites
digimaster Posted August 11, 2009 · Report post http://forum.nag.ru/forum/index.php?showtopic=49139 Для тех, кому one separate tool per function (aka UNIX-way) религиозно неприятен решения нет. Остальные пользуют патчи к дхцп из соседней ветки и ловят трапы. Либо ловят трапы и юзают фейковые dhcp release. С OMshell не проканало, изменение статуса лизы не к чему не приводит. А вот с фейковым dhcp release нада подумать.... Share this post Link to post Share on other sites
megabitik Posted August 12, 2009 · Report post С OMshell не проканало, изменение статуса лизы не к чему не приводит.C OMshell подтверждаю, ничего не проканало. Похоже на то, что для удаления объекта через OMshell нужно сначала его через OMshell создать. Вот что написано в man omshell: "This is done by creating a new local object, setting attributes, associating the local and remote object using open, and then using the remove command." Для тех, кому one separate tool per function (aka UNIX-way) религиозно неприятен решения нет. Остальные пользуют патчи к дхцп из соседней ветки и ловят трапы. Либо ловят трапы и юзают фейковые dhcp release.Можно поподробнее? Как послать фейковый dhcp release? Можете поделиться конкретной реализацией? Share this post Link to post Share on other sites
GateKeeper Posted August 13, 2009 · Report post Вот что дала, пусть не самая первая, но ссылка в массиве, возвращаемом методом Brain::google() https://lists.isc.org/pipermail/dhcp-users/2007-August/004405.html Там по этому треду если дальше пройтись - много чего всплывает Share this post Link to post Share on other sites
Negator1983 Posted October 6, 2009 · Report post Вот и мне стало актуально. У кого нибудь есть готовое решение? Share this post Link to post Share on other sites
dima-u Posted October 6, 2009 (edited) · Report post У нас есть готовое решение, через dhcp2radius. Написан модуль к радиусу на perl, в качестве базы - mysql. Срок лизы вообще не играет роли - если получатель такой-то свитч+порт - выдаем такой-то ip. (либо если нет инфы о свитче и порте, то выдается ip по мак-адресе+порт релея, либо просто по мак-адресу). Если на свитч+порт связке есть несколько ip адресов (то еще и по маку привязываются, чтобы комп идентифицировать кому что выдавать) Интегрировано с netup. Есть кабинет автоматической регистрации компьютера/пользователя. Т.е. если в базе не существует связки ip+порт, то автоматом клиенту выдаются специальные настройке,где введя любую web-страничку его выбрасывает на страницу авторизации (при помощи fake-dns), где после ввода логина/пароля по договору, автоматом создается связка свитч+порт+ip. И после перезагрузки компа - вуаля, можно работать. Все работает на 1-м сервере. (dhcp+radius+mysql+apache/php для регистрации абонента в сети) ИМХО в общем случае для таких целей лучше использовать базу в качестве хранилища данных, и перегружать ничего не надо, и интерфейс для менеджмента легко написать. Edited October 6, 2009 by dima-u Share this post Link to post Share on other sites
Alex780 Posted October 7, 2009 · Report post приводит. А вот Там патч идет же комплекте, примените его и все привязки удаляются без проблем Share this post Link to post Share on other sites
Negator1983 Posted October 7, 2009 · Report post У нас есть готовое решение, через dhcp2radius.Написан модуль к радиусу на perl, в качестве базы - mysql. Срок лизы вообще не играет роли - если получатель такой-то свитч+порт - выдаем такой-то ip. (либо если нет инфы о свитче и порте, то выдается ip по мак-адресе+порт релея, либо просто по мак-адресу). Если на свитч+порт связке есть несколько ip адресов (то еще и по маку привязываются, чтобы комп идентифицировать кому что выдавать) Интегрировано с netup. Есть кабинет автоматической регистрации компьютера/пользователя. Т.е. если в базе не существует связки ip+порт, то автоматом клиенту выдаются специальные настройке,где введя любую web-страничку его выбрасывает на страницу авторизации (при помощи fake-dns), где после ввода логина/пароля по договору, автоматом создается связка свитч+порт+ip. И после перезагрузки компа - вуаля, можно работать. Все работает на 1-м сервере. (dhcp+radius+mysql+apache/php для регистрации абонента в сети) ИМХО в общем случае для таких использовать базу в качестве хранилища данных, и перегружать ничего не надо, и интерфейс для менеджмента легко написать. не не не, ничего такого не надо. Уже написали скрипт создания конфига dhcp, интегрировали с самописным биллингом и т.п. надо только решение вышеописанной проблемы Я так понял что через dhcp2radius это можно решить? ткните носом куда нибудь. Share this post Link to post Share on other sites
kapa Posted October 7, 2009 · Report post не не не, ничего такого не надо. Уже написали скрипт создания конфига dhcp, интегрировали с самописным биллингом и т.п.надо только решение вышеописанной проблемы Я так понял что через dhcp2radius это можно решить? ткните носом куда нибудь. при передергивании дхцп очищайте файл с лизами Share this post Link to post Share on other sites
Negator1983 Posted October 7, 2009 · Report post У нас передергивание dhcp только при изменении конфига. А конфиг меняется когда добавляем/меняем юзу свич и порт Share this post Link to post Share on other sites
dead_moroz Posted May 15, 2010 · Report post проблема до сих пор не решена? Share this post Link to post Share on other sites
godlike Posted May 16, 2010 · Report post Знакомые написали под это дело свой дхцп сервер. буду тоже что-то думать... Share this post Link to post Share on other sites
MagMike Posted May 19, 2010 · Report post можно утилитой dhcdrop посылать фейковый RELEASE Share this post Link to post Share on other sites
tux-tm Posted May 25, 2010 (edited) · Report post Используйте freeradius, в нём есть функционал DHCP-сервера, для обработки запросов - rlm_perl У меня работает на ура! Edited May 25, 2010 by tux-tm Share this post Link to post Share on other sites
Wingman Posted May 27, 2010 (edited) · Report post Используйте freeradius, в нём есть функционал DHCP-сервера, для обработки запросов - rlm_perlУ меня работает на ура! tux-tm, а на какой платформе и какая версия, если не секрет? У меня на x86_64 freeradius 2.1.9 почему-то rlm_perl хоть убей заводится не хочет ;( правка: таки завел ;) Edited May 27, 2010 by Wingman Share this post Link to post Share on other sites