GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Iptables-persistent und Netfilter-persistent funktionieren eigentlich nicht auf Ubuntu Server 16.04.3 X86_64?

Ich habe iptables-persistent und netfilter-persistent installiert:

$ dpkg -l '*-persistent'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                         Version                      Architecture                Description
+++-============================================-===========================-===========================-==============================================================================================
ii  iptables-persistent                          1.0.4                       all                         boot-time loader for netfilter rules, iptables plugin
ii  netfilter-persistent                         1.0.4                       all                         boot-time loader for netfilter configuration

Ich habe die Regeln auch unter /etc/iptables/rules.v4 gespeichert (Im Moment interessiert mich nur IPv4):

$ cat /etc/iptables/rules.v4
# Generated by iptables-save v1.6.0 on Fri Jan 19 09:49:17 2018
*security
:INPUT ACCEPT [11740:1271860]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9784:2123999]
COMMIT
# Completed on Fri Jan 19 09:49:17 2018
# Generated by iptables-save v1.6.0 on Fri Jan 19 09:49:17 2018
*raw
:PREROUTING ACCEPT [18262:1677349]
:OUTPUT ACCEPT [9784:2123999]
COMMIT
# Completed on Fri Jan 19 09:49:17 2018
# Generated by iptables-save v1.6.0 on Fri Jan 19 09:49:17 2018
*nat
:PREROUTING ACCEPT [7367:452849]
:INPUT ACCEPT [872:48764]
:OUTPUT ACCEPT [500:37441]
:POSTROUTING ACCEPT [500:37441]
COMMIT
# Completed on Fri Jan 19 09:49:17 2018
# Generated by iptables-save v1.6.0 on Fri Jan 19 09:49:17 2018
*mangle
:PREROUTING ACCEPT [18262:1677349]
:INPUT ACCEPT [18259:1677229]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9784:2123999]
:POSTROUTING ACCEPT [9784:2123999]
COMMIT
# Completed on Fri Jan 19 09:49:17 2018
# Generated by iptables-save v1.6.0 on Fri Jan 19 09:49:17 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m multiport --dports 25,587,465
-A INPUT -p tcp -m state --state NEW -m multiport --dports 110,995
-A INPUT -p tcp -m state --state NEW -m multiport --dports 143,993
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m multiport --dports 3721:3725 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -j ACCEPT
COMMIT
# Completed on Fri Jan 19 09:49:17 2018

Die Regel, die mich wirklich interessiert, ist die gegen Ende:

-A INPUT -p tcp -m state --state NEW -m multiport --dports 3721:3725 -j ACCEPT

Wenn ich den Server jedoch neu starte, erhalte ich diese Regel nicht:

$ sudo iptables -4 -L
[sudo] password for kal:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             127.0.0.0/8          reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
           tcp  --  anywhere             anywhere             state NEW multiport dports smtp,submission,urd
           tcp  --  anywhere             anywhere             state NEW multiport dports pop3,pop3s
           tcp  --  anywhere             anywhere             state NEW multiport dports imap2,imaps
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain f2b-shadowsocks (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Chain f2b-sshd (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Beachten Sie auch, dass iptables ein paar Regeln hat, die bereits vorhanden waren, bevor ich jemals iptables-persistent installiert habe und netfilter-persistent - z.B. die für http, smtp, pop3, imap, ssh. Ich habe keine Ahnung, woher sie kommen. Sicher, ich habe openssh und nginx installiert und ihre Dienste aktiviert, aber ich habe nie selbst iptables-Regeln für sie hinzugefügt.

Verwandte:Wie können Sie eine Netzwerkfreigabe (ftp/sftp/webdav) übertragen, damit sie in Nautilus für andere Benutzer angezeigt wird?

Wenn ich mir die Ausgabe von journalctl anschaue, wurde netfilter-persistent.service erfolgreich gestartet:

$ sudo journalctl -xu netfilter-persistent.service
-- Logs begin at Fri 2018-01-19 18:55:13 HKT, end at Fri 2018-01-19 19:05:41 HKT. --
Jan 19 18:55:13 yuma systemd[1]: Starting netfilter persistent configuration...
-- Subject: Unit netfilter-persistent.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit netfilter-persistent.service has begun starting up.
Jan 19 18:55:13 yuma netfilter-persistent[1997]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
Jan 19 18:55:14 yuma netfilter-persistent[1997]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start
Jan 19 18:55:14 yuma systemd[1]: Started netfilter persistent configuration.
-- Subject: Unit netfilter-persistent.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit netfilter-persistent.service has finished starting up.
--
-- The start-up result is done.

Wenn ich manuell neu starte netfilter-persistent.service Nachdem die Maschine vollständig hochgefahren ist, erhalte ich die gewünschte Regel:

$ sudo iptables -4 -L
[...]
ACCEPT     tcp  --  anywhere             anywhere             state NEW multiport dports 3721:3725
[...]

Warum also nicht netfilter-persistent tatsächlich beim Booten funktionieren?

Überschreibt irgendetwas iptables vollständig nach netfilter-persistent ?

Was kann ich dagegen tun?

AKTUALISIEREN
Ich habe auch kein ufw oder firewalld .

Akzeptierte Antwort:

Es stellt sich also heraus, dass mein Server eine Datei namens /etc/iptables.firewall.rules hat , und Regeln wurden daraus in /etc/network/if-pre-up.d/firewall wiederhergestellt :

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

/etc/iptables.firewall.rules scheint eine alte Datei zu sein, die ich 2015 nach einem alten Tutorial zum Beibehalten von iptables-Regeln erstellt habe.

Alles, was ich dann tun musste, war, meine neue Regel zu dieser Datei hinzuzufügen.

Ich denke, die Lektion ist, dass nach dem Überprüfen des üblichen ufw und iptables-persistent /netfilter-persistent Sachen, ich sollte einfach grep -rn iptables-restore /etc/ . Wenn das nichts findet, gibt es auch die Möglichkeit Regeln dynamisch per dbus hinzuzufügen , wenn firewalld aktiviert ist.


Ubuntu
  1. So installieren und konfigurieren Sie einen NFS-Server unter Ubuntu 20.04

  2. So installieren und konfigurieren Sie den DHCP-Server unter Ubuntu 20.04

  3. So installieren und konfigurieren Sie den Redis-Server in Ubuntu

  4. Ubuntu 14 Server und Xrdp?

  5. Installieren Sie vnc-Server und -Client auf Ubuntu

So installieren und konfigurieren Sie DHCP unter Ubuntu 18.04

Installieren und konfigurieren Sie VNC unter Ubuntu 20.04

So installieren Sie NFS-Server und -Client unter Ubuntu

Installation und Einrichtung von Plex Media Server auf Ubuntu

So installieren Sie NTP-Server und -Client auf Ubuntu

So installieren Sie UrBackup Server und Client auf Ubuntu 20.04