iptables, стандартный брандмауэр Linux, не сохраняет правила между перезагрузками. Вы должны позаботиться об этом сами. Есть много способов сделать это. Какой канонический способ сделать это? Каковы лучшие практики?
Я отвечу своим собственным решением, но меня интересуют другие / лучшие решения.
Ответы:
Вот несколько примеров правил. Сохраните их в /etc/iptables.rules
добавьте эту строку в конец / etc / network / interfaces
источник
Мы используем множество правил iptables , поэтому для упрощения администрирования мы делаем следующее:
Я не знаю, является ли это лучшим способом сделать это, но это хорошо сработало для нас.
источник
Хотя это правда, это зависит от среды и платформы, в зависимости от платформы я видел два хороших подхода:
RHEL / CentOS: хранить все правила в одном файле / etc / sysconfig / iptables, который считывается сценарием запуска iptables.
Debian / Ubuntu: храните все правила в отдельных служебных файлах в каталоге /etc/iptables.d/. Например, /etc/iptables.d/port_http, /etc/iptables.d/port_dns, где port_service сопоставляется с именем службы в / etc / services.
В любом случае, файл или файлы управляются инструментом конфигурации, таким как Chef или Puppet, и считываются сценарием запуска «master» для iptables, который запускается во время загрузки.
источник
В дополнение к
iptables-save
(иiptables-restore
), сложные схемы брандмауэра лучше обрабатываются специальными программами. Например, мы использовалиshorewall
(«iptables made easy») для настройки iptables.Также доступны более простые инструменты, такие как firestarter и kmyfirewall .
источник
Это зависит от используемого вами дистрибутива. В некоторых дистрибутивах, особенно в дистрибутивах Red Hat, правила iptables сохраняются автоматически, но в них есть специальный каталог. Я наиболее знаком с RHEL, и правила iptables можно найти в / etc / sysconfig / iptables. Познакомиться с синтаксисом правил iptables поначалу может быть непросто, но довольно просто, когда вы освоите его.
На сайте netfilter есть много документации по iptables, включая некоторые введения. Если вы готовы немного почитать, вы можете найти много полезной информации здесь: http://www.netfilter.org/documentation/
источник
Этот вопрос очень близок к дупле 4934 и относится к 397 .
Я использую Firehol в сочетании с веб-интерфейсом, который я разработал для управления файлом конфигурации.
Мне действительно нравится firehol, он обеспечивает более простой синтаксис, чем прямое использование iptables.
источник
Конечно, мы используем собственный init-скрипт. Я могу использовать циклы for для перебора списка портов, анализа других конфигурационных файлов, таких как vpn-users и т. Д. Отлично!
И iptables-restore, безусловно, самый «канонический» способ его сохранения.
Что я хочу добавить:
Обратите внимание, что текущая версия iptables будет при каждом вызове просить ядро вернуть полный список цепочек. Затем он внесет одно изменение, которое вы просите сделать. Затем он снова загрузит список.
Это медленно (O (n ^ 2)), нам нужно 5 секунд, что слишком долго ;-)
Если вы используете iptables-restore, все это происходит за одну быструю операцию.
источник