kvirtu 315 Опубликовано: 2013-01-26 11:24:30 Share Опубликовано: 2013-01-26 11:24:30 Всем привет ! Прошу помощи кто юзает abills и модуль DHCPD. На форум разработчика прошу НЕ посылать - там реакция происходит очень долго или вообще тема остается без ответа. Итак, версия биллинга 0.55 от 03.10.20.12, FreBSD, Модули: DV, DHCPD. Вопросы при создании сети: В мануале пишется, что при создании сети для авторизованных пользователей поле IP RANGE нужно оставить пустым, но при этом icp-dhcpd не запускается. В мануале нет описания полей : запретить неизвестных клиентов, авторизованный сервер для данной зоны, тип, GUEST VLAN . У меня icp-dhcpd запускается, при таких настройках сетей: При заведении адреса dhcp у клиента : выдает такие ошибки: Только если выберу определенную сеть , к примеру AUTH, выдается адрес из пула прописанных адресов Не работает правило конфига : $conf{DHCPHOSTS_DEPOSITCHECK}=0.00; - что нужно донастроить ??? Активация IPN - это только для модуля IPN или для DV тоже ??? Ссылка на сообщение Поделиться на других сайтах
Кеша 546 Опубліковано: 2013-01-26 12:29:51 Share Опубліковано: 2013-01-26 12:29:51 давайте начнем с начала. что вы хотите получить? постанвка задачи. Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2013-01-26 14:08:28 Автор Share Опубліковано: 2013-01-26 14:08:28 давайте начнем с начала. что вы хотите получить? постанвка задачи. все как бы просто: - для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х - для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard Ссылка на сообщение Поделиться на других сайтах
UStas_rinet 43 Опубліковано: 2013-01-26 14:12:39 Share Опубліковано: 2013-01-26 14:12:39 Так чисто ради интереса. А у Вас коммерческая версия, или холявная ? Ссылка на сообщение Поделиться на других сайтах
Кеша 546 Опубліковано: 2013-01-26 14:20:08 Share Опубліковано: 2013-01-26 14:20:08 давайте начнем с начала. что вы хотите получить? постанвка задачи. все как бы просто: - для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х - для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard это не реализуемо средствами isc-dhcpd вы не подумали, что сервер dhcp не умеет обращаться к биллингу? смотрите в сторону freeradius 2.x который умеет быть dhcp сервером. я вот допиливаю такую связку. бесплатная версия abills не содержит модуля авторизации. автор продает модуль отдельно. можете посидеть пару дней и самому написать. там ничего сложного, в документации есть пример. Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2013-01-26 14:25:16 Автор Share Опубліковано: 2013-01-26 14:25:16 Так чисто ради интереса. А у Вас коммерческая версия, или холявная ? free, а на что это влияет ? Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2013-01-26 14:28:19 Автор Share Опубліковано: 2013-01-26 14:28:19 давайте начнем с начала. что вы хотите получить? постанвка задачи. все как бы просто: - для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х - для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard это не реализуемо средствами isc-dhcpd вы не подумали, что сервер dhcp не умеет обращаться к биллингу? смотрите в сторону freeradius 2.x который умеет быть dhcp сервером. я вот допиливаю такую связку. бесплатная версия abills не содержит модуля авторизации. автор продает модуль отдельно. Вот после этого смотрю в сторону MikBill Ссылка на сообщение Поделиться на других сайтах
Кеша 546 Опубліковано: 2013-01-26 14:44:16 Share Опубліковано: 2013-01-26 14:44:16 а что там в микбил? насколько я вижу, он платный и в описании нет такой фичи. на самом деле ничего страшного. абилс идеологически правильная система. безотказная в работе. то что нужно допиливать, ну так и что? или используйте ppp или потратьте пару дней на разбор питона. Ссылка на сообщение Поделиться на других сайтах
NiTr0 584 Опубліковано: 2013-01-26 15:04:28 Share Опубліковано: 2013-01-26 15:04:28 смотрите в сторону freeradius 2.x который умеет быть dhcp сервером. на наге вполне себе есть дхцп сервер с мускул базой. я его у себя пользую, собссно допиленный под абиллс код выложил. правда - статика только пока, без отключения по негативному депозиту и без динамики (для динамики будет сложнее, но пилить пока что мне ее не надо). к слову, адаптация заняла менее недели... а фрирадиус - оно умеет быть всем и в то же время ничем, еще и память постоянно течет (то ли в связке с rlm_perl то ли сама по себе - хз), эдакий комбайн из пластилина, и ИМХО для продакшна не лучшее решение (но у нас пока трудится, подпертый скриптовыми костылями - после случаев краша или ухода в себя)... абилс идеологически правильная система. безотказная в работе. идеологически - не совсем правильная (элементарное отсутствие транзакций - во всяком случае до недавнего времени - чего только стоит, бывали случаи когда деньги сняло, а пакет остался старый). хотя - давно не смотрел на код, сейчас ведется активный рефакторинг, и вроде как в нужную сторону - но все равно логичной я бы ее не назвал... но - работает, и вполне исполняет свои задачи, ИМХО - не хуже других систем. Ссылка на сообщение Поделиться на других сайтах
Кеша 546 Опубліковано: 2013-01-26 15:16:20 Share Опубліковано: 2013-01-26 15:16:20 на наге обсуждается вот этот проект http://www.netpatch.ru/dhcp2radius.html если опустить те моменты, что он падает в кору, а автор его пропал и проект не поддерживает, какой смысл тулить костыль кривописаный, который не вполне сростается с биллингом? кстати, если завтра вам нужно будет слать роуты в ответе, или другую опцию, что делать будете с вашим костылем? фрирадиус там тоже обсуждают. пришли к выводу, что он тупо работает. логику сервера на нем сложно но и не нужно реализовать. нужно тупо лупить ответами DHCP-Offer и все работает как из пушки. Ссылка на сообщение Поделиться на других сайтах
NiTr0 584 Опубліковано: 2013-01-26 15:32:34 Share Опубліковано: 2013-01-26 15:32:34 на наге обсуждается вот этот проект http://www.netpatch....hcp2radius.html если опустить те моменты, что он падает в кору, а автор его пропал и проект не поддерживает, какой смысл тулить костыль кривописаный, который не вполне сростается с биллингом? кстати, если завтра вам нужно будет слать роуты в ответе, или другую опцию, что делать будете с вашим костылем? а еще обсуждается вот этот проект. который у меня в продакшне (после небольшого перепиливания логики и допиливания под абилллс) стабильно выдерживал флуд порядка сотен запросов в секунду длительное время, ни разу не упав. и да, вы не поверите, маршруты он тоже шлет. и добавить любую другую опцию - элементарно... фрирадиус там тоже обсуждают. пришли к выводу, что он тупо работает. логику сервера на нем сложно но и не нужно реализовать. нужно тупо лупить ответами DHCP-Offer и все работает как из пушки. т.е тупо насрали на стандарты и шлете в ответ на request всегда offer вместо ack? а с чего вы взяли, что все без исключения девайсы примут такое попирание стандартов как должное, не послав вас лесом или, и того хуже, устроив флуд на сервер? или вы клиенту будете доказывать, что у него плохой роутер, т.к. он не работает с вашим кривым дхцп сервером? о том, чтобы реализовать во фрирадиусе работу с пулами адресов и т.п. - молчу... Ссылка на сообщение Поделиться на других сайтах
Кеша 546 Опубліковано: 2013-01-26 15:53:04 Share Опубліковано: 2013-01-26 15:53:04 ну и где там поддержка радиуса? без нее авторизовать в реалтайме не получится. нет, мы шлем на DHCP-Discover DHCP-Offer, а на DHCP-Request DHCP-Ack если вы уж решили заняться задрочками при этом тупо игнорим DHCP-Inform DHCP-Release что есть конечно попирание стандартов пул адресов? а он нужен, когда есть логика в биллинге и SQL ? под пул все есть готовое в абиллс. Ссылка на сообщение Поделиться на других сайтах
BUM 242 Опубліковано: 2013-01-26 17:12:45 Share Опубліковано: 2013-01-26 17:12:45 давайте начнем с начала. что вы хотите получить? постанвка задачи. все как бы просто: - для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х - для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard вместо 10.128.250.х используй 172.16.хх.хх проблем меньше будет потом что лог пишет при старте? Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2013-01-26 17:31:42 Автор Share Опубліковано: 2013-01-26 17:31:42 давайте начнем с начала. что вы хотите получить? постанвка задачи. все как бы просто: - для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х - для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard вместо 10.128.250.х используй 172.16.хх.хх проблем меньше будет потом что лог пишет при старте? Дык, я понял по адресам, сейчас dhcp отключен. Ну а все что не пашет я описал в первом посте Ссылка на сообщение Поделиться на других сайтах
NiTr0 584 Опубліковано: 2013-01-26 19:27:59 Share Опубліковано: 2013-01-26 19:27:59 ну и где там поддержка радиуса? без нее авторизовать в реалтайме не получится. Да ну? Неужели? Нахрена там радиус, когда дхцп сервер выгребает данные напрямую из мускул БД? Или просто вам хочется усложнить себе задачу? нет, мы шлем на DHCP-Discover DHCP-Offer, а на DHCP-Request DHCP-Ack если вы уж решили заняться задрочками при этом тупо игнорим DHCP-Inform DHCP-Release что есть конечно попирание стандартов Для статики еще проканает кое-как, хоть и с минусами. Для динамики - нет. пул адресов? а он нужен, когда есть логика в биллинге и SQL ?под пул все есть готовое в абиллс. Что есть готовое? Как вы реализуете динамически выдаваемые ип адреса из пула? При этом - с полноценной stateful логикой (т.е. - освобождать лизу по тайм-ауту или по release пакету, продлевать по dhcp inform и т.д.)? Ссылка на сообщение Поделиться на других сайтах
fynjy_79 28 Опубліковано: 2013-01-26 20:23:47 Share Опубліковано: 2013-01-26 20:23:47 в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд. Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2013-01-26 20:52:11 Автор Share Опубліковано: 2013-01-26 20:52:11 в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд. О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ??? Ссылка на сообщение Поделиться на других сайтах
Кеша 546 Опубліковано: 2013-01-27 03:52:48 Share Опубліковано: 2013-01-27 03:52:48 ну и где там поддержка радиуса? без нее авторизовать в реалтайме не получится. Да ну? Неужели? Нахрена там радиус, когда дхцп сервер выгребает данные напрямую из мускул БД? Или просто вам хочется усложнить себе задачу? ну и как вы делаете проверку баланса, галки отключено, даты активации и т.д.? как выдавать другие ip отключенным? какое участие вообще принимает биллинг в работе dhcp сервера? зачем вообще тогда городить огород с базой, если достаточно дампануть все в конфиг isc-dhcp и сделать ему рестарт. это все умеет абилс. будут теже яйца только получается вы усложнили себе жизнь базой мускуля и не понятным перловым скриптом вместо стандартного dhcp сервера. пул адресов? а он нужен, когда есть логика в биллинге и SQL ?под пул все есть готовое в абиллс. Что есть готовое? Как вы реализуете динамически выдаваемые ип адреса из пула? При этом - с полноценной stateful логикой (т.е. - освобождать лизу по тайм-ауту или по release пакету, продлевать по dhcp inform и т.д.)? все есть готовое. таблица dhcphosts_leases, веб интерфейс. бери только пиши логику в модуле абилса. так это будет получше кривописанной перловки с падающим сокетом. Ссылка на сообщение Поделиться на других сайтах
fynjy_79 28 Опубліковано: 2013-01-27 06:27:57 Share Опубліковано: 2013-01-27 06:27:57 в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд. О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ??? при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку. Ссылка на сообщение Поделиться на других сайтах
NiTr0 584 Опубліковано: 2013-01-27 09:32:52 Share Опубліковано: 2013-01-27 09:32:52 ну и как вы делаете проверку баланса, галки отключено, даты активации и т.д.? как выдавать другие ip отключенным? какое участие вообще принимает биллинг в работе dhcp сервера? мне не нужно было делать проверку баланса и выдачу ип из левого пула - я и не делал. банальная статика, с опцией 82 (которая, впрочем, у нас пока еще не используется). вам надо - допилите, делов-то на 5 минут, элементарно же... а биллинг - как раз таки непосредственное участие принимает. собссно он наполняет базу. зачем вообще тогда городить огород с базой, если достаточно дампануть все в конфиг isc-dhcp и сделать ему рестарт. это все умеет абилс.будут теже яйца только получается вы усложнили себе жизнь базой мускуля и не понятным перловым скриптом вместо стандартного dhcp сервера. 1) опция 82 - нормальная, а не костыль 2) отсутствие необходимости рестартовать сервер (для нескольких тысяч абонов - генерация конфига занимает с полминуты, будет 10000+ абонов - устанете ждать пока конфиг сгенерится) 3) нормальные логи в БД. не через костыль в виде скриптовой прослойки. 4) вообще - вместо скрипта на несколько десятков кб тянуть несколько метров говнокода (вы, к слову, в кишки isc dhcpd не смотрели? зря...) - вообще бредово 5) при любой ошибке в конфиге (к примеру, оператор протупил и неправильно заполнил опцию 82 или вообще не заполнил поля, поставив галку) - ваш дхцп сервер упадет, а вы об этом даже не узнаете пока не пойдет шквал звонков... все есть готовое.таблица dhcphosts_leases, веб интерфейс. бери только пиши логику в модуле абилса. так это будет получше кривописанной перловки с падающим сокетом. ну да, ну да, подумаешь - всего лишь написать логику работы дхцп сервера а так - да, все готовое ну и подтянуть к модулю абиллса еще горстку модулей... и да к слову, что-то у меня ни сокеты не падали, ни мускул не отваливался (кстати, в отличие от rlm_perl - там мускул порой отсыхает, пришлось патчевать биллинг для постоянного передергивания соединения с бд при каждой аутентификации), ни прочих приключений не было. аптайм более месяца, все стабильно, 300-500 запросов в секунду выдерживал и не кашлял... а вы можете и дальше на коленке глюкало в виде фрирадиуса лепить... Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2013-01-27 09:48:10 Автор Share Опубліковано: 2013-01-27 09:48:10 в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд. О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ??? при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку. спасибо, завтра попробую P.S. А на форуме разработчика та же тема и не одного ответа Ссылка на сообщение Поделиться на других сайтах
Ромка 567 Опубліковано: 2013-01-27 10:04:29 Share Опубліковано: 2013-01-27 10:04:29 в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд. О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ??? при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку. спасибо, завтра попробую P.S. А на форуме разработчика та же тема и не одного ответа Пора уже на этом форуме открывать ветку по Абиллс Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2013-01-27 11:27:30 Автор Share Опубліковано: 2013-01-27 11:27:30 в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд. О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ??? при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку. спасибо, завтра попробую P.S. А на форуме разработчика та же тема и не одного ответа Пора уже на этом форуме открывать ветку по Абиллс точно), надо Фостеру отписаться Ссылка на сообщение Поделиться на других сайтах
Кеша 546 Опубліковано: 2013-01-27 11:55:22 Share Опубліковано: 2013-01-27 11:55:22 ну и как вы делаете проверку баланса, галки отключено, даты активации и т.д.? как выдавать другие ip отключенным? какое участие вообще принимает биллинг в работе dhcp сервера? мне не нужно было делать проверку баланса и выдачу ип из левого пула - я и не делал. банальная статика, с опцией 82 (которая, впрочем, у нас пока еще не используется). вам надо - допилите, делов-то на 5 минут, элементарно же... а биллинг - как раз таки непосредственное участие принимает. собссно он наполняет базу. так наполнить базу можно с phpMyAdmin, нахрена париться с биллингом?? я понял, вы не понимаете разницу между биллингом, предназначенным для учета и СУБД. для вас это видимо одно и тоже вы не делали проверку баланса, по тому что в вашей схеме она не возможна в принципе. иначе придется перенести всю логику биллинга ваш перловый скрипт. ну да, ну да, подумаешь - всего лишь написать логику работы дхцп сервера а так - да, все готовое ну и подтянуть к модулю абиллса еще горстку модулей... вся логика описана в RFC 2131 занимает пару абзацев. при запросе Discover сделать селект по базе, выбрать свободный IP. отдать клиенту, получить подтверждение, занести в базу лиз. два SQL запроса, если это для вас сложно, то я не доктор. и да к слову, что-то у меня ни сокеты не падали, ни мускул не отваливался (кстати, в отличие от rlm_perl - там мускул порой отсыхает, пришлось патчевать биллинг для постоянного передергивания соединения с бд при каждой аутентификации), ни прочих приключений не было. аптайм более месяца, все стабильно, 300-500 запросов в секунду выдерживал и не кашлял... а вы можете и дальше на коленке глюкало в виде фрирадиуса лепить... аптайм месяц??? вы смеетесь? у меня радиус не перезапускался уже год. работал в связке с микротиковским dhcp. сейчас переводим на freeradius dhcp. "глюкало" фрирадиус работает в тысячах инсталляций типа pppoe и vpn эта схема проверена годами, а вы можете дальше строить дартаньяна. Ссылка на сообщение Поделиться на других сайтах
NiTr0 584 Опубліковано: 2013-01-27 12:42:50 Share Опубліковано: 2013-01-27 12:42:50 так наполнить базу можно с phpMyAdmin, нахрена париться с биллингом?? я понял, вы не понимаете разницу между биллингом, предназначенным для учета и СУБД. для вас это видимо одно и тоже а я понял, что вы ничего не поняли. у меня стояла задача свалить с глюкала "isc dhcpd + горка костылей", дабы иметь возможность в реалтайме и логи посмотреть, и ип сменить, не рестартуя сервак и не залазя в дебри парсинга логов. задача решена более чем успешно. то, что вам этого мало - ваши личные проблемы. модуль дхцп к слову из коробки большего и не дает (ну или как минимум года 1.5 назад не давал - биллинг пока не апдейтил, нужды не было, а портировать дифф допиливаний под наши нужды эдак с сотню кб на новый релиз просто так со скуки - смысла не вижу). вы не делали проверку баланса, по тому что в вашей схеме она не возможна в принципе. иначе придется перенести всю логику биллинга ваш перловый скрипт. вы бы как-то определились что ли - невозможна в принципе, или дописать немного логики (добавить в скл запрос АЖ 3 поля из целых 2 таблиц, и провести весьма сложные операции - сложение и вычитание - из полученных значений). и при этом нахрен не надо тащить гору лишней логики, тысячи строк кода. да, дублирование функционала ради выигрыша в скорости (в разы) - но кто виноват, что в абиллсе логика сделана без адекватного предварительного проектирования, с кучей хитросплетений между разными модулями, и при этом равномерно размазана между бэкэндом и фронтэндом вместо выделения в отдельную сущность... вся логика описана в RFC 2131 занимает пару абзацев. при запросе Discover сделать селект по базе, выбрать свободный IP. отдать клиенту, получить подтверждение, занести в базу лиз. два SQL запроса, если это для вас сложно, то я не доктор. не два запроса, а реализация полноценного конечного автомата, с N состояниями (что, к примеру, вы собрались слать в ответ на ACK если перед ним не было Discover? ах да, это не укладывается в 2 запроса, потому игнорим?). и в биллинге для этого не реализовано ни-че-го. аптайм месяц??? вы смеетесь? у меня радиус не перезапускался уже год. работал в связке с микротиковским dhcp. сейчас переводим на freeradius dhcp. "глюкало" фрирадиус работает в тысячах инсталляций типа pppoe и vpn эта схема проверена годами, а вы можете дальше строить дартаньяна. и чо, память не текла? у меня радиус 2.1.7 течет, как сука, где-то на пару гигов в месяц. ибо решето дырявое. фиксить, гоняя через valgrind - нунафиг, лучше уж это время потратить на написание чего-то своего, более адекватного. к слову, тривиальный радиус-сервер с pap/chap аутентификацией на перле пишется за 2-3 дня... а, к примеру, мини-биллинговая система для сети хотспотов, с радиусом, с печатю на POS-принтере талончиков (вернее, выдача по хттп запросу кода для вывода на принтер), без веб-морды - за неделю. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас