【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 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

相关推荐
柳鲲鹏40 分钟前
交叉编译:strip: Unable to recognise the format of the input file xx.c.o
linux·运维·服务器
六六六六六666640 分钟前
Ubuntu22.04安装Ibus的中文输入法
linux
kunge1v544 分钟前
学习爬虫第三天:数据提取
前端·爬虫·python·学习
冬夜戏雪1 小时前
[学习日记][springboot 1-7][leetcode 6道]
java·开发语言·学习
趣味编程1111 小时前
go的学习2---》并发编程
学习·golang·perl
Le1Yu1 小时前
微服务拆分以及注册中心
linux·运维·服务器
code_ing-1 小时前
【Linux】Linux基本指令
linux·笔记
zzzsde1 小时前
【Linux】linux基础指令入门(1)
linux·运维·学习
_hermit:1 小时前
【从零开始java学习|第二十二篇】集合进阶之collection
java·学习
moxiaoran57532 小时前
nginx中proxy_pass配置
运维·服务器·nginx