Website-Icon .: blog cscholz.io :.

Debian: Firewall beim starten laden

Wer sich selbst eine Firewall baut steht irgendwann vor der Frage „wie starte ich das Firewallscript bei jedem Boot?“.

Da gibts es zwei Möglichkeiten:

  1. Die Regel exportieren und bei jeder Aktivierung der Netzwerkkarte laden
  2. das script im entsprechnende Runleve Eintragen

 

Möglichkeit 1

Laden Sie zuerst die Firewall Regel. Sind diese wie gewünscht (iptables -L) exportieren Sie diese in eine Datei:

iptables-save > /etc/firewall.conf

Nun wird ein script erstellt, dass bei jedem laden der Netzwerkkrate ausgeführt wird.

echo '!/bin/bash' > /etc/network/if-up.d/firewall
echo "iptables-restore < /etc/firewall.conf" >> /etc/network/if-up.d/firewall
chmod +x /etc/network/if-up.d/firewall

Möglichkeit 2

Sie erstellen einen Link im entsprechenden Runleven auf das Firewallscript.

ln -s  /root/scripts/firewall.sh /etc/rc2.d/S99firewall

Das Firewall-Script selbst muss aber mit den Parametern start & stop umgehen können.

Beispiel:

#! /bin/bash
case "$1" in
  start)

;;
  stop)
    echo "Stoppe IP-Paketfilter"
    # Tabelle flushen
    iptables -F
    iptables -X
    echo "Deaktiviere IP-Routing"
    echo 0 > /proc/sys/net/ipv4/ip_forward

    # Default-Policies setzen
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT
    ;;
  restart)
    $0 stop && $0 start
  ;;
  status)
    echo "Tabelle filter"
    iptables -L -vn
    ;;
  *)
    echo "Fehlerhafter Aufruf"
    echo "Syntax: $0 {start|stop|restart|status}"
    exit 1
    ;;
esac

Links:

Die mobile Version verlassen