Настройка брандмауэра через systemd как можно раньше

Настройка брандмауэра через systemd как можно раньше

У меня есть служба systemd, которая выполняет скрипт оболочки, настраивающий брандмауэр. Система встроенная и работает под управлением Debian 8.

Как настроить службу, чтобы она выполняла скрипт как можно раньше при запуске системы, но достаточно поздно, чтобы сработал iptables?

Файл сервиса в том виде, в котором он есть сейчас (он работает, но я не знаю, оптимален ли он):

[Unit]
Description=Firewall configuration script
After=sysinit.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/firewall.sh

[Install]
WantedBy=basic.target

Сценарий:

#!/bin/bash
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

решение1

Попробуйте скопироватьуфвповедение при запуске, так как оно делает почти то же самое:

ufw.service:

[Unit]
Before=network.target

Вы также можете рассмотреть возможность перехода от собственного скрипта iptables к списку правил ufw.

Связанный контент