LINUX.ORG.RU
решено ФорумAdmin

Централизованное хранение правил iptables+ipset для нескольких серверов

 , ,


0

1

Доброе время суток!
Есть несколько серверов(3 шт), необходимо разрешить доступ к ним только с определенных IP (около 1000 шт) Причем IP изменяются динамически. Для фильтрации пользователей применяю iptables + ipset. На главном сервере IP хранятся в MySQL.

Собственно сабж: необходимо организовать централизованное хранение\изменение\добавление\удаление правил для всех серверов. Сервера высоконагрузочные, поэтому надо решить задачу с использованием как можно меньшего количества ресурсов, желательно обойтись без «тяжелого» софта.

Смотрел в сторону бд redis она поддерживает репликацию данных с мастер сервера. А далее при помощи демона на питоне(запущен на каждом сервере) вношу изменения из бд redis в ipset. Т.е. получается вот такая цепочка:

MySQL -> redis master -> redis slave -> python -> ipset.

Вопрос Вам, господа, возможно есть другое/более простое/готовое решение моей задачи?

а чем репликация mysql не устраивает?

outsider ★★
()

ммм, rsync?

Вообще, есть всякие тулзы типа puppet, но... Я сделал тупой скрипт и засунул его в крон.

true_admin ★★★★★
()

MySQL -> redis master -> redis slave -> python -> ipset.

почему не постгрес? :).

true_admin ★★★★★
()
Ответ на: комментарий от pyatak123

Не хочется ставить достаточно громоздкий mysql на нагруженные сервера. IP в mysql на мастер сервере записываются из веб интерфейса. Т.е. достаточно просто организовать синхронизацию того же redis с mysql на мастер сервере.

klausant
() автор топика
Ответ на: комментарий от true_admin

Решающее значение имеет время внесения изменений в iptables на slave серверах - не более 20 секунд. А крона в худшем случае прийдется ждать 60 сек.

klausant
() автор топика
Ответ на: комментарий от klausant

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

true_admin ★★★★★
()
Ответ на: комментарий от klausant

кстати, если что, у ssh есть persistent-соединения. Это чтобы минимизировать время установки соединения. Тогда можно быстро делать scp обновлённого файла со спиской ip и дёргать скрипт обновления ipset.

true_admin ★★★★★
()

Куча вариантов, начиная с puppet.

Lumi ★★★★★
()

У вас проблемы. В постановке задачи, выборе средств её реализации, а также в ДНК проектировщика и архитектора «решения». Честно.

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.