以下命令列出 FirewallD 提供的zones。运行以下命令以列出zones:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
- Firewalld services
Firewalld 的service配置是预定义的服务。要列出可用的服务模块,请运行以下命令:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --get-services
Firewalld的临时设置和永久设置
Firewalld 使用两个独立的配置,即临时设置和永久设置:
- 临时设置: 临时设置不会在系统重启时保持不变。这意味着临时设置不会自动保存到永久设置中。
- 永久设置: 永久设置会存储在配置文件中,将在每次重新启动时加载并成为新的临时设置。
启用、禁用Firewalld
Firewalld默认安装在Centos7/8中,下面命令时如何启用或者停用firewalld:
代码语言:javascript复制# 启用Firewalld
[root@server1 ~]# systemctl start firewalld
# 禁用Firewalld
[root@server1 ~]# systemctl stop firewalld
# 开机启动
[root@server1 ~]# systemctl enable firewlald
# 禁止开机启动
[root@server1 ~]# systemctl disable firewalld
查看firewlald的状态:
代码语言:javascript复制[root@server1 ~]# systemctl status firewalld
或者
[root@server1 ~]# firewall-cmd --state
running
zone管理
Firewalld 为每个区域提供不同级别的安全性,公共区域设置为默认区域。下面命令查看默认区域:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --get-default-zone
public
下面命令查看默认区域的配置:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: cockpit dhcpv6-client ntp ssh
ports: 2222/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
通过使用选项"--zone”和“--change-interface”的组合,可以轻松更改zone中的接口。例如,要将“ens33”接口分配给“home”区域,请运行以下命令:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --zone=home --change-interface=ens33
success
[root@server1 ~]# firewall-cmd --zone=home --list-all
home (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: cockpit dhcpv6-client mdns samba-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
要查看所有活动的zone,请运行以下命令:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --get-active-zones
home
interfaces: ens33
public
interfaces: ens160
要更改默认zone,请使用以下命令。例如,要将默认区域更改为 home,请运行以下命令:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --set-default-zone=home
要找出与 ens160 接口关联的区域,请运行以下命令:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --get-zone-of-interface=ens160
public
要创建新zone,请使用以下命令。例如,要创建一个名为“test”的新区域,并永久生效,请运行:
代码语言:javascript复制[root@server1 ~]# firewall-cmd --permanent --new-zone=test
success
[root@server1 ~]# firewall-cmd --reload
success