【Linux系列】Linux 防火墙的详细学习

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

        • [1. 防火墙基础概念](#1. 防火墙基础概念)
        • [2. Netfilter 和 iptables](#2. Netfilter 和 iptables)
        • [3. firewalld 介绍](#3. firewalld 介绍)
        • [4. 防火墙的配置方法](#4. 防火墙的配置方法)
          • [4.1 iptables 配置](#4.1 iptables 配置)
          • [4.2 firewalld 配置](#4.2 firewalld 配置)
        • [5. 实用技巧与注意事项](#5. 实用技巧与注意事项)

Linux 防火墙是保护系统免受未授权访问的关键工具,它通过一系列的规则控制数据包的流入、流出及转发行为。

1. 防火墙基础概念

防火墙是操作系统用于保护网络安全的核心组件。它通过设置规则,允许或拒绝网络数据包的传输。Linux 防火墙基于 Netfilter 框架实现,并提供两类主要工具:iptables现代封装工具firewalldUFW

2. Netfilter 和 iptables

Netfilter 是 Linux 2.4.x 之后新一代的 Linux 防火墙机制,是 linux 内核的一个子系统。它采用模块化设计,具有良好的可扩充性,提供扩展各种网络服务的结构化底层框架。Netfilter 与 IP 协议栈是无缝契合,并允许对数据报进行过滤、地址转换、处理等操作。

iptables 是由软件包 iptables 提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往 netfilter,告诉内核如何去处理信息包。

3. firewalld 介绍

firewalld 是 CentOS 默认的防火墙工具,它基于区域(zone)管理规则,可以动态修改防火墙配置,适合现代化的网络管理。firewalld 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具,支持 IPv4、IPv6 防火墙设置以及以太网桥。

4. 防火墙的配置方法
4.1 iptables 配置

iptables 的规则由四部分组成:链(如 INPUT, OUTPUT, FORWARD),条件(如:-p tcp --dport 80),以及动作(如:ACCEPT, DROP)。例如,允许所有进入 80 端口(HTTP 服务)的连接的规则如下:

bash 复制代码
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

保存规则并重启 iptables 服务:

bash 复制代码
sudo iptables-save > /etc/iptables/rules.v4
sudo systemctl restart iptables
4.2 firewalld 配置

firewalld 的使用更加直观。首先,确保 firewalld 服务正在运行:

bash 复制代码
sudo systemctl start firewalld
sudo systemctl enable firewalld

开放端口:

bash 复制代码
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
5. 实用技巧与注意事项
  • 定期检查和更新防火墙规则,以应对新出现的威胁和漏洞。
  • 理解不同区域(zone)和服务(service)的概念,以便更灵活地配置防火墙。
  • 使用 ufw 可以简化防火墙的配置过程,特别是在 Ubuntu/Debian 系统上。

觉得有用的话点个赞 👍🏻 呗。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

相关推荐
try2find28 分钟前
移动conda虚拟环境的安装目录
linux·运维·conda
码农101号1 小时前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
金色光环1 小时前
【Modbus学习笔记】stm32实现Modbus
笔记·stm32·学习
PanZonghui1 小时前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
THMOM911 小时前
TinyWebserver学习(9)-HTTP
网络协议·学习·http
PanZonghui1 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui1 小时前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui1 小时前
Centos项目部署之Java安装与配置
java·linux
程序员弘羽1 小时前
Linux进程管理:从基础到实战
linux·运维·服务器
PanZonghui2 小时前
Centos项目部署之常用操作命令
linux