DHCP-сервер с базой данных [закрыт]

8

Я искал что-то, чтобы заменить мой (древний) сервер ISC-DHCPd.

DHCP-сервер с базой данных базы данных звучит для меня как отличная идея, так как у меня мог бы быть хороший, дружественный веб-интерфейс к моему серверу. Удивительно, но я не могу никаких крупных проектов с открытым исходным кодом, которые предлагают это.

Кто-нибудь знает об этом? Я также читал об изменении ISC для использования базы данных ... Кто-нибудь может сказать мне, достаточно ли стабильно это решение для занятого производственного сервера? Или использование базы данных - это плохая идея?

PS - /programming/893887/dchp-with-database-backend похоже, что SO не смог ответить на этот старый, похожий вопрос.

РЕДАКТИРОВАТЬ: Я ищу что-то на бесплатной платформе ОС, Linux или BSD. Если есть что-то совершенно отличное, то только для Windows, все еще интересно.

Кори Дж
источник
Какая операционная система? Я предполагаю, что это Linux, но нам никогда не придется угадывать.
Джон Гарденье
Я вижу, что мне нужен DHCP-сервер, поддерживаемый базой данных. Это значительно облегчило бы высокую доступность и распределение нагрузки между несколькими DHCP-серверами. В среде с большим количеством клиентов это было бы довольно мило. Еще одна вещь, которую нужно добавить к куче «вещей, над которыми я бы работал, если бы у меня было время» ...> вздох <
Эван Андерсон
@Evan, даже без базы данных вы уже можете обеспечить высокую доступность, запустив несколько серверов DHCP
topdog
@topdog: Если они не делятся информацией об аренде, я не считаю их "высокой доступностью". Например, старый трюк с «высокой доступностью» с использованием Windows DHCP для запуска «перекрывающихся» DHCP-серверов не является «высокой доступностью», потому что клиенты могут получать ложные NAK, когда они «переключаются» на DHCP-сервер, который ничего не знает об их предварительной аренде.
Эван Андерсон
Просто любопытно, вы когда-нибудь находили программное обеспечение для этого? Я в такой же ситуации, как и ты.
devicenull

Ответы:

4

ISC DHCP 4.x позволяет службе DHCP поддерживаться базой данных LDAP (локальной или удаленной).

Пакет как для Fedora 12+, так и для Ubuntu (версия неизвестна) включает файл схемы LDAP.

Вы запускаете сервер DHCP и указываете его на базу данных LDAP (через короткий файл конфигурации). Если вы выбираете динамическую БД, каждый запрос DHCP становится запросом / ответом LDAP.

С LDAP вы можете обновить содержимое DHCP на любом языке с библиотекой LDAP из любого места, маршрутизируемого на ваш сервер LDAP. Ваша БД LDAP может обслуживать неограниченное количество серверов DHCP.

Я использовал это, чтобы позволить инженерам добавлять и удалять тестовые блоки в сети, не требуя от них входа на сервер DHCP, редактирования файла или использования привилегированных прав доступа root.

markllama
источник
Это выглядит многообещающе ...
Эван Андерсон
Последнее, что я читал об этом, включение LDAP - это функциональность «v1», поскольку она была недавно введена в продукт и, возможно, все еще не очень стабильна. @markllama, вы обнаружили, что некоторые части конфигурации dhcpd вступают в силу только после перезапуска службы? Я читал отчеты о том, что некоторые элементы конфигурации доступны в режиме реального времени, а некоторые загружаются только при запуске - что имеет смысл для меня, учитывая, что dhcpd традиционно только читает файлы config / host при запуске службы.
aNullValue
@ Stemen: Да - похоже, это еще не принятый патч в апстрим. Это менее полезно для меня, потому что я действительно предпочел бы не запускать производственные системы в исправленных дистрибутивах программ.
Эван Андерсон
@ Эван Андерсон: То же самое здесь. Вы также должны принять во внимание надежность системы при использовании сервера LDAP для нескольких серверов DHCP ... он просто не сможет удовлетворить многие требования по времени безотказной работы, хотя он будет работать для тех, кто способен принять, что DHCP может не работает в течение некоторого времени, если LDAP и / или связь не работает.
aNullValue
3

У меня была похожая проблема.

В итоге я написал несколько строк кода Python для генерации файлов конфигурации DHCP из базы данных. Используя diff, я регулярно проверяю, есть ли в сгенерированном мной файле изменения старой конфигурации, и в этом случае я перезагружаю DHCP-сервер.

У меня довольно хорошо работает несколько центров обработки данных, десятки сетей и сотни IP-адресов.

Также позволяет вам иметь «веб-интерфейс» и держать его с открытым исходным кодом.

Theuni
источник
3

Ребята из ISC (авторы BIND и ISC DHCP-сервер) работают над KEA , новой реализацией DHCP-сервера, которая, помимо других приятных функций, имеет поддержку SQL. Исходный код поддерживал SQLite и MySQL в течение многих лет, и недавно была добавлена ​​поддержка PostgreSQL .

Пока еще нет правильного релиза, и очень мало активности в их списках рассылки dev / users . Надеемся, что это изменится по мере развития кода, выпускаются выпуски, дистрибутивы начнут его упаковывать, и это приобретет популярность среди пользователей.

svenx
источник
На самом деле, только частичная поддержка PostgreSQL существует на сегодняшний день - в версии 1.0.0 - она ​​пока не поддерживает информацию о хостах, хранящуюся в Postgres (они утверждают, что она скоро появится) - только в MySQL.
Давидго
3

Я сам исследовал это, что и привело к этой теме. Я обнаружил:

  • Anemon DHCP, который кажется мертвым / пропавшим (таким образом, ссылка на archive.org). «Модули дают anemon возможность использовать многие базы данных в качестве бэкэнда (mysql, postgresql, mssql, sqllite, sybase и т. д.)»
  • KEA от ISC "MySQL, поддержка Postgres."
  • staticDHCPd "Базы данных: Postgres, MySQL, Oracle, SQLite"
arantius
источник
2

Какие преимущества вы ищете? Как часто вы вносите изменения в свою конфигурацию DHCP? Помимо добавления, удаления или изменения случайного резервирования DHCP должен быть установленным и забытым системой. Если вам нужно регулярно что-то делать, вам нужно пересмотреть свои методологии.

Джон Гарденье
источник
2
Точно. Добавление, удаление, изменение бронирования. Это боль, когда мне приходится все время разделять / объединять диапазоны. Кроме того, вместо того, чтобы анализировать большой уродливый файл аренды со скриптом, было бы неплохо поместить текущие аренды и историю аренды в базу данных.
Кори Дж
Возможно я должен был упомянуть в оригинальном сообщении, что я - провайдер. DHCP определенно не «установил и забыл».
Кори Джей
2
@ Кори, это немного меняет дело.
Джон Гарденье
2

BlueCat.com имеет действительно классные устройства, которые управляют IP-адресами (DNS / DHCP), которые точно отвечают всем требованиям, за исключением того, что они не открыты / бесплатны.

Bluecat позволяет вам делегировать роли, например, вы можете дать своим клиентам возможность редактировать привилегии в обратной зоне только для своих / 26 или чего-то подобного, и все это обрабатывается с помощью баз данных высокой доступности для DNS и DHCP.

Если кто-нибудь знает что-то подобное в мире открытого исходного кода, я хотел бы услышать об этом ... Я хотел бы, чтобы Microsoft интегрировала DHCP в Active Directory, как они сделали с DNS. Это было бы идеально для меня (я знаю - не с открытым исходным кодом, но если он включен с сервером, он будет работать для меня!)

Стив
источник
0

Если вы Интернет-провайдер, рассмотрите возможность использования VitalQIP. Это коммерческий продукт, но я не могу представить себе жизнь без него.

plluksie
источник