在当今信息时代,网络已经成为人们工作、学习、生活中不可或缺的一部分。然而,网络环境的便利也给网络安全带来了挑战。恶意攻击、病毒、木马等威胁层出不穷,因此保护系统和网络的安全显得尤为重要。而防火墙作为网络安全的重要组成部分,具有非常重要的作用。在 Linux 系统中,如何设置防火墙规则,保障系统和网络的安全,是每个系统管理员都需要了解和掌握的技能。

Linux 系统中有多种防火墙工具可以使用,比如 iptables、firewalld 等。在本文中,我们将以 iptables 为例,介绍如何在 Linux 系统中设置防火墙规则。
一、iptables 简介
iptables 是 Linux 系统上一个用于配置 IPv4 数据*过包**滤和网络地址转发的工具。它是一个非常强大的防火墙工具,可以实现多种网络安全功能,比如*过包**滤、NAT、端口转发等。通过设置 iptables 规则,可以控制网络数据包的流向,实现网络的安全防护。
二、iptables 的基本概念
1. 链(Chain):链是由一系列规则组成的列表,用于对数据包进行处理。常见的链包括 INPUT、OUTPUT、FORWARD 等。
2. 表(Table):表是一个包含链的列表,每个表对应一个不同的数据包处理功能。常见的表包括 filter、nat、mangle 等。
3. 规则(Rule):规则是定义在链中的一个规则条目,用于控制数据包的处理流程。

三、iptables 基本操作
要使用 iptables 进行防火墙规则设置,需要了解一些基本的操作命令。以下是一些常用的命令:
1. 查看当前规则:可以使用命令 `iptables -L` 或者 `iptables -S` 查看当前的防火墙规则列表。
2. 添加规则:可以使用命令 `iptables -A` 在指定的链中添加一条规则。比如 `iptables -A INPUT -s 192.168.1.0/24 -j DROP` 表示拒绝来自 192.168.1.0/24 子网的数据包。
3. 删除规则:可以使用命令 `iptables -D` 在指定的链中删除一条规则。比如 `iptables -D INPUT -s 192.168.1.0/24 -j DROP` 表示删除拒绝来自 192.168.1.0/24 子网的规则。
4. 保存规则:在使用 iptables 设置规则后,需要将规则保存到文件中,以便系统重启后规则可以自动加载。可以使用 `iptables-save` 命令保存规则,然后将规则导出到文件中。
四、iptables 规则设置实例

以下是一个简单的例子,演示如何使用 iptables 设置基本的防火墙规则。
假设我们需要设置以下几条规则:
1. 允许本地主机访问外部网络。
2. 允许外部网络访问本地主机的 SSH 服务(端口号 22)和 Web 服务(端口号 80)。
3. 拒绝外部网络访问本地主机的其他服务。
首先,我们可以清空当前的所有规则,然后按照上述需求添加规则。具体操作步骤如下:
1. 清空当前规则列表:`iptables -F`
2. 允许本地主机访问外部网络:`iptables -A OUTPUT -j ACCEPT`
3. 允许外部网络访问 SSH 服务:`iptables -A INPUT -p tcp --dport 22 -j ACCEPT`
4. 允许外部网络访问 Web 服务:`iptables -A INPUT -p tcp --dport 80 -j ACCEPT`
5. 其他服务拒绝访问:`iptables -A INPUT -j DROP`
设置完成后,我们可以使用 `iptables -L` 命令查看当前规则列表,确认规则已经生效。
五、iptables 规则持久化
在 Linux 系统中,iptables 规则默认情况下是临时的,系统重启后规则会丢失。因此,需要将规则持久化保存起来,以便系统重启后可以自动加载规则。
针对不同的 Linux 发行版,可以使用不同的方式来实现 iptables 规则持久化。比如在 CentOS/RHEL 系列中,可以使用 `service iptables save` 命令保存规则到 `/etc/sysconfig/iptables` 文件;而在 Ubuntu 等 Debian 系统中,可以使用 `iptables-persistent` 包来实现规则持久化。
最后
欢迎加入我们的嵌入式学习群!作为这个群的一员,你将有机会与嵌入式系统领域的专业人士和爱好者们交流、分享经验和学习资源。群内涵盖了各种嵌入式系统的应用和开发,无论你是初学者还是经验丰富的专业人士,都能在这里找到志同道合的伙伴和有益的互动。无论你是对物联网、智能家居、工业自动化等领域感兴趣,还是希望分享你自己的项目和经验,我们的群都会为你提供一个广阔的交流平台。
更多学习资源在这里:扫码进群领资料
