Skip to content

Firewalld 防火墙

基本概念

Firewalld 通过 zone(区域)来组织防火墙规则,不同区域对应不同的信任级别,默认区域为 public。 规则的作用范围分两种:

  • 不带 --permanent 的规则立即生效,但重启后丢失;
  • 带 --permanent 的规则永久生效,但需执行 firewall-cmd --reload 才会加载。

防火墙命令

用途命令
启动防火墙systemctl start firewalld
关闭防火墙systemctl stop firewalld
重启防火墙systemctl restart firewalld
显示防火墙的状态systemctl status firewalld
在开机时启用防火墙systemctl enable firewalld
在开机时禁用防火墙systemctl disable firewalld
查看防火墙是否开机启动systemctl is-enabled firewalld
查看版本firewall-cmd --version
查看帮助firewall-cmd --help
显示状态firewall-cmd --state
打开一个端口firewall-cmd --permanent --zone=public --add-port=80/tcp
关闭一个端口firewall-cmd --permanent --zone=public --remove-port=80/tcp
查看所有打开的端口firewall-cmd --zone=public --list-ports
更新防火墙规则firewall-cmd --reload
查看区域信息firewall-cmd --get-active-zones
查看指定接口所属区域firewall-cmd --get-zone-of-interface=eth0
拒绝所有包firewall-cmd --panic-on
取消拒绝状态firewall-cmd --panic-off
查看是否拒绝firewall-cmd --query-panic

其他常用命令

用途命令
开放服务(如 http)firewall-cmd --permanent --zone=public --add-service=http
查看已开放的服务firewall-cmd --zone=public --list-services
查看默认区域firewall-cmd --get-default-zone
设置默认区域firewall-cmd --set-default-zone=public
查看当前区域的所有规则firewall-cmd --zone=public --list-all
临时规则转永久firewall-cmd --runtime-to-permanent

Released under the MIT License.