it-swarm.com.de

firewalld funktioniert in CentOS 8 nicht: In iptables wird überhaupt keine Regel erstellt

Ich habe kürzlich eine Neuinstallation von CentOS 7 auf CentOS 8 mithilfe dieses Tutorials aktualisiert:

https://www.tecmint.com/upgrade-centos-7-to-centos-8/

Ich hatte keine zusätzliche Software installiert, nur die Basisinstallation. Nach dem Upgrade habe ich zunächst versucht, Türen nur für SSH und HTTP zu öffnen. Daher habe ich firewalld aktiviert und gestartet:

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-12-24 11:05:50 -02; 10min ago
     Docs: man:firewalld(1)
 Main PID: 7620 (firewalld)
    Tasks: 2 (limit: 17886)
   Memory: 22.1M
   CGroup: /system.slice/firewalld.service
           └─7620 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

dez 24 11:05:49 renie.cc systemd[1]: Stopped firewalld - dynamic firewall daemon.
dez 24 11:05:49 renie.cc systemd[1]: Starting firewalld - dynamic firewall daemon...
dez 24 11:05:50 renie.cc systemd[1]: Started firewalld - dynamic firewall daemon.

Dann ssh und http Dienste hinzugefügt:

firewall-cmd --add-service http
firewall-cmd --add-service http --permanent
firewall-cmd --add-service ssh
firewall-cmd --add-service ssh --permanent
firewall-cmd --add-service ssh
firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: http ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Aber ich sehe überhaupt keine Regel in IPTables:

iptables -nvL
Chain INPUT (policy ACCEPT 143 packets, 13998 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 114 packets, 13295 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Auch nach dem Neustart des Servers werden keine Regeln erstellt. Könnte dies durch das Upgrade von CentOS 7 → CentOS 8 verursacht werden?

Ich habe Firewalld vor dem Upgrade dieses Servers nicht getestet oder verwendet, aber ich habe andere CentOS 7-Server, auf denen Firewalld funktioniert.

Gibt es ein Protokoll, das ich analysieren kann, um das Problem zu beheben?

Danke im Voraus.

3
Rodrigo Renie

Da Sie keine iptables Regel sehen, bedeutet dies nicht, dass firewalld nicht funktioniert. Eigentlich firewalld auf nftables als Backend umgestellt. So finden Sie Ihre Regeln zum Beispiel mit:

nft list ruleset

Die Regeln, die Sie für ssh und http hinzugefügt haben, befinden sich wahrscheinlich in der Kette filter_IN_public_allow:

        chain filter_IN_public_allow {
                tcp dport ssh ct state new,untracked accept
                tcp dport http ct state new,untracked accept
        }

Sie werden wahrscheinlich auch leere iptables Regeln (aber als nftables Regeln in der Ausgabe von nft list ruleset, weil iptables die Kompatibilitätskern-API nftables verwendet:

# iptables -V
iptables v1.8.2 (nf_tables)

nützlicher Link: Redhat - Firewalld: Die Zukunft ist nftables

1
A.B