Iptables 防火墙的工作原理

本文涉及的产品
云防火墙,500元 1000GB
简介: Iptables 防火墙的工作原理

简介

设置防火墙是保护任何现代操作系统的必要步骤。大多数 Linux 发行版都附带了几种不同的防火墙工具,您可以使用这些工具来配置防火墙。在本指南中,我们将介绍 iptables 防火墙。


Iptables 是大多数 Linux 发行版默认包含的标准防火墙。它是一个命令行接口,用于操作 Linux 网络堆栈的内核级 netfilter 钩子。它通过将通过网络接口的每个数据包与一组规则进行匹配来决定要执行的操作。


在本指南中,您将了解 Iptables 的工作原理。如果需要更深入的了解,您可以阅读《深入理解 Iptables 和 Netfilter 架构》。

Iptables 的工作原理

首先,让我们回顾一些术语,并讨论 iptables 的工作原理。


Iptables 防火墙通过将网络流量与一组规则进行比较来运行。这些规则定义了网络数据包需要具备的特征以进行匹配,以及匹配数据包时应采取的操作。


有许多选项可以确定哪些数据包与特定规则匹配。您可以匹配数据包的协议类型、源地址或目标地址或端口、正在使用的接口、与先前数据包的关系等。


当定义的模式匹配时,所发生的操作称为目标。目标可以是数据包的最终策略决定,例如 ACCEPTDROP。它还可以将数据包移动到另一个链进行处理,或记录遇到的情况。有许多选项可供选择。


这些规则被组织成称为的组。链是数据包按顺序检查的一组规则。当数据包匹配其中一条规则时,它执行相关的操作并跳过链中剩余的规则。


用户可以根据需要创建链。默认情况下定义了三个链。它们是:

  • INPUT:处理发送到您的服务器的所有数据包的链。
  • OUTPUT:包含您的服务器生成的流量的规则的链。
  • FORWARD:用于处理发送到未在您的服务器上创建的其他服务器的流量的链。这是一种配置服务器以将请求路由到其他机器的方式。

每个链可以包含零个或多个规则,并具有默认的策略。策略确定当数据包通过链中的所有规则并且不匹配任何规则时会发生什么。您可以丢弃数据包,或者如果没有匹配任何规则,则接受数据包。


Iptables 还可以跟踪连接。这意味着您可以创建根据数据包与先前数据包的关系定义的规则。这种能力称为“状态跟踪”、“连接跟踪”或配置“状态机”。

IPv4 与 IPv6

Linux 内核中包含的 netfilter 防火墙将 IPv4 和 IPv6 流量完全分开。用于操作包含防火墙规则集的表的 Iptables 工具也是不同的。如果您的服务器启用了 IPv6,您将需要配置这两个表以处理服务器上的流量。


常规的 iptables 命令用于操作包含管理 IPv4 流量规则的表。对于 IPv6 流量,使用一个名为 ip6tables 的配套命令。您使用 iptables 设置的任何规则将仅影响使用 IPv4 寻址的数据包,但这些命令的语法是相同的。iptables 命令将创建适用于 IPv4 流量的规则,而 ip6tables 命令将创建适用于 IPv6 流量的规则。不要忘记使用您服务器的 IPv6 地址来制定 ip6tables 规则。

需要牢记的事项

现在您知道 iptables 如何引导通过其接口的数据包 - 将数据包定向到适当的链,检查它是否与每个规则匹配,如果找不到匹配项,则执行链的默认策略 - 您可以开始创建规则。


首先,您需要确保如果实施默认丢弃策略,有规则来保持当前连接处于活动状态。如果您通过 SSH 连接到服务器,这一点尤为重要。如果意外实施了一个会中断当前连接的规则或策略,您可能需要使用基于浏览器的恢复控制台登录到服务器。


另一点需要牢记的是每个链中规则的顺序很重要。如果数据包应该匹配更具体的规则,则不应该遇到更一般的规则。


因此,链中靠近顶部的规则应比底部的规则具有更高的特定性。您应该首先匹配特定情况,然后提供更一般的规则以匹配更广泛的模式。如果数据包通过整个链(如果它不匹配任何规则),它将遵循最一般的规则,即默认策略。


因此,链的默认策略强烈决定了链中将包含哪些类型的规则。默认策略为 ACCEPT 的链将包含明确拒绝数据包的规则。默认为 DROP 的链将包含特定接受数据包的例外规则。

结论

到这一步,你已经准备好实现自己的防火墙了。为此,你应该阅读《如何在 Ubuntu 22.04 上使用 Nftables 设置防火墙》。或者,如果你更倾向于采用更高级的方法,可以阅读《如何在 Ubuntu 22.04 上使用 UFW 设置防火墙》。如果你更愿意将防火墙作为托管服务层来运行,你也可以尝试 DigitalOcean 的 Cloud Firewalls。


目录
相关文章
|
安全 Linux 网络安全
百度搜索:蓝易云【linux iptables安全技术与防火墙】
请注意,iptables的具体使用方法和配置选项可能会有所不同,取决于Linux发行版和版本。管理员应该参考相关文档和资源,以了解适用于其特定环境的最佳实践和配置方法。
494 0
百度搜索:蓝易云【linux iptables安全技术与防火墙】
|
网络协议 Linux 网络安全
小白也能看懂的 iptables 防火墙
iptables是Linux中功能最为强大的防火墙软件之一 是一个在 Linux 系统上常用的防火墙工具,用于配置和管理网络数据包过滤规则。它可以通过定义规则集来控制进出系统的网络流量,实现网络安全策略
393 5
|
安全 Linux 网络安全
在Linux中,如何列出和删除 Iptables 防火墙规则?
在Linux中,如何列出和删除 Iptables 防火墙规则?
1219 0
|
3月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
242 73
|
4月前
|
安全 Linux 网络安全
"揭秘网络安全神秘面纱:防火墙基本原理大揭秘,小白也能轻松掌握!"
【8月更文挑战第19天】防火墙是网络防护的关键,像屏障般阻挡未授权访问。对新手而言,其原理可能不易理解。本文通过三个生活化的案例——家庭网络的守护、企业访问控制及防范DDoS攻击,搭配`iptables`示例,轻松阐述防火墙基础。学会这些,即便是初学者也能为网络安全贡献力量。
46 0
|
4月前
|
安全 网络协议 网络安全
入门防火墙基本原理,还是得看这篇!小白一看就懂!
入门防火墙基本原理,还是得看这篇!小白一看就懂!
117 0
|
4月前
|
存储 网络协议 Ubuntu
如何在 Ubuntu 14.04 上使用 Iptables 实现基本防火墙模板
如何在 Ubuntu 14.04 上使用 Iptables 实现基本防火墙模板
56 0
|
7月前
|
网络协议 Linux 网络安全
iptables 与 firewalld 防火墙
iptables 与 firewalld 防火墙
|
安全 Linux 网络安全
百度搜索:蓝易云【服务器安全设置Centos7 防火墙firewall与iptables】
CentOS 7使用的默认防火墙是firewall,它是一种基于Netfilter的用户空间工具,用于管理Linux内核中的iptables规则。为了加强服务器的安全性,可以通过配置CentOS 7防火墙和iptables规则来保护服务器。
143 0
|
7月前
|
机器学习/深度学习 人工智能 运维
Web应用防火墙是什么?分享工作原理及部署建议
Web应用防火墙是什么?分享工作原理及部署建议
169 0