web-dev-qa-db-ja.com

Firewalldサービスは実行されていますが、firewall-cmdが機能しません

Centos 7/Server管理は初めてです。私はfirewalldを操作する方法を理解しようとしています。私のカーネルリリースは:2.6.32-042stab084.20(OpenVZ)

そして:

#firewall-cmd --version
#0.3.9

問題は、firewall-cmdから機能を取得できないことです。これが私が試したコマンドのいくつかです:

# systemctl status firewalld -l
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
Active: active (running) since ...; 
Main PID: 120
CGroup: /system.slice/firewalld.service
       └─120 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

systemd[1]: Starting firewalld - dynamic firewall daemon...
systemd[1]: Started firewalld - dynamic firewall daemon.
firewalld[120]: ERROR: ebtables not usable, disabling ethernet bridge firewall.
firewalld[120]: ERROR: INVALID_ZONE

Firewalldが実行されているようで、実際にはファイアウォールとしての役割を果たしています。しかし、firewall-cmdを使おうとすると:

# firewall-cmd --state
not running
#firewall-cmd --get-zones
#[nothing happens]
#firewall-cmd --reload
[X]Server crashed and I had to request a reboot!

Fail2banをインストールしましたが、iptables -L-nで表示できる禁止リストにIPを追加することで機能します。

# iptables -V
#iptables v1.4.21

    # iptables -nvL
    Chain INPUT (policy ACCEPT 798 packets, 89141 bytes)
 pkts bytes target     prot opt in     out     source               destination
76260   14M f2b-SSH    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
69823   14M f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22

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

Chain OUTPUT (policy ACCEPT 725 packets, 113K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT_ZONES (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT_ZONES_SOURCE (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT_direct (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain f2b-SSH (1 references)
pkts bytes target     prot opt in     out     source               destination
       17  1060 REJECT     all  --  *      *       111.222.333.444      0.0.0.0/0            reject-with icmp-port-unreachable
    ...
    ...

しかし、アプリケーション用に特定のポートを開きたいので、firewall-cmdを使用できません。じゃあどうすればいい?

  • 追伸:ファイアウォールクライアントをfirewalldに変更し、iptablesサービスを無効にした理由は、fail2banがiptablesで機能しなかったためです。ただそこに座って何もしませんでしたが、それは別の問題です!
2
jrook

問題は、OpenVZを使用していることです。 OpenVZは、firewalldデーモンが依存する機能を持たない2.6カーネルを実行しており、systemdのすべての変更はOpenVZのsysvinitにバックポートされます。

1
wilbo