Перейти к содержимому
Калькуляторы

DHCP сервер с поддержкой SQL Написан. Нужны добровольцы-тестеры.

Мы хотим использовать db2dhcp в целях однозначной привязки киента к коммутатору и порту. Т.е. повторяющиеся маки в базе могут быть, но на разных портах.

Есть проблема, с которой я столкнулся при тестировании сервера. В DHCPDISCOVER есть опция 82 и клиента можно иденцифицировать. Но в DHCPREQUEST этой опции нет и как иденцифицировать клиента, пока не знаю.

Что можно с этим поделать?

Не обращать внимания на DHCPREQUEST? Какой тогда запрос использовать, чтобы не было обращения к базе?

Время кэширования увеличивать? Стабилен ли сервер при работе с кэшем? Ведь проблемы ранее были.

Какие подскажите варианты?

P.S.На сайте программы указано, что актуальная версия db2dhcp-0.1.a.9. Но для скачивания доступна и db2dhcp-0.1.a.10.tar.bz2. Какую из них лучше использовать?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

db2dhcp-0.1.a.10.tar.bz2

В этой версии добавлена поддержка БД Firebird, ну может и подправили что то в старом коде, подробней к автору

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Народ, кто юзает данный дхцп-сервис, подскажите плиз!

Что нужно запихать в поля code/type/value БД, чтобы всем клиентам отсылалась опция с командой отключения NetBIOS over TCP/IP в виндовсах?

Буду несказанно благодарен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня на перловом сервере было так:

 

if (index($_[0], DHO_VENDOR_ENCAPSULATED_OPTIONS()) != -1) {

# 001 - NetBIOS over TCP/IP (NetBT): 00000002 (2) - disabled

# 002 - Release DHCP Lease on Shutdown: 00000001 (1) - enabled

# 255 - END

$_[1]->addOptionRaw(DHO_VENDOR_ENCAPSULATED_OPTIONS(), "\x01\x04\x00\x00\x00\x02\x02\x04\x00\x00\x00\x01\xff");

}

 

DHCP_OPT_VENDOR_SPEC_INFO 43 (DHO_VENDOR_ENCAPSULATED_OPTIONS)

 

http://msdn.microsoft.com/en-us/library/cc227275%28v=PROT.10%29.aspx

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Теме ап?

Отправил автору емейл (рома@ультранет.ру) с вопросом, ТС говорил про смену работы, отсюда сомнения в том, что данный емейл ему ещё принадлежит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Писал атору как на е-майлы, так и в личку на 2-х форумах. Ответа нет, пропал человек. В принципе, сервис рабочий, но хотелось бы расширения возможностей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[сообщение удалил, понял причину]

 

Как выдавать ещё статический маршрут абоненту?

Изменено пользователем iValera

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сервис действительно интересный. Но достаточно сырой ещё. Пробовал внедрить его в своей сети, но при подключении нескольких тысяч клиентов переставал отдавать адреса. Пришлось вернуться на isc-dhcp снова :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пробовал внедрить его в своей сети, но при подключении нескольких тысяч клиентов переставал отдавать адреса. Пришлось вернуться на isc-dhcp снова :(

Вот сами как раз занимаемся внедрением сервиса на Debian:

Linux db2dhcp 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux

У нас на 10+ тысяч абонентов проблем как у Вас нет. Но есть свои:( - периодически отваливается (2-4 раза в сутки) сервис с такой ошибкой в messages:

Jul 19 07:50:05 db2dhcp kernel: [683169.280894] db2dhcp[12641]: segfault at 46 ip 00007f3e41be2dfa sp 00007f3e3dd717b0 error 4 in libc-2.11.3.so[7f3e41b9d000+159000]

или с такой:

Jul 18 14:07:43 db2dhcp kernel: [619431.572714] db2dhcp[10124]: segfault at 17 ip 0000000000403fe0 sp 00007fe2743087b0 error 4 in db2dhcp[400000+11000]

Причем нет никакой закономерности от нагрузки, как мне кажется, т.к. сервис может упасть и днем, и ночью и утром.

Пробовал как последнюю версию (0.1.a.10), так и предыдущую (0.1.a.9).

На одном форуме, да и в этой теме вычитал, что можно убрать DHCPCacheTTL (у меня как в примере стояло 3600). Выставил в 0, но все равно сервис периодически падал. Один юзер говорил, что у него на Ubuntu 12.04 32-бит с ядром 3.2.0-26-generic-pae стабильно работает. Сегодня проверил на своей сети - валится с такой же ошибкой:(

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

Изменено пользователем nicol@s

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Jul 19 07:50:05 db2dhcp kernel: [683169.280894] db2dhcp[12641]: segfault at 46 ip 00007f3e41be2dfa sp 00007f3e3dd717b0 error 4 in libc-2.11.3.so[7f3e41b9d000+159000]

Погуглили - многие сервисы падают с такой ошибкой. Нашли, что может помочь обновление библиотеки libc. Собственно это и сделали. Теперь у нас:

aptitude show libc6
Пакет: libc6                                     
Состояние: установлен
Автоматически установлен: нет
Версия: 2.13-34

 

Наблюдаем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отвалился, но уже с такой ошибкой:

Jul 19 15:03:36 db2dhcp kernel: [ 5694.144602] db2dhcp[4578]: segfault at 17 ip 0000000000403fe0 sp 00007ff1e7d817b0 error 4 in db2dhcp[400000+11000]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Погуглили - многие сервисы падают с такой ошибкой. Нашли, что может помочь обновление библиотеки libc. Собственно это и сделали. Теперь у нас:

aptitude show libc6
Пакет: libc6                                     
Состояние: установлен
Автоматически установлен: нет
Версия: 2.13-34

 

Наблюдаем.

 

У меня он просто перестаёт отвечать на запросы, хотя сам работает. Запускаю под FreeBSD 9. Абонентов тоже 10к+.

Вопрос: сколько коннектов к базе Вы задаёте в конфиге?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я выставил 10 пока что

Спасибо.

Буду так же менять настройки, библиотеки и наблюдать. Пока автор не отвечает, делать больше нечего...

Изменено пользователем tsmandrew

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Соберите с дебагом (-g), и корку разрешите писать (man unlimit), дальше выкладывайте чтобы автор мог забрать и подебажить - увидеть в каком именно месте оно упало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну да. Будем дебажить. Тем более, что версия библиотеки libc тут не причем:

ul 20 02:44:02 db2dhcp kernel: [47720.282534] db2dhcp[7158]: segfault at 46 ip 00007fee97a52ada sp 00007fee94be57f0 error 4 in libc-2.13.so[7fee97a0e000+17d000]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тестируем на ubuntu биллинг 1ubs.ru.

 


User = 'nobody'
DBType = MySQL
DBName = bill
DBClientsCount = 3
DBServerAddress = 127.0.0.1
DBUserName = 'root'
DBUserPassword = 'сркрыт'
LogFile = db2dhcp.log
DHCPCacheTTL = 60

Var = CLI-GIADDR        h:24:4
Var = CLI-ETHER-ADDR    h:28:6  # Ethernet address
Var = OPT82-PORT        o:82:7:1
Var = OPT82-REMOTE-ID	o:82:12


QueryDiscover = SELECT '1' as code, '5' as type, INET_NTOA(4294967295 & info_ipzones.mask) as value FROM info_ipzones LEFT JOIN accounts_tariff_service_options ON info_ipzones.gateway < option_value AND info_ipzones.net >= option_value WHERE slink IN (SELECT slink FROM accounts_tariff_service_options WHERE REPLACE( option_value, '-', '' ) = '$CLI-ETHER-ADDR$' and is_deleted = 0) and  option_id = 50 and is_deleted = 0 UNION SELECT '3' as code, '5' as type, INET_NTOA(4294967295 & info_ipzones.gateway) as value FROM info_ipzones LEFT JOIN accounts_tariff_service_options ON info_ipzones.gateway < option_value AND info_ipzones.net >= option_value WHERE slink IN (SELECT slink FROM accounts_tariff_service_options WHERE REPLACE( option_value, '-', '' ) = '$CLI-ETHER-ADDR$' and is_deleted = 0) and  option_id = 50 and is_deleted = 0 UNION SELECT '6' as code, '5' as type, 'сркрыт,сркрыт' as value UNION SELECT '66' as code, '4' as type, 'сркрыт' as value UNION SELECT '67' as code, '6' as type, 'pxelinux.0' as value UNION SELECT '1013' as code, '5' as type, 'сркрыт' as value UNION SELECT '1010' as code, '5' as type, 'сркрыт' as value UNION SELECT '42' as code, '5' as type, 'сркрыт' as value UNION SELECT '72' as code, '5' as type, 'сркрыт' as value UNION SELECT '51' as code, '5' as type, '7200' as value UNION SELECT '1009' as code, '5' as type, INET_NTOA(4294967295 & option_value) as value FROM accounts_tariff_service_options WHERE slink IN (SELECT slink FROM accounts_tariff_service_options WHERE REPLACE( option_value, '-', '' ) = '$CLI-ETHER-ADDR$' and is_deleted = 0) and  option_id = 50 and is_deleted = 0

 

за год не разу не падал, используем 2 dhcp сервера в сети в связки с ip-helper

Изменено пользователем deepweb

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DBUserName = 'root'

Коннектица под рутом - моветон

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ужас какой он у нас одинокий на сервере с репликацией БД, мб по этому всё и хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, кто знает, как его использовать в связке с радиус сервером. Перечитал всю ветку так и не понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Юзайте фрирадиус, там можно дхцп примитивненько настроить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, кто знает, как его использовать в связке с радиус сервером. Перечитал всю ветку так и не понял.

дописывать надо....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну я в тесте настроил dhcp2radius, вроде на столе по крайней мере работает.Правда использовал не оригинальный патч от автора , а переделаный патч к версии ics-dhcp-4.1.1, нашел в гостевой книге на www.netpatch.ru по ссылке посетителя сайта. Просто увидев новый проект db2dhcp от автора патча, подумал что лучше заморочиться им, а тут оказывается функционал еще не не написан, если вообще планируется. А с freeradius че та по быстрому не получилось. А патченый dhcp завел за один день по примерам с сайта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Правда использовал не оригинальный патч от автора , а переделаный патч к версии ics-dhcp-4.1.1, нашел в гостевой книге на www.netpatch.ru по ссылке посетителя сайта.

Я автор этого патча. Как написано в том сообщении "Переделывал на скорую руку, мог что-то испортить" - точно отломано кеширование запросов и rate-limit.

Может когда-нибудь доберусь и переделаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.