Jump to content
Калькуляторы

DHCP MYSQL

Несколько лет назад поднималась тема, как заставить получать ip option82 из базы.

Решение, которое тогда все советовали - периодически обновлять конфиг isc-dhcpd и перезагружать его. Что не удобно, при большом количестве привязок(более 10000) вырастает время перезагрузки экспоненциально, в случае ошибочных данных хотя бы по 1 строчке в базе(например в мак адресе написали русскую букву «с») вообще не запустится dhcpd.

 

Проскакивали советы прикрутить LDAP к dhcp. Но они глупы, поскольку структура в ldap полностью повторяет конфиг, а логика работы isc-dhcpd не предполагает обновление информации без перезапуска(его так же надо перезагружать, плюс просто добавляется промежуточная конвертация).

 

freeradius также заявил об экспериментальной поддержке dhcpd, но не удобен.

 

Прошу совета Что можно использовать для этой задачи?

 

 

Share this post


Link to post
Share on other sites

В ближайшее время (неделю-две) выложу своё решение данного вопроса в виде патча к dhcpd и набора скриптов создающих нужную БД. Патч получает информацию через FreeRADIUS и следовательно имеет возможность работы с любой СУБД поддерживаемой FreeRADIUS.

Share this post


Link to post
Share on other sites
Несколько лет назад поднималась тема, как заставить получать ip option82 из базы.

Решение, которое тогда все советовали - периодически обновлять конфиг isc-dhcpd и перезагружать его. Что не удобно, при большом количестве привязок(более 10000) вырастает время перезагрузки экспоненциально, в случае ошибочных данных хотя бы по 1 строчке в базе(например в мак адресе написали русскую букву «с») вообще не запустится dhcpd.

 

Проскакивали советы прикрутить LDAP к dhcp. Но они глупы, поскольку структура в ldap полностью повторяет конфиг, а логика работы isc-dhcpd не предполагает обновление информации без перезапуска(его так же надо перезагружать, плюс просто добавляется промежуточная конвертация).

 

freeradius также заявил об экспериментальной поддержке dhcpd, но не удобен.

 

Прошу совета Что можно использовать для этой задачи?

Что-то я когда пробовал isc-dhcpd + ldap, сервак вполне спокойно относился к изменению данных на лету... У вас неправильный isc-dhcpd?

Share this post


Link to post
Share on other sites
Проскакивали советы прикрутить LDAP к dhcp. Но они глупы, поскольку структура в ldap полностью повторяет конфиг, а логика работы isc-dhcpd не предполагает обновление информации без перезапуска(его так же надо перезагружать, плюс просто добавляется промежуточная конвертация).
http://dcantrel.fedorapeople.org/dhcp/ldap-patch/ если в кофиге указать ldap-method dynamic; каждый раз делает запрос в ldap

 

 

Share this post


Link to post
Share on other sites

Запросы то делаются, только не те что надо.

Запросы идут такого вида

(&(objectClass=dhcpHost)(dhcpHWAddress=ethernet 00:aa:aa:ff:bb:cc))

 

А вот те части которые делают привязку к IP по Option 82, к примеру такой кусок в "статическом" конфиге

class "VLAN2000" { match if binary-to-ascii (10,16,"",substring(option agent.circuit-id, 2, 2))="2000"; }
pool { range 1.2.3.4; allow members of "VLAN2000"; }

из лдапа оно видит только при старте.

Edited by skor78

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
Sign in to follow this