欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Linux Firewalld 入门及命令使用指南

Linux Firewalld 入门及命令使用指南

2024/10/25 0:34:12 来源:https://blog.csdn.net/weixin_42434700/article/details/142095168  浏览:    关键词:Linux Firewalld 入门及命令使用指南

文章目录

  • Linux Firewalld 入门及命令使用指南
  • Firewalld 的基本概念
    • Zone(区域)
    • 服务和端口
    • 永久与临时规则
  • Firewalld 基本命令
    • 查看 firewalld 状态
    • 查看当前区域
    • 查看某个区域的配置
    • 添加服务到指定区域
    • 删除服务
    • 开放端口
    • 删除端口
    • 重新加载配置
    • 查看所有已打开的端口
    • 启用/禁用 Firewalld
    • 创建和管理自定义区域
      • 创建自定义区域
      • 将接口分配到自定义区域
      • 删除自定义区域
  • Firewalld 高级用法
    • 启用/禁用 IP 转发
    • 设置端口转发
    • 配置富规则(Rich Rules)
    • 防火墙日志记录
  • 总结


Linux Firewalld 入门及命令使用指南

firewalld 是 Linux 上一个动态管理防火墙的工具,提供了比传统 iptables 更简单、更灵活的防火墙管理方式。firewalld 默认使用 zones(区域)的概念来管理网络流量,它允许管理员根据不同的区域进行安全性配置,从而实现更细粒度的网络访问控制。

本指南将介绍 firewalld 的基本概念及其常用命令,帮助你快速掌握该工具的使用方法。

Firewalld 的基本概念

Zone(区域)

Firewalld 使用 zone 来对网络接口进行分区,并为每个区域设置不同的防火墙规则。不同的区域对应不同的安全级别。常见的 zone 有:

  • trusted: 信任所有网络连接。
  • home: 家庭网络,信任大部分网络连接。
  • public: 公共网络,具有较严格的安全规则。
  • block: 丢弃所有传入流量,不返回响应。
  • drop: 丢弃所有流量,无响应,完全静默。

服务和端口

Firewalld 可以根据服务或端口进行防火墙规则的管理。服务包含了一系列预定义的端口和协议,常见的服务如 httphttps 等。

永久与临时规则

Firewalld 提供了两种规则:临时规则和永久规则。临时规则在重启后失效,而永久规则则会保存在配置文件中,重启后依然有效。

Firewalld 基本命令

查看 firewalld 状态

firewall-cmd --state

输出 running 表示防火墙正在运行。
在这里插入图片描述

查看当前区域

firewall-cmd --get-active-zones

输出会显示当前系统中使用的区域以及它们所绑定的网络接口。
在这里插入图片描述

查看某个区域的配置

firewall-cmd --zone=public --list-all

这条命令会列出 public 区域的详细配置,包括开放的端口、允许的服务等。
在这里插入图片描述

添加服务到指定区域

比如要允许 HTTP 服务:

firewall-cmd --zone=public --add-service=http

这条命令会立即生效,但它是临时的。要永久生效,需要添加 --permanent 选项:

firewall-cmd --zone=public --add-service=http --permanent

在这里插入图片描述

删除服务

假如要从 public 区域中移除 HTTP 服务:

firewall-cmd --zone=public --remove-service=http

在这里插入图片描述

开放端口

除了添加服务,你也可以直接通过端口号进行配置。例如,开放端口 8080:

firewall-cmd --zone=public --add-port=8080/tcp

在这里插入图片描述

删除端口

关闭之前开放的 8080 端口:

firewall-cmd --zone=public --remove-port=8080/tcp

重新加载配置

任何永久性的规则更改之后,都需要重新加载防火墙配置才能生效:

firewall-cmd --reload

查看所有已打开的端口

查看当前防火墙规则中已打开的所有端口:

firewall-cmd --list-ports

启用/禁用 Firewalld

启动 firewalld

systemctl start firewalld

禁用 firewalld

systemctl stop firewalld

创建和管理自定义区域

有时你可能需要根据自己的需求创建自定义区域,以管理不同的网络接口或流量类型。

创建自定义区域

firewall-cmd --permanent --new-zone=myzone

将接口分配到自定义区域

firewall-cmd --zone=myzone --change-interface=eth0

删除自定义区域

firewall-cmd --permanent --delete-zone=myzone

Firewalld 高级用法

启用/禁用 IP 转发

IP 转发使得 Linux 系统可以作为路由器工作。启用 IP 转发:

firewall-cmd --add-masquerade

禁用 IP 转发:

firewall-cmd --remove-masquerade

设置端口转发

Firewalld 允许你配置端口转发,比如将外部的 80 端口流量转发到内部服务器的 8080 端口:

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

配置富规则(Rich Rules)

富规则允许你定义更复杂的规则,例如基于源 IP 地址的流量控制:

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' service name='ssh' accept"

防火墙日志记录

Firewalld 支持日志记录功能,开启日志功能可以帮助你监控防火墙的运行情况:

firewall-cmd --set-log-denied=all

总结

firewalld 提供了动态、区域化的防火墙管理机制,用户可以通过简单的命令实现复杂的防火墙配置。无论是管理服务、端口还是设置端口转发,firewalld 都能提供强大的功能。结合永久规则和临时规则,你可以在生产环境和开发环境中灵活管理 Linux 系统的网络访问控制。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com