Linux--Firewalld基本命令操作(防火墙状态查看、重新配置、区域操作、服务操作、端口操作、阻塞协议操作以及实验配置)
前言
-
firewall-cmd是firewalld防火墙自带的字符管理工具,可以用来设置firewalld防火墙的各种规则
-
firewalld防火墙规则分为两种状态:
- 一种是runtime,指正在运行生效的状态,在runtime状态添加新的防火墙规则,这些规则会立即生效,但是重新加载防火墙配置或者再重启系统后这些规则将会失效
- 另一种是permanent,指永久生效的状态,在permanent状态添加新的防火墙规则,这些规则不会马上生效,需要重新加载防火墙配置或者重启系统后生效
-
在使用firewall-cmd命令管理防火墙时,需要添加为永久生效的规则需在配置规则时添加–permanent选项(否则所有命令都是作用于runtime,运行时配置)
如果让永久生效规则立即覆盖当前规则生效使用,还需要使用firewall-cmd --reload命令重新加载防火墙配置
一:启动、停止、查看 firewalld 服务
1.1:firewalld防火墙维护命令
- 防火墙进程操作
[root@localhost ~]# systemctl 选项 firewalld
选项:
stop:关闭
start:开启
restart:重启
status:状态
防火墙管理操作
- firewalld-cmd命令
- 支持全部防火墙特性
- 对于状态和查询模式,命令只返回状态,没有其他输出
- –permanent(永久的)参数:携带该参数表示永久配置,否则表示运行时配置
- [–zone=]选项:不懈怠此选项表示针对默认区域操作,否则针对指定区域操作
1.2:启动、停止、查看命令
- 在安装 CentOS7 系统时,会自动安装 firewalld 和图形化工具 firewall-config。执行 以下命令可以启动 firewalld 并设置为开机自启动状态。
[root@localhost ~]# systemctl start firewalld //启动 firewalld
[root@localhost ~]# systemctl enable firewalld //设置 firewalld 为开机自启动
- 如果 firewalld 正在运行,通过 systemctl status firewalld 或 firewall-cmd 命令 可以查看其运行状态
[root@localhost ~]# systemctl status firewalld
[root@localhost ~]# firewall-cmd --state
- 如果想要禁用 firewalld,执行以下命令即可实现。
[root@localhost ~]# systemctl stop firewalld //停止 firewalld
[root@localhost ~]# systemctl disable firewalld //设置 firewalld 开机不自启动
二:firewalld防火墙重载配置命令
2.1:重新加载firewalld的配置
- firewall-cmd --reload
[root@localhost ~]# firewall-cmd --reload
success
- firewall-cmd --complete-reload
[root@localhost ~]# firewall-cmd --complete-reload
success
状态信息将会丢失,多用于处理防火墙出现问题时
- systemctl restart firewalld
[root@localhost ~]# systemctl restart firewalld.service
2.2:获取预定义信息
firewall-cmd 预定义信息主要包括三种:可用的区域、可用的服务以及可用的 ICMP 阻 塞类型,具体的查看命令如下所示
[root@localhost ~]# firewall-cmd --get-zones //显示预定义的区域
[root@localhost ~]# firewall-cmd --get-service //显示预定义的服务
[root@localhost ~]# firewall-cmd --get-icmptypes //显示预定义的 ICMP 类型
firewall-cmd --get-icmptypes 命令的执行结果中各种阻塞类型的含义分别如下所示。
Ø destination-unreachable:目的地址不可达。
Ø echo-reply:应答回应(pong)。
Ø parameter-problem:参数问题。
Ø redirect:重新定向。
Ø router-advertisement:路由器通告。
Ø router-solicitation:路由器征寻。
Ø source-quench:源端抑制。
Ø time-exceeded:超时。
Ø timestamp-reply:时间戳应答回应。
Ø timestamp-request:时间戳请求。
三:firewalld区域操作命令
3.1:对默认区域操作
- 显示当前系统中的默认区域
[root@localhost ~]# firewall-cmd --get-default-zone
public
- 设置网络连接或接口的默认区域
[root@localhost ~]# firewall-cmd --set-default-zone=work
success
[root@localhost ~]# firewall-cmd --get-default-zone
work
- 显示默认区域的所有规则
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
- 显示网络接口 ens33 对应区域
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
work
- 为指定接口绑定区域
[root@localhost ~