Iptables neu laden / neu starten auf Ubuntu 18.04

15

Ich habe Probleme mit iptables unter Ubuntu 18.04, die ich zuvor mit Centos 7 und Red Hat verwendet habe, und ich kann einfach mit neu starten

systemctl restart iptables

aber auf Ubuntu funktioniert es nicht. Ich konnte iptable init.dweder unter noch finden .

Kann mir jemand helfen, wie ich es auf Ubuntu 18.04 neu starten oder neu laden kann?

CsharpJoe
quelle
Also Ubuntu 1804 iptables-save aus der Standardinstallation löschen? Ich habe mehrere Tage damit verbracht, zu lernen, wie man iptables-save verwendet. Dann ist es aus der Standardinstallation verschwunden, WTF? Welchen Linux-Kernel syscall sollte ich verwenden, um den gleichen Effekt wie iptables-save zu erzielen, falls ubuntu 2004 ufw aus der Standardinstallation löscht?
Bronzemann

Antworten:

28

Wenn Sie möchten, dass Ihre Ubuntu-Firewall ähnlich wie RedHat / Fedora in Ubuntu 18.04 funktioniert, möchten Sie wahrscheinlich Folgendes:

sudo apt install iptables-persistent netfilter-persistent

Dann bearbeiten Sie die Regeln in /etc/iptables/rules.v[46]

Andere nützliche Befehle:

netfilter-persistent save
netfilter-persistent start

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

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

systemctl stop    netfilter-persistent
systemctl start   netfilter-persistent
systemctl restart netfilter-persistent

Die beiden Pakete sind ähnlich, bieten jedoch leicht unterschiedliche Funktionen. Wenn Sie nur installieren iptables-persistent, erhalten Sie die Service-Definitionsdatei nicht für die korrekte Behandlung in systemd, z/lib/systemd/system/netfilter-persistent.service

Wenn Sie nur installieren netfilter-persistent, werden Sie feststellen, dass die Regeln beim Booten nicht korrekt angewendet werden, wie in der README-Datei angegeben

netfilter-persistent and its plugins
------------------------------------

netfilter-persistent does no work on its own. You need the accompanying
plugins (for example, iptables-persistent) to load and save filter rules.

However, commands are run from netfilter-persistent. For example, to save
all filter rules:

   netfilter-persistent save

or to load them:

   netfilter-persistent start

For more details, see `man netfilter-persistent`.

The system service will try to load rules at startup if enabled, but by
default it will not flush rules at shutdown. This behaviour can be changed
by editing /etc/default/netfilter-persistent.
Vielen Dank
quelle
afaict, netfilter-persistent savewird auch updaten, /etc/iptables/rules.v4/6was, wenn es richtig ist, meiner Meinung iptables-save > /etc/iptables/rules.v4/6nach auch unnötig ist.
Gilad Mayani
Das stimmt, aber die zusätzlichen Befehle wurden der Vollständigkeit halber eingefügt. Ich persönlich verwende den netfilter-persistent saveBefehl nie, weil er Kommentare enthält und die Zähler nicht auf Null setzt.
ThankYee
2

In neueren Distributionen haben Sie normalerweise ein Frontend, um die Firewall zu konfigurieren und zu verwalten. Die beliebtesten in diesen Tagen sind ufwund firewalldund vielleicht shorewall. Diese Frontends kümmern sich auch darum, die Regeln hinzuzufügen, iptablesund das iptablesSkript kann übersprungen werden oder sollte übersprungen werden, da die Frontends Ihre Änderungen, die Sie mit dem iptablesBefehl vorgenommen haben, nicht direkt übernehmen.

Für Ubuntu 18.04 scheint firewalldes der Standard zu sein, in dem ufwinstalliert, aber inaktiv ist.

root@localhost:~# firewall-cmd --state 
running
root@localhost:~# ufw status
Status: inactive

Anstatt eigene iptableskonforme Regeln zu erstellen, sollten Sie diese Frontends verwenden, um Ihre Firewall-Konfiguration zu erstellen.

Ich kenne mich nicht aus, ufwaber Sie werden sicher Informationen hier bei askubuntu oder anderswo im Internet finden.
firewalldKommt mit einer GUI ( firewall-config) und einem Kommandozeilen-Tool firewall-cmd.
Mit haben firewalldSie die Möglichkeit, Regeln hinzuzufügen, ohne sie sofort anzuwenden ( permanent ) und erst nach einem Firewall-Reload anzuwenden. Oder Sie fügen sie Ihrer Laufzeitkonfiguration hinzu , testen sie und fügen sie dann Ihrer permanenten Konfiguration hinzu.
Um zB eine neu hinzugefügte permanente Konfiguration in Ihre Ausführungsregeln neu zu laden , müssten Sie den Befehl wie folgt eingeben oder die entsprechenden Klicks in der GUI ausführen.

firewall-cmd --reload

Es könnte ein bisschen komplizierter auf dem ersten Blick aussieht, da firewalldfolgende Zonen und ein Ketten - Konzept. Aber es lässt sich gut in NetworkManager integrieren , verfügt über eine grafische Benutzeroberfläche ...
Ein guter Ausgangspunkt, um sich damit vertraut zu machen, ist hier .

Thomas
quelle
2
Das beantwortet die Frage nicht
Panther
Das könnte funktionieren, kann aber nicht mit Front-End-Apps für DevOps automatisiert werden.
Lance Kind
1

Sie können den Inhalt des Pakets überprüfen mit:

dpkg -L iptables-persistent

Und dann werden Sie feststellen, dass der folgende Befehl korrekt ist:

/etc/init.d/netfilter-persistent restart
bluszcz
quelle
0

Verwenden Sie in Ubuntu 1804 zum Erreichen der Persistenz den folgenden Befehl: iptables-save> /etc/iptables/rules.v4

Oder fügen Sie einfach die Zeile iptables von Hand in die Datei ein: /etc/iptables/rules.v4

Yasir Elsharif
quelle