Firewalld 服务正在运行,但 Firewall-cmd 不起作用

Firewalld 服务正在运行,但 Firewall-cmd 不起作用

我是 Centos 7/Server 管理新手。我正在尝试弄清楚如何使用防火墙。我的内核版本是: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,它通过将 IP 添加到禁止列表来工作,我可以通过以下方式查看:iptables -L -n。

# 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。我该怎么办?

  • PS:我将防火墙客户端改为使用firewalld并禁用iptables服务的原因是fail2ban无法与iptables配合使用。它只是待在那里什么也不做。但这是另一个问题!

答案1

问题是您正在使用 OpenVZ。OpenVZ 运行的是 2.6 内核,它不具备防火墙守护进程所依赖的功能,并且所有 systemd 更改都已移植到 OpenVZ 的 sysvinit 中。

相关内容