web-dev-qa-db-ja.com

firewalldがCentOS 8で機能しない:iptablesでルールが作成されない

私は最近、このチュートリアルを使用して、クリーンインストールCentOS 7をCentOS 8にアップグレードしました。

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

追加のソフトウェアはインストールせず、ベースインストールのみをインストールしました。アップグレード後、最初に試みたのはSSHとHTTPへの扉を開くことでした。そのため、firewalldを有効にして起動しました。

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.

次に、sshおよびhttpサービスを追加しました。

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: 

しかし、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         

サーバーを再起動した後でも、ルールは作成されません。これは、CentOS 7→CentOS 8のアップグレードが原因である可能性がありますか?

私はこのサーバーをアップグレードする前にfirewalldをテストまたは使用していませんが、firewalldが機能する他のCentOS 7サーバーがあります。

問題をデバッグするために分析できるログはありますか?

前もって感謝します。

3
Rodrigo Renie

iptablesルールは表示されないため、-firewalldが機能していないという意味ではありません。実際firewalldnftables をバックエンドとして使用するように切り替えられました。だからあなたはあなたのルールを例えばで見つけることができます:

nft list ruleset

sshおよびhttpに追加したルールは、チェーン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
        }

おそらくalso空のiptablesルール(ただしnftablesルールと見なされます)がnft list rulesetの出力に表示されます--iptablesnftables互換カーネルAPIを使用しています:

# iptables -V
iptables v1.8.2 (nf_tables)

便利なリンク: Redhat-Firewalld:The Future is nftables

1
A.B