Debian / Ubuntu · iptables-persistent

rules.v4 —
без потери доступа

Редактируйте, проверяйте и применяйте правила безопасно — с тестом синтаксиса и быстрым откатом.

Для IPv4: /etc/iptables/rules.v4IPv6 хранится отдельно в rules.v6

/etc/iptables/rules.v4syntax ready
1*filter2:INPUT DROP [0:0]3:FORWARD DROP [0:0]4-A INPUT -i lo -j ACCEPT5-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT6-A INPUT -p tcp --dport 22 -j ACCEPT7COMMIT
SSH разрешён до политики DROP

Перед применением

01

Сохраните текущие правила

iptables-save → резервная копия

02

Оставьте SSH-сессию открытой

Проверяйте вход во втором окне

03

Подготовьте автооткат

60 секунд на подтверждение

Сначала — страховка

Три команды до редактирования

Не закрывайте текущую SSH-сессию. После применения откройте второе окно и убедитесь, что новый вход работает.

01Снять копию

Сохраните рабочие правила

Сделайте это до первого изменения. Копия останется в /root и не будет перезаписана пакетом.

sudo iptables-save | sudo tee /root/rules.v4.backup >/dev/null
02Проверить

Проверьте синтаксис

Команда разбирает файл, но не применяет его к текущему соединению.

sudo iptables-restore --test < /etc/iptables/rules.v4
03Применить

Запустите с автооткатом

Подтвердите изменения в течение 60 секунд. Иначе iptables-apply вернёт прежние правила.

sudo iptables-apply -t 60 /etc/iptables/rules.v4

Базовый rules.v4

Соберите минимальный фильтр

Значения меняют конфиг справа. Генератор ничего не применяет к вашему серверу — он только подготавливает текст.

Порядок важен.Разрешающие правила находятся выше политики INPUT DROP.
rules.v4 · generated
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# Локальный интерфейс и уже установленные соединения
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Диагностика сети
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# SSH только из административной сети
-A INPUT -p tcp -s 10.0.0.0/8 --dport 22 -m conntrack --ctstate NEW -j ACCEPT

COMMIT
Файл готов к проверке синтаксиса

Локальный редактор rules.v4

Загрузите и измените свой конфиг

Файл читается только в вашем браузере. Изменяйте строки, удаляйте ненужные правила и скачивайте готовый rules.v4.

rules.v4Файл ещё не загружен

Контрольная точка

Проверить ≠ применить

Сначала тестируем файл. Только код возврата 0 означает, что iptables-restore принял синтаксис.

1

Проверить файл

sudo iptables-restore --test < /etc/iptables/rules.v4
2

Проверить код возврата

echo $?
0синтаксис принят
3

Увидеть активные правила

sudo iptables -L -n -v --line-numbers

05 · безопасное применение

60 секунд на подтверждение

iptables-apply временно загружает файл и ждёт подтверждения. Если SSH оборвётся или вы не ответите, прежние правила вернутся автоматически.

  1. 01Оставьте первое SSH-окно открытым.
  2. 02Запустите команду с таймером.
  3. 03Проверьте новый вход и ответьте y.
root@server:~safe apply
sudo iptables-apply -t 60 /etc/iptables/rules.v4

Can you establish NEW connections to the machine? (y/N)

y

06 · аварийный сценарий

Откат без паники

Если автооткат недоступен, используйте консоль провайдера, iLO, iDRAC или гипервизора и загрузите сохранённую копию.

restore / root consolesudo iptables-restore < /root/rules.v4.backup
A

rules.v4 не равен активным правилам

Редактирование файла само по себе ничего не меняет до загрузки.

B

Не забудьте про IPv6

IPv6-фильтр хранится в /etc/iptables/rules.v6 и проверяется ip6tables-restore.

C

Проверьте backend

Команда iptables -V покажет legacy или nf_tables. Не смешивайте способы управления без плана миграции.