Записки IT специалиста
Основы iptables для начинающих. Как сохранить правила и восстановить их при загрузке
- Автор: Уваров А.С.
- 05.12.2021
Для тех, кто только начинает изучать iptables неприятной неожиданностью оказывается тот факт, что правила брандмауэра не сохраняются и не восстанавливаются при перезагрузке системы. Фактически это означает полностью открытый брандмауэр и такое положение дел нас, естественно, не устраивает. К счастью, в Linux существует несколько способов сохранения единожды введенных правил iptables, поэтому следует изучить их и выбрать наиболее подходящий для вашей конфигурации. А о всех плюсах и минусах мы расскажем в данной статье.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
В свое время один из основателей UNIХ Деннис Ритчи сказал: «UNIX прост. Но надо быть гением, чтобы понять его простоту.» Все это в полной мере можно применить и к преемнику UNIX-систем — Linux и иногда эта простота ставит в тупик. Хорошим примером здесь является iptables — простой и мощный брандмауэр, уже не первый год, стоящий на страже сетевых рубежей системы. И когда выясняется, что он не умеет сохранять и восстанавливать правила, то многие испытывают весьма противоречивые ощущения.
Вопреки распространенному заблуждению iptables не является брандмауэром, а предоставляет удобный интерфейс к netfilter, который является настоящим брандмауэром Linux-систем, его задача — интерпретировать команды пользователя на более низкие уровни и вывести информацию оттуда в удобном для восприятия варианте. Единственный способ взаимодействия с iptables — это интерфейс командной строки — CLI. Мы можем создавать, изменять, удалять правила, а также получать информацию о состоянии брандмауэра, но в любом случае все взаимодействие строится по форме запрос — ответ. Реальную работу выполняет спрятанный далеко внутри системы netfilter, а iptables только лишь позволяет удобно общаться с ним.
Понимание этого во многом проливает свет на сложившуюся ситуацию, iptables — всего лишь интерфейс и своих настроек у него быть не может, но именно он позволяет передать правила сетевого взаимодействия в netfilter и получать от него удобочитаемые ответы и именно этим его свойством мы и воспользуемся.
Существует несколько способов сохранить введенные нами в iptables правила, а затем и восстановить их при загрузке системы. Разберем их подробнее.
Скрипты
Самый старый, но не потерявший эффективности способ. Если единственная возможность взаимодействия с iptables — это интерфейс командной строки, то скрипт — самый первый способ автоматизации, если мы не хотим постоянно повторять одни и те же действия вручную.
Скрипт для настройки iptables мы можем расположить где угодно, но лучше следовать стандартным расположениям Linux и разместить его в /etc. Создадим для этого отдельную директорию iptables, создадим в ней файл скрипта и сделаем его исполняемым:
mkdir /etc/iptables
touch /etc/iptables/iptables.rules
chmod +x /etc/iptables/iptables.rules
Теперь можем открыть его любым доступным редактором и внести минимальную конфигурацию брандмауэра, разрешающую только подключения по SSH:
#!/bin/sh
# Сбрасываем настройки брандмауэра
iptables -F
iptables -X# Разрешаем установленные и связанные соединения
iptables -A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT# Запрещаем не принадлежащие ни одному соединению пакеты
iptables -A INPUT -i ens33 -m conntrack --ctstate INVALID -j DROP# Разрешаем подключения по SSH
iptables -A INPUT -i ens33 -p tcp --dport 22 -j ACCEPT#Запрещаем входящие извне
iptables -A INPUT -i ens33 -j DROP
Здесь следует обратить ваше внимание на самую первую секцию — сброс настроек, в приведенном примере сброшены будут только настройки таблицы filter и если вы используете другие таблицы, то их также нужно будет сбросить, так для nat добавьте:
iptables -t nat -F
iptables -t nat -X
А для mangle:
iptables -t mangle -F
iptables -t mangle -X
Для чего это делается? Смысл в том, что данный скрипт может быть запущен как вручную, так и при перезапуске сетевых служб, а команда iptables -A просто добавляет правило в конец указанной цепочки и если не выполнять предварительной очистки, то итоговые правила могут стать бесконечно далеки от того, что задумал администратор.
Хорошо, но как теперь запускать данный скрипт? Для систем использующих ifupdown перейдем в /etc/network/interfaces и добавим в конце секции с нужным сетевым адаптером или вообще в самом конце файла:
pre-up /etc/iptables/iptables.rules
Данное правило выполнит указанный нами скрипт перед инициализацией сетевого интерфейса.
Все изменения в конфигурацию брандмауэра следует вносить в указанный скрипт, а для их применения достаточно выполнить:
/etc/iptables/iptables.rules
или перезагрузить систему.
Просмотреть текущее состояние брандмауэра можно командой:
iptables -L -vn
Ключ -v выводит дополнительную информацию и счетчики, а -n отвечает за вывод IP-адресов и портов в виде чисел, а не DNS-адресов и имен служб.
![]()
Внимательный читатель заметит, что вывод команды показывает нам только таблицу filter и это действительно так. Как мы помним, filter — таблица по умолчанию и используется если мы явно не задали таблицу, чтобы просмотреть, скажем, таблицу nat, выполните:
iptables -t nat -L -vn
Где ключ -t позволяет указать интересующую таблицу.
iptables-save / iptables-restore
Это штатная утилита, выполняющая ту же самую задачу: сохранить правила iptables в файл и потом загрузить их оттуда. Использование предельно простое, чтобы сохранить правила используйте:
iptables-save > /etc/iptables/rules.v4
Результатом выполнения данной команды будет текстовый файл с набором всех используемых правил.
![]()
Сначала идет имя таблицы, в нашем случае правила заданы только для filter, затем политики по умолчанию для цепочек (везде ACCEPT), за которыми следуют сами правила. Обратите внимание, что синтаксис записей несколько другой, если в скрипте мы писали:
iptables -A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
то в файле просто:
-A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Потому что скрипт сначала вызывал iptables, а потом уже передавал ему команду, в нашем же случае вызывать iptables нет необходимости.
Впоследствии данный файл можно редактировать, добавляя в него дополнительные правила, также можно делать это интерактивно, через командный CLI-интерфейс. С этим будет связан один тонкий момент, и мы вернемся к нему позже.
Для восстановления следует использовать:
iptables-restore < /etc/iptables/rules.v4
Куда прописать эту команду? Можно точно также в /etc/network/interfaces, в конце файла добавляем:
pre-up iptables-restore < /etc/iptables/rules.v4
А теперь зададимся вопросом: чтобы сохранить правила iptables их нужно предварительно ввести. Да, это можно сделать либо вручную, выполнив указанные в скрипте команды, либо выполнив сам скрипт, второе удобнее, особенно если у вас сложная конфигурация брандмауэра. Этот же способ позволяет просто и удобно перейти от скриптов к iptables-restore: загружаем систему, сохраняем правила через iptables-save и заменяем вызов скрипта на iptables-restore.
В некоторых материалах в сети также рекомендуют добавить в /etc/network/interfaces
post-down iptables-save > /etc/iptables/rules.v4
На первый взгляд - вполне грамотное решение, но не рекомендуем этого делать не подумав. Почему? Редко кто управляет брандмауэром интерактивно: добавляя, удаляя или изменяя записи через командную строку, потому что более удобно и наглядно это можно сделать, внося изменения непосредственно в файл. Однако если вы после этого выключите или перезагрузите систему, то все ваши изменения будут перезаписаны текущим состоянием брандмауэра и будут потеряны.
Поэтому лучше ограничиться только iptables-restore, а если вы все-таки внесли изменения интерактивно, то можно сразу после этого вручную выполнить iptables-save.
iptables-persistent
Время не стоит на месте, все течет, все меняется. На смену старому доброму ifupdown приходят новые системы: NetworkManager, netplan, systemd-networkd и прописывать вызов скриптов или iptables-restore в их конфигурацию становится проблематичным занятием, если вообще возможным. Но и разработчики тоже держат руку на пульсе, в Debian и Ubuntu появился новый пакет - iptables-persistent, который позволяет сохранять и автоматически загружать правила брандмауэра, не оглядываясь на используемую систему инициализации сети.
Установить его очень просто:
apt install iptables-persistent
В процессе установки будет предложено сохранить текущие правила iptables, поэтому очень желательно, чтобы они к этому времени существовали. Внести их можно как интерактивно, так и с помощью скрипта.
![]()
Одновременно с этим будут сохранены правила для IPv6 и в итоге в директории /etc/iptables у вас будет два набора правил для четвертой и шестой версии протоколов. Синтаксис файла ничем не отличается от того, что создает iptables-save и точно также его можно редактировать, внося новые правила.
Также в системе появляется новая служба - netfilter-persistent, которая позволяет удобно управлять брандмауэром, так если вы внесли изменения в файл с правилами и хотите их применить, то выполните:
netfilter-persistent reload
Для сохранения текущей конфигурации отдайте команду:
netfilter-persistent save
А если вам надо полностью очистить конфигурацию брандмауэра, то наберите:
netfilter-persistent flush
Это удобно если вам нужно проверить, не является ли брандмауэр причиной каких-либо проблем, быстро сбрасываем конфигурацию, проверяем и загружаем ее заново.
Заключение
Какой из трех предложенных вариантов является наиболее предпочтительным? Если мы говорим о современных системах, то это iptables-persistent, который позволяет полностью автоматизировать процесс и вообще более не беспокоиться о правилах брандмауэра. Но это решение доступно только пользователям Debian или Ubuntu.
Также не стоит списывать со счетов скрипты или iptables-save / iptables-restore, эти методы продолжают работать и делают это просто и надежно. В любом случае помните, что Linux предоставляет множество путей решений одной и той же задачи и выбирайте решение исходя из собственной ситуации, требований и имеющихся знаний, и опыта.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
- Основы iptables для начинающих. Часть 1. Общие вопросы
- Основы iptables для начинающих. Часть 2. Таблица filter
- Основы iptables для начинающих. Часть 3. Таблица nat
- Основы iptables для начинающих. Часть 4. Таблица nat - типовые сценарии использования
- Основы iptables для начинающих. Как сохранить правила и восстановить их при загрузке
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
![]()
![]()
Или подпишись на наш Телеграм-канал:
Как навсегда сохранить правила брандмауэра iptables на Linux

Мануал
Автор cryptoparty На чтение 5 мин Опубликовано 26.08.2020
Я использую сервер Debian / Ubuntu Linux.
Как сохранить правила iptables на постоянной основе в Linux с помощью интерфейса командной строки?
Как сохранить правила IPv4 и IPv6 iptables на облачном сервере Debian Linux?
Постоянное сохранение правил брандмауэра iptables на Linux
Вам нужно использовать следующие команды, чтобы навсегда сохранить правила брандмауэра iptables:
- Команда iptables-save или ip6tables-save – сохраняет или выгружает содержимое таблиц IPv4 или IPv6 в легко анализируемом формате на экран или в указанный файл.
- Команда iptables-restore или команда ip6tables-restore – Восстановление правил и таблиц брандмауэра IPv4 или IPv6 из заданного файла на Linux.
Шаг 1 – Откройте терминал
Откройте приложение терминала и введите следующие команды.
Для входа на удаленный сервер с помощью команды ssh:
Вы должны ввести следующую команду от пользователя root, используя команду sudo или su.
Шаг 2. Сохраните правила брандмауэра Linux для IPv4 и IPv6.
Debian и Ubuntu Linux:
$ sudo /sbin/iptables-save > /etc/iptables/rules.v4
## IPv6 ##
$ sudo /sbin/ip6tables-save > /etc/iptables/rules.v6
$ sudo /sbin/iptables-save > /etc/sysconfig/iptables
## IPv6 ##
$ sudo /sbin/ip6tables-save > /etc/sysconfig/ip6tables
Отображение сохраненных правил на Linux
Мы можем отобразить сохраненный файл с помощью команды cat или выполнить поиск с помощью команды grep/egrep:
*mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/24 -m policy --pol none --dir out -j MASQUERADE COMMIT *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p esp -j ACCEPT -A INPUT -p ah -j ACCEPT -A INPUT -p icmp --icmp-type echo-request -m hashlimit --hashlimit-upto 5/s --hashlimit-mode srcip --hashlimit-srcmask 32 --hashlimit-name icmp-echo-drop -j ACCEPT -A INPUT -p udp -m multiport --dports 21194 -j ACCEPT -A INPUT -p tcp -s 1xx.yy.zz.ttt,10.8.0.0/24,10.8.1.0/24 --dport 22 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -p tcp --dport 3128 -d 10.8.0.1 -s 10.8.0.0/24,10.8.1.0/24 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -d 172.xx.yyy.zzz -p udp --dport 53 -j ACCEPT -A INPUT -d 172.xx.yyy.z -p udp --dport 53 -j ACCEPT -A INPUT -i eth0 -m limit --limit 5/min -j LOG --log-prefix "[iptables denied] " --log-level 7 -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j DROP -A OUTPUT -d 10.8.0.0/24 -m owner --gid-owner 15000 -j DROP -A FORWARD -s 10.8.0.0/24 -d 169.254.0.0/16 -j DROP -A OUTPUT -d 169.254.0.0/16 -m owner --gid-owner 15000 -j DROP -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -p tcp --dport 445 -j DROP -A FORWARD -p udp -m multiport --ports 137,138 -j DROP -A FORWARD -p tcp -m multiport --ports 137,139 -j DROP -A FORWARD -m conntrack --ctstate NEW -s 10.8.0.0/24 -m policy --pol none --dir in -j ACCEPT -A FORWARD -m limit --limit 5/min -j LOG --log-prefix "[iptables forward denied] " --log-level 7 COMMIT
Шаг 3. Восстановление правил брандмауэра Linux для IPv4 и IPv6.
Мы просто поменяем приведенные выше команды в обратном порядке для каждой операционной системы:
Шаг 4 – Установка пакета iptables-persistent для Debian или Ubuntu Linux
Обратите внимание, что следующая команда будет конфликтовать с интерфейсами iptables, такими как команда ufw или firewall-cmd. Избегайте использования следующих пакетов, если вы используете эти инструменты.
Нам нужно установить iptables-persistent.
Он будет действовать как загрузчик для правил Netfilter, плагина iptables netfilter-persistent, который является загрузчиком для конфигурации Netfilter с использованием архитектуры на основе плагинов.
Другими словами, автоматическая загрузка сохраненных правил iptables из вышеуказанных файлов.
Введите следующую команду apt или команду apt-get:
$ sudo apt install iptables-persistent
## или ##
$ sudo apt-get install iptables-persistent
Убедитесь, что службы включены на Debian или Ubuntu, используя команду systemctl:
$ sudo systemctl is-enabled netfilter-persistent.service
Если нет, то включите:
$ sudo systemctl enable netfilter-persistent.service
Проверим статус:
$ sudo systemctl status netfilter-persistent.service
● netfilter-persistent.service - netfilter persistent configuration Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/netfilter-persistent.service.d └─iptables.conf Active: active (exited) since Thu 2020-08-20 19:24:22 UTC; 3 days ago Docs: man:netfilter-persistent(8) Main PID: 577 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 4620) Memory: 0B CGroup: /system.slice/netfilter-persistent.service Aug 20 19:24:21 nixcraft-vpn-1 systemd[1]: Starting netfilter persistent configuration. Aug 20 19:24:21 nixcraft-vpn-1 netfilter-persistent[583]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start Aug 20 19:24:21 nixcraft-vpn-1 netfilter-persistent[583]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start Aug 20 19:24:22 nixcraft-vpn-1 systemd[1]: Finished netfilter persistent configuration.
Шаг 5 – Установите пакет iptables-services для RHEL / CentOS
По умолчанию RHEL / CentOS 7 или 8 поставляется с firewalld.
Если вам нужен старый добрый файловый брандмауэр, введите следующие команды:
# Отключение firewalld #
$ sudo systemctl stop firewalld.service
$ sudo systemctl disable firewalld.service
$ sudo systemctl mask firewalld.service
#Установка пакета##
$ sudo yum install iptables-services
$ sudo systemctl enable iptables
$ sudo systemctl enable ip6tables
$ sudo systemctl status iptables
● iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled) Active: active (exited) since Mon 2020-08-24 09:29:59 EDT; 3s ago Process: 8259 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS) Main PID: 8259 (code=exited, status=0/SUCCESS) Aug 24 09:29:59 centos-8-cloud.sweet.home systemd[1]: Starting IPv4 firewall with iptables. Aug 24 09:29:59 centos-8-cloud.sweet.home iptables.init[8259]: iptables: Applying firewall rules: [ OK ] Aug 24 09:29:59 centos-8-cloud.sweet.home systemd[1]: Started IPv4 firewall with iptables.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий Отменить ответ

Поддержать нас
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (110)
- Книги (27)
- Мануал (2 359)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (831)
- Обход запретов (34)
- Опросы (3)
- Скрипты (116)
- Статьи (360)
- Философия (125)
- Юмор (18)
Наш Telegram

Социальные сети
Поделиться
Anything in here will be replaced on browsers that support the canvas element
- Начни Стримить на Twitch: Первые Шаги в Мире Онлайн-Трансляций 30.10.2023
Введение в мир Twitch и стриминга. Добро пожаловать в увлекательный мир Twitch и стриминга! Если вы задумываетесь о том, чтобы начать свою собственную стриминговую карьеру на самой популярной платформе для игровых трансляций, то вам пригодится некоторая подготовка и настройка. Twitch ⎯ это онлайн-платформа, которая позволяет вам транслировать свою игру или другое содержимое в прямом эфире. […]
Цифровые сертификаты могут использоваться для различных целей. Они могут использоваться для защиты соединений с веб-сайтами, для шифрования сообщений электронной почты или для проверки личности пользователя. Выбор правильного формата сертификата необходим для обеспечения безопасности и сохранности данных. Когда речь идет о различных форматах сертификатов, важно выбрать тот, который соответствует вашим потребностям Выберите формат сертификата, совместимый с […]
Преобразование файла PFX (PKCS #12) в формат PEM (Privacy Enhanced Mail) достаточно просто на Linux и Unix-подобных системах. В этой статье мы рассмотрим, как преобразовать файл сертификата в формате PFX в файл PEM с помощью OpenSSL из командной строки. Что такое файл PFX? PFX (также PKCS#12) – это формат файла, содержащего сертификат(ы) и закрытый(ые) ключ(ы), […]
Одним из основных нововведений, появившихся в Podman, стала возможность запуска контейнеров без прав root. С точки зрения безопасности это было существенным улучшением, поскольку потенциально скомпрометированный контейнер, запущенный от имени root, представляет собой угрозу безопасности для хост-системы. Чтобы добиться аналогичного поведения, последние версии Docker поддерживают запуск демона docker в пользовательском контексте. Почему процессы в контейнерах […]
Small Form Factor Pluggable (SFP) – это компактный приёмопередатчик, который устанавливается в SFP порт коммутатора Ethernet. Модуль используется для присоединения платы сетевого устройства к оптическому волокну или витой паре. Модули SFP заменили устаревшие модули GBIC благодаря своим миниатюрным размерам. Это преимущество в размерах позволяет им эффективно работать в ограниченных сетевых средах, обеспечивая быстрый обмен данными […]
Как сохранить правила iptables после перезагрузки Ubuntu?
После перезагрузки Ubuntu 12.10 правила iptables «слетают». Знаю, что можно победить прописыванием правил в rc.local. Как альтернативу посоветовали юзать ferm. Что думает на эту тему опытный хабровчанин? Какой вариант предпочтительнее и где могут быть «подводные камни»?
- Вопрос задан более трёх лет назад
- 178712 просмотров
1 комментарий
Оценить 1 комментарий
Честно говоря дикий идеотизм - Смысл в том что нужно придумывать пути как восстановить правила при перезагрузке. И плять простой iptables-save не срабатывает. надо городить огород с востановлением правил либо через крон, либо на уровне загрузки.
Решения вопроса 1

-
Делаем скрипт, выполняемый при поднятии интерфейса
nano -w /etc/network/if-up.d/00-iptables
#!/bin/sh
iptables-restore < /etc/firewall.conf
ip6tables-restore < /etc/firewall6.conf
chmod +x nano -w /etc/network/if-up.d/00-iptables
iptables-save >/etc/firewall.conf
ip6tables-save >/etc/firewall6.conf
Ответ написан более трёх лет назад
Нравится 14 2 комментария

ошибка в п.2, должно быть
chmod +x /etc/network/if-up.d/00-iptables
Игорь @shanker Автор вопроса
Спасибо. То, что нужно!
Ответы на вопрос 11
в debian и ubuntu добавили пакет iptables-persistent
который использует iptables-save/iptables-restore
#service iptables-persistent
Usage: /etc/init.d/iptables-persistent
после настройки правил как нужно, сделать service iptables-persistent save и при следующей загрузке они будут применены
Ответ написан более трёх лет назад
Нравится 41 4 комментария

Лутшый ответ! Спасибо.

Огромное спасибо! 🙂

Александр Карпов @Inkognitoss
The service command supports only basic LSB actions (start, stop, restart, try-r estart, reload, force-reload, status). For other actions, please try to use syst emctl.
Александр Карпов: OS ?
в ubuntu 16.04, пакет заменили на netfilter-persistent и iptables-persistent это просто плагин к netfilter.
ну и собственно правила хранятся в файлах
/etc/iptables/rules.v4 и /etc/iptables/rules.v6 и при загрузке применяются.
#service netfilter-persistent
Usage: /etc/init.d/netfilter-persistent
инженер-программист
Ответ написан более трёх лет назад
Комментировать
Нравится 12 Комментировать
Можно установить iptables-persistent.
Ответ написан более трёх лет назад
Комментировать
Нравится 9 Комментировать
Если у вас не используется нетворк менеджер для поднятия сети, то можно прописать в конец /etc/network/interfaces
post-up iptables-restore < /etc/iptables.rules
Предварительно применив правила и сохранив их в этот самый файл iptables.rules коммандой $ iptables-save > /etc/iptables.rules
Ответ написан более трёх лет назад
Комментировать
Нравится 5 Комментировать
Имхо гораздо лучше иметь bash/sh файл, создающий правила в автозагрузке, чем пользоваться iptables-save и iptables-restore.
Ведь в bash файле не можно заменить одни и те же адреса/порты/интерфейсы/протоколы/диапазоны в разных строчках на переменные, можно будет при желании селать какой-нибудь цикл или включить роутинг в /proc/sys/net/ipv4/ip_forward (его логиченее объединить с правилами, ведь они без него могут не иметь смысла)
Ответ написан более трёх лет назад
Нравится 4 2 комментария
Скрипт с переменными и комментариями мне тоже кажется более наглядным.

Вы правы - best practice!

Так же, как в Debian. Имеется ввиду, что они одинаковы по умолчанию в этом плане.
Победить — путём создания файла с правилами и добавления его для исполнения в rc.local, или лучше — в автозагрузку, положив файл в init.d.
Как сохранить правила iptables в Ubuntu 20 / Debian?
Классический способ сохранения правил.
1. Сохраняем правила в файл:
2. Создаем скрипт в загрузке интерфейсов:
3. Прописываем восстановление правил:
4. Даем права на выполенение скрипта:
5. Перезагружаемся и проверяем.
М - 02.06.2021 Просмотры: 1 521
Добавить комментарий Отменить ответ
Используя данный сайт, Вы соглашаетесь с условиями Пользовательского Соглашения.
Изображения, которые относятся к записям данного сайта,
берутся из бесплатных стоков и используются согласно лицензии или правил использования изображений стоков.
Коммерческого использования таких изображений нет.