Наш маршрутизатор - CentOS, но мы просто используем iptables для изменения правил брандмауэра ядра Linux. Существует скрипт, который находится под контролем версий, который сбрасывает все цепочки / правила, но при этом удаляет все существующие соединения и, как правило, вызывает хаос, если работает в рабочее время. Это означает, что обычный метод изменения правил брандмауэра использует iptables «на лету». Это может привести к тому, что изменения в брандмауэре не вернутся к управлению версиями.

То, что я пытаюсь выяснить, - это как проверить, не было ли каких-либо изменений в брандмауэре после определенной версии скрипта в Subversion.

Вывод из iptables --list весьма отличается от строки в скрипте, которая обычно выглядит примерно так: iptables -A chain -j ACCEPT -s 192.168.1.100 .

Есть ли более простой / лучший способ держать правила брандмауэра ядра Linux под контролем версий?

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

1 ответ1

0

Как только я спросил это, я понял, что есть iptables-save и iptables-restore . Однако на данный момент я не уверен, как это будет работать. Я отправлю его в качестве ответа , но я думаю , что реальное решение будет немного сложнее.

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

Другое ограничение этого метода, которое я заметил, заключалось в том, что нет способа сохранить встроенные цепочки по отдельности (например, INPUT, OUTPUT и FORWARD). Единственный способ получить это - не использовать ключ -t и выгрузить все.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .