iptables

编辑
本词条由“匿名用户” 建档。
iptables是一个用户空间程序,用于配置Linux内核中防火墙所服务的表(由一组netfilter模块组成)。这些表包含链(chains)和规则(rules)。不同的程序目前用于不同的协议;iptables仅限于IPv4,对于IPv6有ip6tables,对于ARP有arptables,对于ebtables有一个用于以太网帧的特殊组件。 因为iptables需要提升的系统权限,所以它必须以ro...

iptables

编辑

iptables 是一个用户空间程序,用于配置 Linux 内核防火墙服务的表(由一组 netfilter 模块组成)。 这些表包含链(chains)和规则(rules)。 不同的程序目前用于不同的协议; iptables 仅限于 IPv4,对于 IPv6 有 ip6tables,对于 ARP 有 arptables,对于 ebtables 有一个用于以太网帧的特殊组件。

因为 iptables 需要提升的系统权限,所以它必须以 root 身份运行。 在大多数 Linux 系统上,iptables 安装为 /usr/sbin/iptables。 如果已安装,可以使用 man iptables 在手册页中找到文档。

术语 iptables 也经常用于仅描述内核组件。 x_tables 是内核模块的名称,它承载所有四个模块(v4、v6、arp 和 eb)的通用代码,并为 iptables 扩展提供 API。 因此,Xtables 通常意味着整个防火墙基础结构

历史

编辑

Netfilter 和 iptables 最初是一起开发的,所以在早期的开发中有一些重叠。 请参阅 Netfilter 文章。

Linux 从 1.0 版本开始就有一个数据包过滤器。 它最初源自 BSD,并在 Linux 2.0 版中以名称 ipfwadm 进行了扩展。 Rusty Russell 再次修改了数据包过滤器并将其作为 ipchains 提供。 它被集成到 Linux 2.2 中。 1999 年左右,内核和 ipchains 被完全修改。 来自 ipchains 的 iptables,自内核 2.4 以来一直是“内置”的。

iptables 保留了 ipfwadm 最初的核心思想:规则列表,每条规则都指定要在数据包中检查什么,然后如何处理该数据包。 ipchains 引入了链的概念,而 iptables 将其扩展到表。 一张表负责 NAT,另一张表负责过滤。 此外,数据包在其“旅程”中被过滤的三个点已更改,因此每个数据包仅通过一个过滤点。

反过来,这种拆分允许 iptables 使用从连接跟踪子系统收集的信息——这些信息以前与 NAT 相关联。 因此,iptables 比 ipchains 有更多的可能性,因为它还可以xxx连接的状态,重定向它,或者根据状态停止和操作数据包,而不是仅仅通过源地址或目标地址来完成。 满足这些要求的防火墙(如 iptables)被称为有状态的,而 ipchains 只是无状态的,除了非常有限的例外情况。

功能总结

编辑

Iptables 允许系统管理员加载包含处理数据包的规则链的表。 每张桌子都有自己的用途。 数据包通过顺序处理规则沿着链传递。 一个规则可以导致跳转或转到另一个链,并且可以嵌套多次。 (a return 跳转后返回下一条规则。)每个进入或离开计算机网络数据包都至少经过一条链。

数据包的来源决定了从哪个链处理开始。 有五个预定义的链,尽管一个表不一定要有所有链。 预定义的链有一个策略,例如DROP,当数据包到达链的末端(即没有匹配规则)时生效。 可以创建其他用户定义的链,但是这些没有策略; 如果数据包到达终点,处理将在最初触发跳转的链中继续。 允许空链。

iptables

PREROUTING 数据包在做出路由决定之前结束在这个链中。INPUT 数据包在本地传递。FORWARD所有被路由且未在本地传递的数据包都通过此链。OUTPUT由您自己的计算机发送的数据包生成出现在这里.POSTROUTING 路由决定已做出。 数据包在传送到硬件之前再次经过这里。

链中的每个规则都包含它所应用的数据包的规范(匹配项)。 规则还可以包含目标(用于扩展)或判断。 通过链传递数据包iptables 是一个用户空间程序,用于配置 Linux 内核中防火墙所服务的表(由一组 netfilter 模块组成)。 这些表包含链(chains)和规则(rules)。 不同的程序目前用于不同的协议; iptables 仅限于 IPv4,对于 IPv6 有 ip6tables,对于 ARP 有 arptables,对于 ebtables 有一个用于以太网帧的特殊组件。

因为 iptables 需要提升的系统权限,所以它必须以 root 身份运行。 在大多数 Linux 系统上,iptables 安装为 /usr/sbin/iptables。 如果已安装,可以使用 man iptables 在手册页中找到文档。

术语 iptables 也经常用于仅描述内核组件。 x_tables 是内核模块的名称,它承载所有四个模块(v4、v6、arp 和 eb)的通用代码,并为 iptables 扩展提供 API。 因此,Xtables 通常意味着整个防火墙基础结构。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/369950/

(7)
词条目录
  1. iptables
  2. 历史
  3. 功能总结

轻触这里

关闭目录

目录