Firewalld 字符管理工具,命令分享

Posted 一文梨梨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firewalld 字符管理工具,命令分享相关的知识,希望对你有一定的参考价值。

Firewalld 防火墙维护命令

在安装 CentOS7 系统时,会自动安装 firewalld 和图形化工具 firewall-config。执行

以下命令可以启动 firewalld 并设置为开机自启动状态。

systemctl start firewalld                //启动 firewalld 

systemctl enable firewalld            //设置 firewalld 为开机自启动  

Firewalld

Firewalld防火墙状态查询命令

如果 firewalld 正在运行,通过 systemctl status firewalld 或 firewall-cmd 命令

可以查看其运行状态。

systemctl status firewalld

Firewalld

firewall-cmd --state

Firewalld

如果想要禁用 firewalld,执行以下命令即可实现。

systemctl stop firewalld                 //停止 firewalld

systemctl disable firewalld            //设置 firewalld 开机不自启动

Firewalld

Firewalld 防火墙重载配置命令

如果修改了防火墙的配置,通过 firewall-cmd –reload 命令可以使其生效。

firewall-cmd --reload

Firewalld

当防火墙出现问题时,通过 firewall-cmd --complete-reload 命令可以完全重载防火

墙,但是状态信息将会丢失。

firewall-cmd --complete-reload

Firewalld

还可以通过重启服务的方式重载防火墙的配置。

systemctl restart firewalld

Firewalld


查询预定义信息命令

firewall-cmd 预定义信息主要包括三种:可用的区域、可用的服务以及可用的 ICMP 阻

塞类型,具体的查看命令如下所示。

firewall-cmd --get-zones                     //显示预定义的区域

firewall-cmd --get-service                   //显示预定义的服务

firewall-cmd --get-icmptypes              //显示预定义的 ICMP 类型

Firewalld

Firewalld 区域操作命令

使用 firewall-cmd 命令可以实现获取和管理区域,为指定区域绑定网络接口等功能。

(1)显示当前系统中的默认区域。

firewall-cmd --get-default-zone

Firewalld

(2)显示默认区域的所有规则。

firewall-cmd --list-all

Firewalld

(3)显示网络接口 ens33 对应区域。

firewall-cmd --get-zone-of-interface=ens33

Firewalld

(4)将网络接口 ens33 对应区域更改为 internal 区域。

firewall-cmd --zone=internal --change-interface=ens33

Firewalld

firewall-cmd --zone=internal --list-interfaces

Firewalld

firewall-cmd --get-zone-of-interface=ens33

Firewalld

(5)显示所有激活区域。

firewall-cmd --get-active-zones

Firewalld

Firewalld 服务操作命令

为 了 方 便 管 理 , firewalld 预 先 定 义 了 很 多 服 务 , 存 放 在/usr/lib/firewalld/services/ 目录中,服务通过单个的 XML 配置文件来指定。这些配置文件则按以下格式命名:service-name.xml,每个文件对应一项具体的网络服务,如 ssh 服务等。与之对应的配置文件中记录了各项服务所使用的 tcp/udp 端口。在最新版本的firewalld 中默认已经定义了 70 多种服务供我们使用,对于每个网络区域,均可以配置允许访问的服务。当默认提供的服务不适用或者需要自定义某项服务的端口时,我们需要将service 配置文件放置在 /etc/firewalld/services/ 目录中。service 配置具有以下优点。

(1)通过服务名字来管理规则更加人性化。

(2)通过服务来组织端口分组的模式更加高效,如果一个服务使用了若干个网络端口,则服务的

配置文件就相当于提供了到这些端口的规则管理的批量操作快捷方式。

(1)为默认区域设置允许访问的服务。

firewall-cmd --list-services

Firewalldfirewall-cmd --add-service=http

Firewalld

firewall-cmd --add-service=https

Firewalld

firewall-cmd --list-servicesFirewalld

(2)为 internal 区域设置允许访问的服务。

firewall-cmd --zone=internal --add-service=mysql

Firewalld

firewall-cmd --zone=internal --remove-service=samba-client

Firewalld

firewall-cmd --zone=internal --list-services

Firewalld

Firewalld 端口操作命令

在进行服务配置时,预定义的网络服务可以使用服务名配置,服务所涉及的端口就会自动打开。但是,对于非预定义的服务只能手动为指定的区域添加端口。例如,执行以下操作即可实现在 internal 区域打开 443/TCP 端口。

firewall-cmd --zone=internal --add-port=443/tcp

Firewalld

若想实现在 internal 区域禁止 443/TCP 端口访问,可执行以下命令。

firewall-cmd --zone=internal --remove-port=443/tcp

Firewalld

Firewalld 阻塞 ICMP 操作命令

可以通过防火墙的 ICMP 阻塞命令,阻止特定类型的 ICMP 数据在某个区域中转发。ICMP有多种消息类型,比较典型的是 echo-request 和 echo-reply 详细,分别对应 icmp 的发起使用如下命令,显示 work 区域内阻塞的所有 ICMP 类型。

firewall-cmd --zone=work --list-icmp-blocks

FirewalldFirewalld

执行以下命令,可以为 work 区域设置阻塞 echo-reply 类型的 ICMP。

firewall-cmd --zone=work --add-icmp-block=echo-reply

Firewalld

使用如下命令,删除 work 区域已阻塞的 echo-reply 类型的 ICMP。

firewall-cmd --zone=work --remove-icmp-block=echo-reply

Firewalld

执行以下命令,可以查询 work 区域的 echo-request 类型的 ICMP 是否阻塞。

firewall-cmd --zone=work --query-icmp-block=echo-request

Firewalld


以上是关于Firewalld 字符管理工具,命令分享的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7 中的firewall-cmd命令

firewalld 命令

centos7 firewalld

firewalld管理防火墙常用命令

centos7使用firewalld打开关闭防火墙和端口

Linux防火墙基础(Firewalld命令的使用)