Найти в Дзене

Удаленно настраивать брандмауэр – это к дальней дороге

? Данная «народная примета» возникла не на пустом месте и в целом правильно отражает реальность. Одно неверное движение, ошибка, опечатка и вы остаетесь без связи с удаленным узлом и хорошо если есть окольные пути. Но не все так плохо, если знаешь где упасть, то можно и не только соломки подстелить. Для работ по изменению настроек брандмауэра мы используем простые скрипты, которые если что-то пойдет не так просто сбросят его конфигурацию. Создадим в укромном месте, например в /root, скрипт flush.sh и добавим в него следующее содержимое. ▫️Для iptables: #!/bin/bash iptables-save > /root/iptables_backup.bak iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -t filter -F iptables -t nat -F iptables -t mangle -F iptables -t raw -F iptables -X ▫️Для nftables: #!/bin/bash nft list ruleset > /root/nftables_backup.nft nft flush ruleset Оба скрипта делают одно и тоже: сохраняют текущие настройки брандмауэра и сбрасывают его состояние. Это дает воз

Удаленно настраивать брандмауэр – это к дальней дороге?

Данная «народная примета» возникла не на пустом месте и в целом правильно отражает реальность. Одно неверное движение, ошибка, опечатка и вы остаетесь без связи с удаленным узлом и хорошо если есть окольные пути.

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

Создадим в укромном месте, например в /root, скрипт flush.sh и добавим в него следующее содержимое.

▫️Для iptables:

#!/bin/bash

iptables-save > /root/iptables_backup.bak

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -t filter -F

iptables -t nat -F

iptables -t mangle -F

iptables -t raw -F

iptables -X

▫️Для nftables:

#!/bin/bash

nft list ruleset > /root/nftables_backup.nft

nft flush ruleset

Оба скрипта делают одно и тоже: сохраняют текущие настройки брандмауэра и сбрасывают его состояние. Это дает возможность гарантированно подключиться к удаленному узлу если в процессе настройки что-то пошло не так.

Для его запуска нам потребуется утилита at, установим ее если не установлена:

apt install at

Сделаем скрипт исполняемым:

chmod +x /root/ flush.sh

И перед выполнением работ настроим отложенный запуск:

at now + 15 minutes -f /root/flush.sh

Теперь через 15 минут, даже при обрыве сессии, планировщик выполнит наш скрипт и сбросит состояние брандмауэра.

Какой временной промежуток выбрать решаете вы сами, в зависимости от задач и потребностей. Но общий смысл ясен – если что-то пошло не так, и вы потеряли управление, то скрипт сработает и удалит все изменения.

Если же все работает нормально, и вы окончательно убедились в этом (не забудьте отключиться и снова подключиться), то просто удаляем отложенное задание.

Для этого сначала узнаем его идентификатор командой:

atq

А затем удаляем командой:

atrm <ID_задания>

Главное – не забыть это сделать, иначе ваш узел останется полностью без брандмауэра.