it-swarm.com.de

debian 8 iptables-persistent

ich habe VPS Debian 8 Jessie X64 stabile Veröffentlichung. Nach der Installation versuche ich, iptables zu konfigurieren (wie in debian 7). 

apt-get install iptables-persistent

nach erfolgreicher Ausführung wurden einige Pakete installiert. aber wenn ich versuche

service iptables-persistent start

ich bekomme eine Fehlermeldung, die besagt, dass der Dienst iptables-persistent nicht erkannt wird

halp!

Persist IP Tables Debian/Ubuntu

Führen Sie die folgenden Schritte aus, um Änderungen an Ihren iptables-Regeln beizubehalten.

Iptables-persistent installieren:

Sudo apt-get install -y iptables-persistent

Nehmen Sie die gewünschten Änderungen an Ihren iptables-Regeln vor, z

Sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

Dann renne 

Sudo dpkg-reconfigure -y iptables-persistent

Die Regeln sollten jetzt nach einem Neustart bestehen bleiben. 

Zusatzinformation

Die dpkg-reconfigure veranlasst iptables-persistent lediglich dazu, das zu tun, was bei der Installation ausgeführt wird, dh die aktuellen iptables mit einem Befehl in einer Datei zu speichern:

iptables-save >/etc/iptables/rules.v4
ip6tables-save >/etc/iptables/rules.v6

Das iptables-persistent-Paket bewirkt, dass das Betriebssystem beim Neustart in etwa wie folgt ausgeführt wird.

iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

Hoffe das hilft : )

50
tobuslieven

Ich bin auch nur über das Problem von OP gestolpert (und dann seine Frage); hat die Lösung gefunden, wenn Sie die Paketbeschreibung für iptables-persistent betrachten. Die neue Schnittstelle scheint netfilter-persistent zu sein, d. H.

# invoke-rc.d netfilter-persistent save

Zumindest hat das bei mir funktioniert, HTH ...

9
oliver

Update 07.08.16: Das hängt von der Distribution ab. Der folgende Kommentar wurde eingegeben, ohne zu wissen, ob die OP-Distribution ein netfilter-persistentes Paket hat. Entschuldigen Sie. Meine Laptop-Distribution (Mint) enthält nicht das netfilter-persistente Paket, während meine Server Distributionen (Ubuntu 15+) verwenden.

Ursprüngliche Antwort: Wie Oliver richtig sagt, ersetzt netfilter-persistent iptables-persistent in Ubuntu. Was mit Ubuntu 15.04 funktionierte, war wie folgt:

Installieren Sie es und stellen Sie sicher, dass es als Dienst ausgeführt wird: service --status-all | grep netfilter-persistent

Wenn Sie nicht als Dienst ausgeführt werden, starten Sie ihn ein für alle Mal mit: invoke-rc.d netfilter-persistent start

Dann müssen Sie ein Skript an einer Stelle platzieren, die ausgeführt wird, wenn das Netzwerk oder seine Schnittstellen angehalten werden. Der wichtige Inhalt des Skripts lautet einfach: invoke-rc.d netfilter-persistent save

Ich habe das Skript im /etc/network/if-post-down.d Verzeichnis abgelegt. Vergiss nicht, es in eine ausführbare Datei umzuwandeln. Wenn Stromausfälle wahrscheinlich sind, können Sie einen Cron-Eintrag für den Speicherbefehl vornehmen.

4
kenneth558

iptables-persistent wurde schon oft im Debian-Wiki empfohlen.

um es zu installieren:

apt install iptables-persistent 

iptables-persistent Erstellt die Konfigurationsdateien und verwendet das Paket netfilter-persistent, um iptables-Regeln jetzt neu zu laden oder zu speichern

die iptables-Konfigurationsdateien befinden sich im Ordner

/etc/iptables/rules.v4
/etc/iptables/rules.v6

das Hauptverwaltungstool ist:

/usr/sbin/netfilter-persistent # you should be root or call Sudo to use it

wenn Sie iptables-Regeln ändern möchten, bearbeiten Sie die Konfigurationsdateien und laden Sie die iptables-Regeln erneut

netfilter-persistent reload

oder Sie können iptables -I INPUT ... verwenden, um zuerst die iptables-Regeln zu ändern und sie dann in Konfigurationsdateien zu speichern

netfilter-persistent save

wenn Sie die Iptables-Regeln löschen möchten, können Sie den Befehl flush verwenden

netfilter-persistent flush 
1
ws_

Schließlich lag das Problem im Firewall-Dienst. Dies ist eine Art neuer Firewall-Dämon. Ich denke, es steht im Konflikt mit netfilter (iptables) -persistent. Also laufe ich 

chkconfig firewalld off

und jetzt funktioniert alles gut. Haftungsausschluss :) Das ist keine Bestpraxis, es ist nur ein Workaround. Habe keine Zeit, um firewalld zu lernen.