linux firewalld简介

本文详细介绍了firewalld防火墙的区域划分、预设区域配置、命令行工具的使用方法,包括如何设置默认区域、添加和移除规则,以及firewalld的运行模式和规则匹配机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

firewalld简介

Firewalld上有一些预定义区域,可分别进行自定义,下表介绍了这些初始区域配置

firewalld将所有传入流量划分成区域,每个区域都具有自己的一套规则
任何新网络接口默认区域都将设置为public区域

区域名称默认配置
trusted可信区域,防火墙放行一切流量,等同于关闭防火墙功能
home区全域内主动发起连接的流入回程数据包允许通过,默认放行ssh,mdns,ipp-client,samba-clent或dhcpv6-client服务 //别人不能连进来,但是区域内发起的请求,回程数据能进来
internal与home区域相同
work区域内主动发起连接的流入回程数据包允许通过,放行ssh,dhcpv6-client服务
external区域内主动发起连接的流入回程数据包允许通过,放行ssh服务匹配,开启地址伪装功能
dmz区域内主动发起连接的流入回程数据包允许通过,放行ssh服务匹配
block区域内主动发起连接的流入回程数据包允许通过
drop对进入该区域的所有数据包丢弃,并且不进行任何回包,区域内主动发起连接的流入回程数据包允许通过
public默认区域,拒绝除与出站有关的通信或预定义服务(ssh,dhcpv6-client)以外的所有进站通信

配置

firewall-cmd --set-default-zone=drop    //set 设置  设置默认区域为drop区域
firewall-cmd --reload   //firewall重新生效
firewall-cmd --get-default-zone    //get  查看  查看默认区域
firewall-cmd --list-all    //查看放行了哪些服务

firewall-cmd命令行工具

参数作用
–get-default-zone查访默认的区域名称
–set-default-zone=(区域名称)设置默认的区域,使其永久生效
–list-all显示当前区域的网卡配置参数,资源,端口以及服务等信息
–list-all-zone显示所有区域的网卡配置参数,资源,端口以及服务等信息
–get-zones显示可用可用的区域
–get-active-zones显示当前正在使用的区域,来源地址和网卡名称
–add-source=将源自此IP或子网的流量导向指定的区域
–remove-source=不再将源自此IP或子网的流量导向这个区域
–change-source=将源自此IP或子网的流量导向指定到新的区域
firewall-cmd --add-source=172.25.250.11 --zone=drop   //把源IP为172.25.250.11引入到drop区域
参数作用
–add-interface=(网卡名称)将源自该网卡的所有流量都导向某个指定区域
–change-interface=(网卡名称)将某个网卡与区域进行关联
–get-services显示预定义的服务
–add-service=(服务名)设置默认区域允许该服务的流量
–add-port=(端口号/协议)设置默认区域允许该端口的流量
–remove-service=(服务名)设置默认区域不再允许该服务的流量
–remove-port=(端口号/协议)设置默认区域不再允许该端口的流量
–permanent让配置永久生效
–reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
firewall-cmd --change-interface=ens32 --zone=trusted   //将ens32网卡该改变到trusted区域

firewall-cmd --remove-interface=ens32 --zone=trusted   //把ens32网卡从trusted区域放出来

生产配置

firewall-cmd --permanent --add-service=http   //最好要加permanent   永久放行http服务
firewall-cmd --list-all   //查看当前区域的所有规则
firewall-cmd --get-service   //查看放行的服务

firewall-cmd --permanent --add-port=90/tcp   //永久放行端口为tcp 90

放行nfs要放行三个服务
firewall-cmd --permanent --add-service=mountd  
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind

管理firewalld

可以通过三种方式来管理firewalld
    使用命令行工具firewall-cmd
    	运行时配置
    	永久时配置  --permanent
	
	使用图形工具firewall-config
    	打开方式applications->sundry->firewall
    
    使用/etc/firewalld/中的配置文件(不建议)

还有个web端的firewall
	cockpit
		systemctl start cockpik    //开启cockpik服务
firewall有两种模式
    runtime临时模式:修改规则马上生效,但如果重启服务则马上失效,测试建议
	permanent持久模式:修改规则后需要reload重载服务才会生效,生产建议

放行规则

firewall-cmd --add-service=http   //默认runtime模式,放行80端口

firewall-cmd --permanent --add-service=http  //permanent模式下放行80端口
firewall-cmd --reload   //需要重启firewall服务

防火墙规则匹配

firewalld会对于一个接收到的请求具体使用哪个zone,firewalld通过三种方式来判断的:

​ 1.source (来源地址)

​ 2.interface (接收请求的网卡)

​ 3.firewalld配置的默认区域(zone)

### 如何在Linux中使用和配置Firewalld防火墙 #### Firewalld基础概念 Firewalld 是 CentOS 7 默认的管理防火墙规则的工具,属于 Linux 防火墙的“用户态”。与传统的 `iptables` 不同的是,Firewalld 提供了更灵活的方式来进行防火墙管理。它引入了 zones 和 services 的概念来简化复杂的网络环境下的安全策略设定[^1]。 #### 安装与启动Firewalld 如果尚未安装 Firewalld,则可以通过包管理器进行安装: ```bash sudo yum install firewalld ``` 启动并启用该服务以确保其随系统一起启动: ```bash sudo systemctl start firewalld sudo systemctl enable firewalld ``` 确认服务正在运行: ```bash sudo systemctl status firewalld ``` #### 基本命令操作 为了查看当前活动的状态以及默认使用的 zone 可执行如下指令: ```bash firewall-cmd --state firewall-cmd --get-default-zone ``` 要获取所有已知区域列表及其详情信息可分别输入以下两条语句之一: ```bash firewall-cmd --get-zones firewall-cmd --list-all-zones ``` 对于特定 Zone 下的服务、端口等资源查询同样简单明了: ```bash firewall-cmd --zone=public --list-services firewall-cmd --zone=public --list-ports ``` #### 添加或移除规则 向指定区域内添加新 IP 地址作为信任源地址的方法如下所示: ```bash firewall-cmd --add-source=192.168.0.0/24 --zone=home ``` 当不再需要这条记录时可通过下面这行代码将其删除掉: ```bash firewall-cmd --remove-source=192.168.0.0/24 --zone=home ``` 同样的逻辑也适用于开放某个端口号或者关闭之: ```bash firewall-cmd --add-port=80/tcp --zone=external firewall-cmd --remove-port=80/tcp --zone=external ``` #### 修改默认Zone及接口关联 更改整个系统的默认工作区只需一条简单的命令即可完成: ```bash firewall-cmd --set-default-zone=work ``` 将某张网卡绑定至不同的分区上则需要用到类似这样的表达方式: ```bash firewall-cmd --change-interface=enp0s3 --zone=internal ``` #### 图形化界面介绍 除了命令行外还有图形化的工具可供选择——即 `firewall-config` 应用程序。此应用的工作界面被划分为多个部分,其中包括但不限于主菜单、配置选项、区域和服务等多个标签页。通过这些组件能够更加直观便捷地管理和调整各项参数设置[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

datacom_chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值