Недавно мы начали экспериментировать с IPv6, и одной из первых проблем, с которыми нам приходится сталкиваться, является работа с совершенно отдельным набором правил брандмауэра (Linux iptables / ip6ables) для двух стеков протоколов. Наша логика брандмауэра основана в основном на ряде специализированных сетей (например, 10.0.0.0/24 - это сеть рабочих станций персонала, 10.1.0.0/24 - это сеть базы данных, 10.2.0.0/24 - это сеть веб-сервера и т. Д. ), и логика для IPv6 и IPv4 будет в значительной степени одинаковой, по модулю разных сетевых префиксов.
Что люди делают, справляются с такой ситуацией? В идеале я хотел бы иметь возможность создавать наборы правил iptables и ip6table из одного и того же исходного файла (файлов). Я уже собрал что-то, используя bash, но это не обязательно красиво, и я подозреваю, что где-то там должно существовать лучшее решение.
Я был бы особенно заинтересован в решении на основе Puppet, которое хорошо использует собственные механизмы зависимости Puppet для реализации относительного упорядочения правил (или групп правил).
before => Resource['declared_name']
любое определение, поэтому вы можете заказать их, используя реализацию, которая не пытается упорядочить вещи с фрагментами. Хорошее использование Augueas для структуры также предотвратит эту проблему - оставьте ваши комментарии в верхнем дереве и порядок ниже, как вам хочется.Отвечая на мой вопрос здесь, но я подумал, что эта информация может представлять общий интерес:
Размышляя над этим вопросом, я наткнулся на UFW ( Uncomplicated FireWall) от ребят из Ubuntu. Если в конфигурации ufw включен IPV6, ufw будет параллельно управлять правилами iptables и ip6tables. Это означает, что вы можете сделать что-то вроде этого:
И в итоге:
Что приводит к правилам iptables / ip6tables, которые выглядят так:
Ufw также поддерживает профили приложений, которые позволяют создавать именованные группы портов. Ты можешь это сделать:
И в итоге откроем оба порта 80 и 443 (как для IPv4, так и для IPv6).
Я только начал смотреть на это, но это, кажется, довольно хорошо собрано.
источник
Поскольку он по-прежнему отсутствует в списке: Shorewall - это широко распространенный и регулярно обновляемый инструмент настройки фильтра пакетов с широкими возможностями. Он имел поддержку IPv6 в настоящее время на некоторое время.
источник