Um die Konfiguration nach einem Neustart nicht zu verlieren muss man sie speichern. Entweder schreibt man die einzelnen Befehle in ein Skript, oder man verwendet 'iptables-save' bzw. 'iptables-restore'.
Vor dem speichern der Regeln, muss man sie einzeln oder gesammelt in den Kernel eingeben. Man kann auch ganze Sätze in den Kernel importieren um diese dann den eigenen Bedürnissen anzupassen.
Hat man die Regeln so wie man will, geht man zum nächsten Punkt über.
Mit folgendem Befehl werden alle Tabellen gespeichert:
# iptables-save > /etc/iptables-save
Werden nach dem Speichern nochmals Änderungen an den Regeln vorgenommen, gehen diese verloren. Darum empfielt es sich nach gewollten Änderungen nochmals zu speichen.
Hat man nach einigem herumspielen alles verbock, kann man mit folgenden Befehlen die funktionierende Konfiguration wieder laden.
# iptables -F # iptables -X # iptables -Z # cat /etc/iptables-save | iptables-restore
Will man nicht bei nach jedem Neustart selbst Befehle eingeben, kann man die Datei '/etc/rc.local' bearbeiten. Dies ist meine Konfiguration unter Ubuntu (Debian) 8.04 Server:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. ## Start: IPTables #hier kommen alle gewünschten Regeln cat /etc/iptables-save | iptables-restore ## Ende: IPTables exit 0