Ich habe einen systemd-Dienst, der ein Shell-Skript ausführt, das die Firewall konfiguriert. Das System ist ein eingebettetes System, auf dem Debian 8 läuft.
Wie muss ich den Dienst konfigurieren, damit er das Skript möglichst früh beim Systemstart ausführt, aber spät genug, damit iptables funktioniert?
Die Servicedatei in ihrem aktuellen Zustand (sie funktioniert, aber ich weiß nicht, ob sie optimal ist):
[Unit]
Description=Firewall configuration script
After=sysinit.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/firewall.sh
[Install]
WantedBy=basic.target
Das Skript:
#!/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
Antwort1
Versuchen Sie zu kopierenufwStartverhalten, da es fast das Gleiche tut:
ufw.service:
[Unit]
Before=network.target
Sie können auch erwägen, von Ihrem eigenen Iptables-Skript zur UFW-Regelliste zu wechseln.