Jump to content
Local
kvirtu

Abills, модуль DHCPD - настройка.

Recommended Posts

Всем привет !

Прошу помощи кто юзает abills и модуль DHCPD.

На форум разработчика прошу НЕ посылать - там реакция происходит очень долго или вообще тема остается без ответа.

Итак, версия биллинга 0.55 от 03.10.20.12, FreBSD, Модули: DV, DHCPD.

Вопросы при создании сети:

post-4093-0-83661000-1359211203_thumb.jpg

В мануале пишется, что при создании сети для авторизованных пользователей поле IP RANGE нужно оставить пустым, но при этом icp-dhcpd не запускается.

В мануале нет описания полей : запретить неизвестных клиентов, авторизованный сервер для данной зоны, тип, GUEST VLAN .

У меня icp-dhcpd запускается, при таких настройках сетей:

post-4093-0-89594400-1359211221_thumb.jpg

При заведении адреса dhcp у клиента :

post-4093-0-63744000-1359211242_thumb.jpg

выдает такие ошибки:

post-4093-0-38814200-1359211264_thumb.jpg

Только если выберу определенную сеть , к примеру AUTH, выдается адрес из пула прописанных адресов

Не работает правило конфига : $conf{DHCPHOSTS_DEPOSITCHECK}=0.00; - что нужно донастроить ???

Активация IPN - это только для модуля IPN или для DV тоже ???

Share this post


Link to post
Share on other sites

давайте начнем с начала.

что вы хотите получить?

постанвка задачи.

Share this post


Link to post
Share on other sites

давайте начнем с начала.

что вы хотите получить?

постанвка задачи.

все как бы просто:

- для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х

- для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard

Share this post


Link to post
Share on other sites

Так чисто ради интереса. А у Вас коммерческая версия, или холявная ?

Share this post


Link to post
Share on other sites

давайте начнем с начала.

что вы хотите получить?

постанвка задачи.

все как бы просто:

- для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х

- для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard

это не реализуемо средствами isc-dhcpd

вы не подумали, что сервер dhcp не умеет обращаться к биллингу?

смотрите в сторону freeradius 2.x который умеет быть dhcp сервером.

я вот допиливаю такую связку. бесплатная версия abills не содержит модуля авторизации. автор продает модуль отдельно.

можете посидеть пару дней и самому написать.

там ничего сложного, в документации есть пример.

Share this post


Link to post
Share on other sites

Так чисто ради интереса. А у Вас коммерческая версия, или холявная ?

free, а на что это влияет ?

Share this post


Link to post
Share on other sites

давайте начнем с начала.

что вы хотите получить?

постанвка задачи.

все как бы просто:

- для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х

- для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard

это не реализуемо средствами isc-dhcpd

вы не подумали, что сервер dhcp не умеет обращаться к биллингу?

смотрите в сторону freeradius 2.x который умеет быть dhcp сервером.

я вот допиливаю такую связку. бесплатная версия abills не содержит модуля авторизации. автор продает модуль отдельно.

Вот после этого смотрю в сторону MikBill

Share this post


Link to post
Share on other sites

а что там в микбил?

насколько я вижу, он платный и в описании нет такой фичи.

на самом деле ничего страшного.

абилс идеологически правильная система. безотказная в работе.

то что нужно допиливать, ну так и что?

или используйте ppp или потратьте пару дней на разбор питона.

Share this post


Link to post
Share on other sites

смотрите в сторону freeradius 2.x который умеет быть dhcp сервером.

на наге вполне себе есть дхцп сервер с мускул базой. я его у себя пользую, собссно допиленный под абиллс код выложил. правда - статика только пока, без отключения по негативному депозиту и без динамики (для динамики будет сложнее, но пилить пока что мне ее не надо). к слову, адаптация заняла менее недели...

а фрирадиус - оно умеет быть всем и в то же время ничем, еще и память постоянно течет (то ли в связке с rlm_perl то ли сама по себе - хз), эдакий комбайн из пластилина, и ИМХО для продакшна не лучшее решение (но у нас пока трудится, подпертый скриптовыми костылями - после случаев краша или ухода в себя)...

 

абилс идеологически правильная система. безотказная в работе.

идеологически - не совсем правильная (элементарное отсутствие транзакций - во всяком случае до недавнего времени - чего только стоит, бывали случаи когда деньги сняло, а пакет остался старый). хотя - давно не смотрел на код, сейчас ведется активный рефакторинг, и вроде как в нужную сторону - но все равно логичной я бы ее не назвал... но - работает, и вполне исполняет свои задачи, ИМХО - не хуже других систем.

Share this post


Link to post
Share on other sites

на наге обсуждается вот этот проект http://www.netpatch.ru/dhcp2radius.html

если опустить те моменты, что он падает в кору, а автор его пропал и проект не поддерживает,

какой смысл тулить костыль кривописаный, который не вполне сростается с биллингом?

кстати, если завтра вам нужно будет слать роуты в ответе, или другую опцию, что делать будете с вашим костылем?

 

фрирадиус там тоже обсуждают. пришли к выводу, что он тупо работает.

логику сервера на нем сложно но и не нужно реализовать.

нужно тупо лупить ответами DHCP-Offer

и все работает как из пушки.

Share this post


Link to post
Share on other sites

на наге обсуждается вот этот проект http://www.netpatch....hcp2radius.html

если опустить те моменты, что он падает в кору, а автор его пропал и проект не поддерживает,

какой смысл тулить костыль кривописаный, который не вполне сростается с биллингом?

кстати, если завтра вам нужно будет слать роуты в ответе, или другую опцию, что делать будете с вашим костылем?

 

а еще обсуждается вот этот проект. который у меня в продакшне (после небольшого перепиливания логики и допиливания под абилллс) стабильно выдерживал флуд порядка сотен запросов в секунду длительное время, ни разу не упав.

и да, вы не поверите, маршруты он тоже шлет. и добавить любую другую опцию - элементарно...

 

фрирадиус там тоже обсуждают. пришли к выводу, что он тупо работает.

логику сервера на нем сложно но и не нужно реализовать.

нужно тупо лупить ответами DHCP-Offer

и все работает как из пушки.

т.е тупо насрали на стандарты и шлете в ответ на request всегда offer вместо ack? а с чего вы взяли, что все без исключения девайсы примут такое попирание стандартов как должное, не послав вас лесом или, и того хуже, устроив флуд на сервер? или вы клиенту будете доказывать, что у него плохой роутер, т.к. он не работает с вашим кривым дхцп сервером?

о том, чтобы реализовать во фрирадиусе работу с пулами адресов и т.п. - молчу...

Share this post


Link to post
Share on other sites

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

 

нет, мы шлем на DHCP-Discover DHCP-Offer, а на DHCP-Request DHCP-Ack если вы уж решили заняться задрочками :)

при этом тупо игнорим DHCP-Inform DHCP-Release

что есть конечно попирание стандартов :)

пул адресов? а он нужен, когда есть логика в биллинге и SQL ?

под пул все есть готовое в абиллс.

Share this post


Link to post
Share on other sites

давайте начнем с начала.

что вы хотите получить?

постанвка задачи.

все как бы просто:

- для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х

- для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard

 

вместо 10.128.250.х используй 172.16.хх.хх

проблем меньше будет потом ;)

что лог пишет при старте?

Share this post


Link to post
Share on other sites

давайте начнем с начала.

что вы хотите получить?

постанвка задачи.

все как бы просто:

- для зарегистрированных в билинге при положительном балансе выдается клиенту адрес из подсети 10.128.12.х, при отрицательном балансе из подсети 10.128.250.х

- для Незарегистрированных в биллинге - контроль присвоения IP-адреса средствами ipguard

 

вместо 10.128.250.х используй 172.16.хх.хх

проблем меньше будет потом ;)

что лог пишет при старте?

Дык, я понял по адресам, сейчас dhcp отключен.

Ну а все что не пашет я описал в первом посте

Share this post


Link to post
Share on other sites

а что там в микбил?

насколько я вижу, он платный и в описании нет такой фичи.

 

Функционал такой в микбиле есть, а описание морально устарело гдето с версии 1.6(8) Сейчас же текущая free- 1.12(3) и 2.0 бета.

Share this post


Link to post
Share on other sites

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

Да ну? Неужели? Нахрена там радиус, когда дхцп сервер выгребает данные напрямую из мускул БД? Или просто вам хочется усложнить себе задачу?

 

нет, мы шлем на DHCP-Discover DHCP-Offer, а на DHCP-Request DHCP-Ack если вы уж решили заняться задрочками :)

при этом тупо игнорим DHCP-Inform DHCP-Release

что есть конечно попирание стандартов :)

Для статики еще проканает кое-как, хоть и с минусами. Для динамики - нет.

 

пул адресов? а он нужен, когда есть логика в биллинге и SQL ?

под пул все есть готовое в абиллс.

Что есть готовое? Как вы реализуете динамически выдаваемые ип адреса из пула? При этом - с полноценной stateful логикой (т.е. - освобождать лизу по тайм-ауту или по release пакету, продлевать по dhcp inform и т.д.)?

Share this post


Link to post
Share on other sites

в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд.

Share this post


Link to post
Share on other sites

в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд.

О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ???

Share this post


Link to post
Share on other sites

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

Да ну? Неужели? Нахрена там радиус, когда дхцп сервер выгребает данные напрямую из мускул БД? Или просто вам хочется усложнить себе задачу?

ну и как вы делаете проверку баланса, галки отключено, даты активации и т.д.? как выдавать другие ip отключенным?

какое участие вообще принимает биллинг в работе dhcp сервера?

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

будут теже яйца только получается вы усложнили себе жизнь базой мускуля и не понятным перловым скриптом вместо стандартного dhcp сервера.

 

 

пул адресов? а он нужен, когда есть логика в биллинге и SQL ?

под пул все есть готовое в абиллс.

Что есть готовое? Как вы реализуете динамически выдаваемые ип адреса из пула? При этом - с полноценной stateful логикой (т.е. - освобождать лизу по тайм-ауту или по release пакету, продлевать по dhcp inform и т.д.)?

все есть готовое.

таблица dhcphosts_leases, веб интерфейс. бери только пиши логику в модуле абилса. так это будет получше кривописанной перловки с падающим сокетом.

Share this post


Link to post
Share on other sites

в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд.

О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ???

при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку.

Share this post


Link to post
Share on other sites

ну и как вы делаете проверку баланса, галки отключено, даты активации и т.д.? как выдавать другие ip отключенным?

какое участие вообще принимает биллинг в работе dhcp сервера?

мне не нужно было делать проверку баланса и выдачу ип из левого пула - я и не делал. банальная статика, с опцией 82 (которая, впрочем, у нас пока еще не используется). вам надо - допилите, делов-то на 5 минут, элементарно же...

а биллинг - как раз таки непосредственное участие принимает. собссно он наполняет базу.

 

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

будут теже яйца только получается вы усложнили себе жизнь базой мускуля и не понятным перловым скриптом вместо стандартного dhcp сервера.

1) опция 82 - нормальная, а не костыль

2) отсутствие необходимости рестартовать сервер (для нескольких тысяч абонов - генерация конфига занимает с полминуты, будет 10000+ абонов - устанете ждать пока конфиг сгенерится)

3) нормальные логи в БД. не через костыль в виде скриптовой прослойки.

4) вообще - вместо скрипта на несколько десятков кб тянуть несколько метров говнокода (вы, к слову, в кишки isc dhcpd не смотрели? зря...) - вообще бредово

5) при любой ошибке в конфиге (к примеру, оператор протупил и неправильно заполнил опцию 82 или вообще не заполнил поля, поставив галку) - ваш дхцп сервер упадет, а вы об этом даже не узнаете пока не пойдет шквал звонков...

 

все есть готовое.

таблица dhcphosts_leases, веб интерфейс. бери только пиши логику в модуле абилса. так это будет получше кривописанной перловки с падающим сокетом.

ну да, ну да, подумаешь - всего лишь написать логику работы дхцп сервера :D а так - да, все готовое :D ну и подтянуть к модулю абиллса еще горстку модулей...

и да к слову, что-то у меня ни сокеты не падали, ни мускул не отваливался (кстати, в отличие от rlm_perl - там мускул порой отсыхает, пришлось патчевать биллинг для постоянного передергивания соединения с бд при каждой аутентификации), ни прочих приключений не было. аптайм более месяца, все стабильно, 300-500 запросов в секунду выдерживал и не кашлял...

а вы можете и дальше на коленке глюкало в виде фрирадиуса лепить...

Share this post


Link to post
Share on other sites

в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд.

О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ???

при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку.

спасибо, завтра попробую

P.S. А на форуме разработчика та же тема и не одного ответа :ph34r:

Share this post


Link to post
Share on other sites

в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд.

О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ???

при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку.

спасибо, завтра попробую

P.S. А на форуме разработчика та же тема и не одного ответа :ph34r:

Пора уже на этом форуме открывать ветку по Абиллс :)

Share this post


Link to post
Share on other sites

в IP RANGE ставим с и до какого ип выдаются адреса, если ставим галочку на запрет неизвестных клиентов адреса будут выдаваться только тем кто есть в базе, если не ставим тогда всем подряд.

О, это уже ближе к моей теме). Что я не так делаю, из проделанного в первом посте ???

при активации абонента; сеть -вместо автовыбора ставим подсеть которую создали ранее 10.128.12.0, ип -автовыбор, сетевой адрес =мак, активация ипн -ставим галочку.

спасибо, завтра попробую

P.S. А на форуме разработчика та же тема и не одного ответа :ph34r:

Пора уже на этом форуме открывать ветку по Абиллс :)

точно), надо Фостеру отписаться

Share this post


Link to post
Share on other sites

ну и как вы делаете проверку баланса, галки отключено, даты активации и т.д.? как выдавать другие ip отключенным?

какое участие вообще принимает биллинг в работе dhcp сервера?

мне не нужно было делать проверку баланса и выдачу ип из левого пула - я и не делал. банальная статика, с опцией 82 (которая, впрочем, у нас пока еще не используется). вам надо - допилите, делов-то на 5 минут, элементарно же...

а биллинг - как раз таки непосредственное участие принимает. собссно он наполняет базу.

 

так наполнить базу можно с phpMyAdmin, нахрена париться с биллингом??

я понял, вы не понимаете разницу между биллингом, предназначенным для учета и СУБД. для вас это видимо одно и тоже :)

вы не делали проверку баланса, по тому что в вашей схеме она не возможна в принципе.

иначе придется перенести всю логику биллинга ваш перловый скрипт.

 

ну да, ну да, подумаешь - всего лишь написать логику работы дхцп сервера :D а так - да, все готовое :D ну и подтянуть к модулю абиллса еще горстку модулей...

 

вся логика описана в RFC 2131

занимает пару абзацев.

при запросе Discover сделать селект по базе, выбрать свободный IP.

отдать клиенту, получить подтверждение, занести в базу лиз.

два SQL запроса, если это для вас сложно, то я не доктор.

 

и да к слову, что-то у меня ни сокеты не падали, ни мускул не отваливался (кстати, в отличие от rlm_perl - там мускул порой отсыхает, пришлось патчевать биллинг для постоянного передергивания соединения с бд при каждой аутентификации), ни прочих приключений не было. аптайм более месяца, все стабильно, 300-500 запросов в секунду выдерживал и не кашлял...

а вы можете и дальше на коленке глюкало в виде фрирадиуса лепить...

аптайм месяц??? вы смеетесь? у меня радиус не перезапускался уже год.

работал в связке с микротиковским dhcp. сейчас переводим на freeradius dhcp.

"глюкало" фрирадиус работает в тысячах инсталляций типа pppoe и vpn

эта схема проверена годами, а вы можете дальше строить дартаньяна.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×