Linux:防火墙设置操作
创始人
2025-05-28 13:20:30
0

目录

  • 防火墙介绍
  • zones
  • 预定义服务
  • firewalld启动与停止
  • 查看firewalld当前状态和设置
  • 使⽤ CLI 查看 firewalld 设置
  • firewalld控制流量
    • 使⽤ CLI 禁⽤紧急事件的所有流量
    • 使⽤ CLI 控制预定义服务的流量
  • 使⽤ CLI 控制端⼝
    • 打开端口
    • 关闭端口
  • 使用 firewalld 区
    • 更改特定区的 firewalld 设置
    • 更改默认区
    • 将网络接口分配给区
    • 创建⼀个新区
    • 使⽤区⽬标设定传⼊流量的默认⾏为

防火墙介绍

防⽕墙是保护机器不受来⾃外部的、不需要的⽹络数据的⼀种⽅式。它允许⽤⼾通过定义⼀组防
⽕墙规则来控制主机上的⼊站⽹络流量。这些规则⽤于对进⼊的流量进⾏排序,并可以阻断或允
许流量。

firewalld 是⼀个防⽕墙服务守护进程

firewalld 使⽤区和服务的概念来简化流量管理。
----zones 是预定义的规则集。⽹络接⼝和源可以分配给区。允许的流量取决于您计算机连接到的⽹络,并分配了这个⽹络的安全级别。
----防⽕墙服务是预定义的规则,覆盖了允许特定服务进⼊流量的所有必要设置,并在区中应⽤。
服务使⽤⼀个或多个端⼝或地址进⾏⽹络通信。防⽕墙会根据端⼝过滤通讯。要允许服务的⽹络
流量,必须打开其端⼝。 firewalld 会阻⽌未明确设置为打开的端⼝的所有流量。⼀些区
(如可信区)默认允许所有流量。

在这里插入图片描述

zones

可以根据⽤⼾对该⽹络中的接⼝和流量设置的信任程度,使⽤ firewalld 来将⽹络划分为
不同的区。⼀个连接只能是⼀个区的⼀部分,但⼀个区可以被⽤来进⾏很多⽹络连接。

已经存在的预定义的区存储在 /usr/lib/firewalld/zones/ 文件中

[redhat@bogon ansible]$ ll /usr/lib/firewalld/zones/
total 44
-rw-r--r--. 1 root root 299 Jul 30  2021 block.xml
-rw-r--r--. 1 root root 293 Jul 30  2021 dmz.xml
-rw-r--r--. 1 root root 291 Jul 30  2021 drop.xml
-rw-r--r--. 1 root root 304 Jul 30  2021 external.xml
-rw-r--r--. 1 root root 397 Jul 30  2021 home.xml
-rw-r--r--. 1 root root 412 Jul 30  2021 internal.xml
-rw-r--r--. 1 root root 809 Nov 27  2019 libvirt.xml
-rw-r--r--. 1 root root 729 Aug 18  2021 nm-shared.xml
-rw-r--r--. 1 root root 343 Jul 30  2021 public.xml
-rw-r--r--. 1 root root 162 Jul 30  2021 trusted.xml
-rw-r--r--. 1 root root 339 Jul 30  2021 work.xml各个文件介绍
block.xml 任何传⼊的⽹络连接都会被拒绝 ,只有从系统启动的⽹络连接才能进⾏。
dmz.xml 对于您的⾮企业化区⾥的计算机来说,这些计算机可以被公开访问,且有限访问您的内部⽹络。只接受所选的⼊站连接。
drop.xml 所有传⼊的⽹络数据包都会丢失,没有任何通知。只有外发⽹络连接也是可⾏的。
external 适⽤于启⽤了伪装的外部⽹络,特别是路由器。您不信任⽹络中的其他计算机不会损害您的计算机。只接受所选的⼊站连接。
home.xml ⽤于家⽤,因为您可以信任其他计算机。只接受所选的⼊站连接。
internal.xml 当您主要信任⽹络中的其他计算机时,供内部⽹络使⽤。只接受所选的⼊站连接。
public.xml 可⽤于您不信任⽹络中其他计算机的公共区域。只接受所选的⼊站连接
trusted.xml 所有⽹络连接都被接受。
work.xml 可⽤于您主要信任⽹络中其他计算机的⼯作。只接受所选的⼊站连接。

安装防火墙时,默认在public区域

预定义服务

服务可以是本地端⼝、协议、源端⼝和⽬的地列表,并在启⽤了服务时⾃动载⼊防⽕墙帮助程序
模块列表。使⽤服务可节省⽤⼾时间,因为它们可以完成⼀些任务,如打开端⼝、定义协议、启
⽤数据包转发等等,⽽不必在另外的步骤中设置所有任务。

服务配置选项和通⽤⽂件信息在 firewalld.service(5) ⼿册⻚中进⾏了描述。
可 使 ⽤ 图 形 化 的 firewall-config ⼯ 具 、 firewall-cmd 和 firewall-offline-cmd来添加和删除服务。

或者可以在 /etc/firewalld/services/ 目录中编辑xml 文件,如果⽤⼾没有添加或更改服务,则在 /etc/firewalld/services/ 中找不到相应的xml文件,如果要添加或更改服务,/usr/lib/firewalld/services/文件可以作为参考

firewalld启动与停止

请在root身份下进行启动停止操作

开启
systemctl unmask firewalld   
systemctl start firewalld关闭
systemctl stop firewalld
systemctl disable firewalldunmask: 将不标记 firewalld 服务  ,如果为 mask 无论怎么都不启动防火墙
stop: 停止防火墙,重新启动系统时还是会重新启动防护墙
disable: 在系统重新启动时也不启动防火墙

查看firewalld当前状态和设置

firewarll-cmd	--state      显示状态
systemctl status firewalld.service   更详细的

使⽤ CLI 查看 firewalld 设置

firewalld 使⽤区来管理流量。如果没有通过 --zone 指定区域,则 该命令会将其分配到默认的区域

列出默认区所以相关信息
firewall-cmd --list-all
列出指定区域的相关信息
firewall-cmd --list-all --zone=block
查看帮助信息
irewall-cmd --help

firewalld控制流量

firewalld 软件包安装⼤量预定义的服务⽂件,您可以添加更多或⾃定义它们。然后,您可以使⽤这些服务定义为服务打开或关闭端⼝,⽽⽆需了解这些服务使⽤的协议和端⼝号。

使⽤ CLI 禁⽤紧急事件的所有流量

1,要⽴即禁⽤⽹络流量,请切换 panic 模式:
启⽤ panic 模式可停⽌所有⽹络流量。因此,只有当您具有对机器的物理访问权限或使⽤串⾏控制台登录时,才应使⽤它。

firewall-cmd --panic-on

使⽤ CLI 控制预定义服务的流量

控制流量的最简单的⽅法是在 firewalld 中添加预定义的服务,这会打开所有必需的端⼝并根据 服务定义⽂件 修改其他设置。

列出被添加的服务
firewall-cmd --list-services 
列出所有的预定义服务
firewall-cmd --get-services
在允许的服务中添加服务
firewall-cmd --add-service=http   默认在默认区域添加,但是重载后该服务就会不见,需要重新添加
永久添加这个服务
firewall-cmd --add-service=http --permanent      重载后也不会不见

使⽤ CLI 控制端⼝

端⼝是可让操作系统接收和区分⽹络流量并将其转发到系统服务的逻辑设备。它们通常由侦听端⼝的守护进程来表⽰,它会等待到达这个端⼝的任何流量。

通常,系统服务侦听为它们保留的标准端⼝。例如, httpd 守护进程监听 80 端⼝。但默认情况下,系统管理员会将守护进程配置为在不同端⼝上侦听以便增强安全性或出于其他原因。

打开端口

通过打开端⼝,系统可从外部访问,这代表了安全⻛险。通常,让端⼝保持关闭,且只在某些服务需要时才打开。

列出所有允许的端口
firewall-cmd --list-ports
在允许的端⼝中添加⼀个端⼝,以便为⼊站流量打开这个端⼝
firewall-cmd --add-port=80/tcp 添加80端口,类型为tcp

端⼝类型为 tcp,udp ,sctp,dccp 这个类型必须与⽹络通信的类型匹配

关闭端口

当打开的端⼝不再需要时,在 firewalld 中关闭此端⼝。强烈建议您尽快关闭所有不必要的端⼝,因为端⼝处于打开状态会存在安全隐患。

从允许的端口中删除端口,以便对传⼊的流量关闭
firewall-cmd --remove-port=80/tcp

使用 firewalld 区

zones 代表⼀种更透明管理传⼊流量的概念。这些区域连接到联⽹接⼝或者分配⼀系列源地址。您可以独⽴为每个区管理防⽕墙规则,这样就可以定义复杂的防⽕墙设置并将其应⽤到流量。

列出系统中可用的区域
firewall-cmd --get-zones
查看所有系统中可用区的详细信息:
firewall-cmd --list-all-zones 

更改特定区的 firewalld 设置

例如,要允许在区public 中使⽤ SSH 服务
firewall-cmd --add-service=ssh --zone=public

更改默认区

系统管理员在其配置⽂件中为⽹络接⼝分配区域。如果接⼝没有被分配给指定区,它将被分配给默认区。每次重启 firewalld 服务后,firewalld 会加载默认区的设置,并使其处于活动状态。

当系统的前默认区
firewall-cmd --get-default-zone
设置默认区为home区
firewall-cmd --set-default-zone home

将网络接口分配给区

列出活跃区以及分配给它们的接⼝

[root@bogon ~]# firewall-cmd --get-active-zones
publicinterfaces: ens160

使用nmcli 命令为连接分配区域

nmcli connection modify ens160 connection.zone public     分配到public区

创建⼀个新区

要使⽤⾃定义区,创建⼀个新的区并使⽤它像预定义区⼀样。新区需要 --permanent 选项,否则命令⽆法正常⼯作。

例:创建⼀个新区testzone

 [root@bogon ~]# firewall-cmd --new-zone=testzone --permanent [root@bogon ~]# firewall-cmd --reload success [root@bogon ~]# firewall-cmd --get-zonesblock dmz drop external home internal libvirt nm-shared public testzone trusted work

可在文件 /etc/firewalld/zones/ 中看到新建的区

使⽤区⽬标设定传⼊流量的默认⾏为

对于每个区,您可以设置⼀种处理尚未进⼀步指定的传⼊流量的默认⾏为。此⾏为是通过设置区的⽬标来定义的。有四个选项:

ACCEPT :接受除特定规则不允许的所有传⼊的数据包。

REJECT :拒绝所有传⼊的数据包,但特定规则允许的数据包除外。当firewalld 拒绝数据包时,源 机器会发出有关拒绝的信息。

**DROP 😗*除⾮由特定规则允许,丢弃所有传⼊数据包。当firewalld 丢弃数据包时,源 机器不会发出有关丢弃的信息。

**default 😗*与 REJECT 的⾏为类似,但在某些情况下有特殊含义。详情请查看 firewalld-cmd(1)man page 中的 Options to Adapt and Query Zones and Policies 部分。

列出特定区的信息以查看默认⽬标:

[root@bogon ~]# firewall-cmd --zone=public --list-all 
public (active)target: defaulticmp-block-inversion: nointerfaces: ens160sources: services: cockpit dhcpv6-client http sshports: protocols: forward: nomasquerade: noforward-ports: source-ports: icmp-blocks: rich rules: 给区设定新的目标
firewall-cmd --permanent --zone=public --set-target=ACCEPT

相关内容

热门资讯

一创投行领罚1698万背后:2... 本文来源:时代周报 作者:特约记者 井爽又有券商收到监管罚单。2025年12月24日,江苏证监局披露...
男子网购2.4公斤银条迟迟未发... 新年伊始,回顾2025年全球资产年度盘点,白银堪称亮眼。2025年,现货白银价格从年初约29美元/盎...
丢掉幻想 美西方见不得一个统一... 自解放军围台岛演习以来,外界蝇声蛙噪不绝于耳。眼见“小弟”们着急上火,美国国务院终于坐不住了,跳出来...
新年首个交易日美股涨跌互现:中... 2026.01.03本文字数:1488,阅读时长大约3分钟作者 |第一财经2日,美股涨跌不一。截至收...
港股开门红,这板块又火了 //港股开门红 //1月2日,新年首个交易日,港股小幅高开后走高。恒生科技指数一度涨超4%,迎来“...
23亿天价索赔背后:极氪与欣旺... 《投资者网》引线 | 吴微2025年12月,欣旺达(300207.SZ)发布的一则公告,揭开了中国新...
拿什么来拯救房地产? 文:泽平宏观团队现在社会上对地产有两种声音争论激烈:一边是“彻底没救派”,认为泡沫破灭、颓势难逆;另...
美股收盘: 科技题材开年大狂欢... 财联社1月3日讯(编辑 史正丞)2026年的第一个交易日,虽然三大股指的收盘波动看上去颇为平静,但诸...
罗博特科:不存在被英伟达、台积... 6月10日消息,罗博特科在互动平台表示,公司目前经营正常,不存在传言中所说被英伟达、台积电、华为、s...
月入数万元,年轻人把「梗」做成... 「核心提示」2元的“哈基米”豆浆,为何能撬动涨停板?解码“抽象经济”的流量魔力。作者 |高泽邢昀如果...